一:优化思路 (1)建立socket连接 (2)打开文件,并沿socket返回。二:优化 (1) 修改nginx.conf 进程数量 默认是1024 改成20140 worker_rlimit_nofile 10000;
(2)修改最大连接数 somaxconn
默认打开128个文件 :more /proc/sys/net/core/somaxconn
修改:echo 50000 > /proc/sys/net/core/somaxconn
(3)加快tcp连接的回收
tcp的回收,默认是0:cat /proc/sys/net/ipv4/tcp_tw_recycle
修改加快tcp回收:echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
(4)修改成不做洪水抵遇
默认值是1: more /proc/sys/net/ipv4/tcp_syncookies
修改:echo 0 > /proc/sys/net/ipv4/tcp_syncookies
(5)修改nginx.conf注释
keepalive_timeout 65;
(6)ab -c 10000 -n 500000 http://127.0.0.1/index.html
(7)如果有失败查看错误日志
tail nginx.log
如果日志中出现:cket: Too many open files (24)
超过1024个线程 出现错误,说打开文件太多了。
查看支持多少个线程:ulimit -n 一般默认是1024个 最大65535
修改: ulimit -n 20000 再次查看那么就是 20000
时间: 2024-10-08 08:04:59