《云上大型赛事保障白皮书》——第三章 压测调优与技术演练——3.1 云上大型赛事压测调优——3.1.3 云上大型赛事系统调优(2): https://developer.aliyun.com/article/1226610?groupCode=supportservice
3.1.3.2.2 Tomcat配置调整
使用Tomcat做为Web服务器时的通用调整。
配置文件:server.xml 中 acceptCount="4096",重启tomcat生效。
验证backlog设置是否生效的方法:执行ss-tanl,找到业务进程监听的端口行,Send-Q列为当前生效的backlog值调整完之后应为4096,具体tomcat应用可以从下图的监听端口判断:
图:Tomcat配置之backlog 检查
3.1.3.2.3 Nginx配置调整
如果用NGINX做反向代理,到upstream需要调整为长连接,(短连接在大并发时会引起各种问题),nginx.conf配置文件如下。
http { upstream my_upstream { keepalive 1024; //保持的长连接数量,按需调整 server XXX; } server { ... # upstream使用长连接 location /keepalive { proxy_pass http://my_upstream; proxy_http_version 1.1; // proxy_pass模块默认使用HTTP/1.0,要显示指定1.1 proxy_set_header Connection ""; ... } } 其他nginx.conf配置 worker_connections 调整为 10240 worker_processes 调整为 auto worker_rlimit_nofile 调整为 102400 重启nginx:systemctl restart nginx生效
3.1.3.2.4 操作系统参数
开启网卡多队列。单个vCPU处理网络中断存在性能瓶颈时,可以将系统中的网络中断分散给不同的vCPU处理,从而提升性能。
网卡多队列是一种技术手段,可以解决网络I/O带宽QoS(Qualityfof Service)问题。网卡多队列驱动将各个队列通过中断绑定到不同的核上,从而解决网络I/O带宽升高时单核CPU的处理瓶颈,提升网络PPS和带宽性能。经测试,在相同的网络PPS和网络带宽的条件下,与1个队列相比,2个队列最多可提升性能达50%到100%,4个队列的性能提升更大。
3.1.3.2.5 信息收集方法
内核参数列表:sysctl -a > sysctl_conf.log
nginx配置文件默认为/etc/nginx.conf以及/etc/nginx/conf.d/下所有配置文件,如非标准安装应可在具体安装目录下寻找。
Tomcat配置文件默认为server.xml web.xml context.xml log4j.properties tom-
cat.conf,如非标准安装应可在具体安装目录下寻找。