某项目10
一.测试问题:
1.tps压不去,每个测试接口tps在500左右,且tps波动很大,web,db服务器无压力。
2.压力机压时出现内存占用100%。
3.报大量502错误。
4.ps有触底现象。
5.测试环境中无“CND”环境。
二.解决:
2.1.修改应用配置参数如下:
1.nginx.worker_processes=8,修改nginx.worker_processes=2 (因为web服务器只有4核,发现设置2后比4cpu利用率更高)。
2.设置keep-alive =on ,且设置nginx.keepalive_timeout=30s。
3.php-fpm.max_children=50,设置成php-fpm.max_children=150。 (解决了报502bad网关错误)
4.经过检查发现web开启了防火墙,建议关闭。 (解决了tps触底现象)
5.测试时建议与生产环境相同,重新搭建含有“CND”测试环境。
6.Php连mysql全是长连接,建议修改为短连接。
2.2.修改系统配置参数:
sysctl -w net.ipv4.tcp_tw_recycle = 1
sysctl -w net.ipv4.tcp_tw_reuse = 1
sysctl -w net.ipv4.tcp_synack_retries=2
sysctl -w net.ipv4.tcp_syn_retries=2
sysctl -w net.ipv4.tcp_fin_timeout=30
三.修改mysql参数:
1.innodb_buffer_pool_size由1048576修改 2147483648 (db有8G内存,修改后平均每个接口TPS提高100左右)
2.innodb_flush_method= 修改成innodb_flush_method=O_DIRECT
3.innodb_flush_log_at_trx_commit= 修改成innodb_flush_log_at_trx_commit=2
innodb_log_files_in_group = 3
innodb_additional_mem_pool_size=16
结果:经过以上数据参数调整后,发现各tps比原来提高了3倍,且运行稳定。
阅读(1448) | 评论(0) | 转发(0) |