Nginx使用Linux内存加速静态文件访问
浏览:4014次 出处信息
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并发分别进行压力测试。
测试结果:
- 在高并发下全部使用磁盘文件200人并发 2分钟 平均每次事务响应时间为19.96秒 每秒处理事务数为9.26个
使用内存200人并发 2分钟 平均每次事务响应时间为11.3秒 每秒处理事务数为15.8个 - 在低并发下全部使用磁盘文件100人并发 2分钟 平均每次事务响应时间为10.27秒 每秒处理事务数为9.32个
使用内存100人并发 2分钟 平均每次事务响应时间为5.84秒 每秒处理事务数为16.17个
建议继续学习:
- 配置Nginx+uwsgi更方便地部署python应用 (阅读:105193)
- 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (阅读:32339)
- 解析nginx负载均衡 (阅读:14029)
- Nginx模块开发入门 (阅读:9593)
- 检查nginx配置,重载配置以及重启的方法 (阅读:8794)
- Cacti 添加 Nginx 监控 (阅读:8715)
- Nginx+FastCgi+Php 的工作机制 (阅读:8633)
- nginx的配置文件 (阅读:8585)
- 奇怪的 Nginx 的 upstream timed out 引起响应 502 (阅读:7550)
- 解决IE6从Nginx服务器下载图片不Cache的Bug (阅读:6959)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:一个检查偶发连接失败的脚本
后一篇:xen虚拟机的迁移类型 >>
文章信息
- 作者:Elton 来源: Elton's Blog
- 标签: Nginx
- 发布时间:2012-05-17 23:51:28
建议继续学习
近3天十大热文
- [261] 招聘技巧一二
- [14] linux内核研究笔记(一)内存管理 – p
- [13] 个人开公司的流程,以后用得着
- [13] Linux常用系统信息查看命令
- [13] 我对技术方向的一些反思
- [12] 在FreeNAS/BSD搭建基于Nginx+
- [12] Linux(Ubuntu 10.04)上安装
- [12] Nginx+FastCgi+Php 的工作机
- [12] ps - 按进程消耗内存多少排序
- [11] Redis和Memcached的区别