编程技术分享平台

网站首页 > 技术教程 正文

Nginx使用Linux内存加速静态文件访问

xnh888 2024-09-12 22:24:32 技术教程 43 ℃ 0 评论

Nginx是一个非常出色的静态资源web服务器。如果你嫌它还不够快,可以把放在磁盘中的文件,映射到内存中,减少高并发下的磁盘IO。

先做几个假设。nginx.conf中所配置站点的路径是/home/wwwroot/res,站点所对应文件原始存储路径:/opt/web/res

shell脚本非常简单,思路就是拷贝资源文件到内存中,然后在把网站的静态文件链接指向到内存中即可。具体如下:

#! /bin/bash

res_path="/opt/web/res"

mem_path="/dev/shm/res"

lk_path="/home/wwwroot/res"

if [ ! -d "$mem_path" ]; then

cp -r "$res_path" "$mem_path"

fi

if [ ! -L "$lk_path" ]; then

ln -s "$mem_path" "$lk_path"

fi

===================

更新测试数据

利用上述方法,在公司的测试服务器上做了个测试,速度提升明显,速度几乎翻倍。

测试前提:将测试网站的首页全部内容包括html,图片,js,css等所有元素都拷贝到内存中,并且每次用户请求静态资源文件都不会缓存。使用LoadRunner按照200和100并发分别进行压力测试。

测试结果:

  1. 在高并发下全部使用磁盘文件200人并发 2分钟 平均每次事务响应时间为19.96秒 每秒处理事务数为9.26个
  2. 使用内存200人并发 2分钟 平均每次事务响应时间为11.3秒 每秒处理事务数为15.8个
  3. 在低并发下全部使用磁盘文件100人并发 2分钟 平均每次事务响应时间为10.27秒 每秒处理事务数为9.32个
  4. 使用内存100人并发 2分钟 平均每次事务响应时间为5.84秒 每秒处理事务数为16.17个

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表