微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nginx服务静态文件的方式太慢了

我在Stack Overflow上问过这个问题,但对于SF工作人员来说,这可能更像一个问题.

因此最近有很多文章this one,与轻型前端Web服务器结合使用时,颂扬Django静态生成器的优点.这对我来说很有意义.

但是,我没有得到其他人报告的结果 – 每秒数千个请求 – 我不知道为什么会这样.

我正准备对我的报纸网站进行重新设计.我现在在测试服务器上使用静态生成器.当我在特定的静态页面上运行Apache Bench时,我得到了相当悲惨的结果:

ab -c 10 -n 1000 http://journal.streamlister.com/news/

Concurrency Level:      10
Time taken for tests:   53.011 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      21281212 bytes
HTML transferred:       21067360 bytes
Requests per second:    18.86 [#/sec] (mean)
Time per request:       530.107 [ms] (mean)
Time per request:       53.011 [ms] (mean,across all concurrent requests)
Transfer rate:          392.04 [Kbytes/sec] received

当围攻开启的时候我在服务器上看顶部,我可以看到它根本没有击中Apache或数据库服务器.事实上,它正在为缓存页面提供服务. Nginx正在运行,但它永远不会超过2%的内存使用量. cpu保持闲置约95%.

我究竟做错了什么?我能以某种方式错误配置Nginx吗?我的主配置文件粘贴在下面;这个网站特有的包含几乎是Static Generator home page上的示例配置的副本.我在Slicehost 256k切片上运行Ubuntu 9.10.

user not_my_real_username;
worker_processes  4;
error_log  /var/log/Nginx/error.log;
pid        /var/run/Nginx.pid;
events {
    worker_connections  8192;
}
http {
    include       /etc/Nginx/mime.types;
    default_type  application/octet-stream;
    access_log  /var/log/Nginx/access.log;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  0;
    #keepalive_timeout  65;
    tcp_nodelay        on;
    gzip  on;
    include /etc/Nginx/conf.d/*.conf;
    include /etc/Nginx/sites-enabled/*;
}
最佳答案
您可以增加Nginx性能,只需在config添加一个选项:

   http {

      open_file_cache max=1000 inactive=300s;
      open_file_cache_valid 360s;
      open_file_cache_min_uses 2;
      open_file_cache_errors off;

    }

原文地址:https://www.jb51.cc/nginx/435607.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐