RSS
 

重负荷nginx的几个关键配置参数

15

不知不觉网站PV就爆发了。nginx压力越来越大,一些默认参数就显得不够用了。

我们的主服务器硬件配置非常健壮(双路至强5620 + 48GB内存 + SSD),理论上可以承受每天过500万的PV,当然,前提是优化得够好。

简单罗列一下优化过的几个参数:

  1. ulimit -n 65535这个参数位于/etc/default/nginx 中,或者/etc/init.d/nginx 文件中直接设置。

    默认是1024,意思是最多打开的文件个数。1024怎么够,至少开到8192,网上很多文章都直接开到了65535。

  2. worker_processes 8;
    worker数量,位于nginx.conf头部,一般来说有几个cpu核心开几个,不算超线程。
  3. worker_rlimit_nofile  65535;
    位于nginx.conf头部,也是文件数量限制,直接开大吧。
  4. worker_connections 4096;
    位于nginx.conf中,默认是1024,也不够。
  5. 另外,建议编译nginx的时候顺带编译status模块,以便监视性能。

    location /status/ {
    stub_status on;
    }

小小炫耀一下服务器的status参数,想当年刚用nginx的时候,Writing参数不是0就是1,现在已经这么大了:

Active connections: 2140
server accepts handled requests
 14727928 14727602 24524267
Reading: 92 Writing: 28 Waiting: 2020

Related posts:

  1. nginx+php5-fpm在ubuntu10.04中的安装配置方法
  2. 用nginx的XSendfile特性,加速wordpress MU的附件访问速度
 
 

Tags: , , ,

  • Halfbloodrock

    ulimit 这个参数的设置应该是在/etc/security/limit.conf和 /etc/pam.d/login

    这样更安全。对每个用户的ulimit控制的更好。

    同时,据我个人经验,也不是开的越大越好,这个与硬件处理能力有关。