近期在搞一个项目,1小时访问量达到了1万左右,在没有做Nginx集群的情况下,单Nginx遇到了瓶颈,经过了配置优化以及系统里面的内核的优化,成功使用单Nginx顶住了高访问量,配置如下:
1.修改Linux内核链接数参数
echo 2048 >> /proc/sys/net/core/somaxconn #这样只是写进去了重启后保存不了
在/etc/sysctl.conf中添加如下
vi /etc/sysctl.conf
net.core.somaxconn = 2048#添加该行
然后在终端中执行
sysctl -p
2.修改Nginx配置文件
server
{
listen 80 backlog=2048;这个值不能高于内核握手数
3.Nginx指定CPU
修改Nginx.conf文件
worker_processes 8;#8核处理器
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000;#8核情况强制分配核数
worker_rlimit_nofile 204800;#
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 256k;
fastcgi_buffers 4 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 512k;
fastcgi_intercept_errors on;