技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统运维 --> Nginx使用Linux内存加速静态文件访问

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

浏览:4078次  出处信息

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
#! /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个
    使用内存200人并发 2分钟 平均每次事务响应时间为11.3秒 每秒处理事务数为15.8个
  2. 在低并发下全部使用磁盘文件100人并发 2分钟 平均每次事务响应时间为10.27秒 每秒处理事务数为9.32个
    使用内存100人并发 2分钟 平均每次事务响应时间为5.84秒 每秒处理事务数为16.17个

建议继续学习:

  1. 配置Nginx+uwsgi更方便地部署python应用    (阅读:105403)
  2. 搜狐闪电邮箱的 Nginx/Postfix 使用模式    (阅读:32528)
  3. 解析nginx负载均衡    (阅读:14510)
  4. Nginx模块开发入门    (阅读:9872)
  5. 检查nginx配置,重载配置以及重启的方法    (阅读:9097)
  6. Cacti 添加 Nginx 监控    (阅读:8921)
  7. Nginx+FastCgi+Php 的工作机制    (阅读:8855)
  8. nginx的配置文件    (阅读:8823)
  9. 奇怪的 Nginx 的 upstream timed out 引起响应 502    (阅读:8145)
  10. 解决IE6从Nginx服务器下载图片不Cache的Bug    (阅读:7101)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1