以下为nginx基本配置中nginx.conf中增加或调整的参数,
经测试 10000并发连接,10秒的页面请求时间,调整后的配置比调整前配置性能(每秒页面请求数)提高12%
#2*CPU核数
worker_processes 8;
#使用tcmalloc作为每个worker内存池的申请和释放
google_perftools_profiles /tmp/tcmalloc;
#每个worker文件描述符(FD)大最大值
worker_rlimit_nofile 51200;
#linux使用epoll作为文件描述符(FD)的多路复用,freebsd使用kqueue,linux也可使用kqueue,根据测试会比
#epoll性能差10倍
use epoll;
#每个worker连接的最大值
worker_connections 51200;
#多个虚拟主机存入hash表中,该参数指定hash bucket大小,影响虚拟主机名的查找
server_names_hash_bucket_size 128;
#以下参数控制nginx读取headers(如request header)使用的内存大小,如过小则出现400错误
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
#使用sendfile 系统调用,提升文件传输性能,直接使用kernel缓冲区,不使用用户缓冲区
sendfile on;
#和tcp_nodelay一起,控制sendfile的行为,使用nagle算法,减少tcp无用负载的发送
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 60;
tcp_nodelay on;
#解决bad gateway 502错误
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
#使用多大的缓冲区读取fastCGI应答头,可以随内存增大而增加
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
#使用gzip压缩,减少网络负载
gzip on;
阅读(619) | 评论(0) | 转发(0) |