Chinaunix首页 | 论坛 | 博客
  • 博客访问: 670737
  • 博文数量: 53
  • 博客积分: 830
  • 博客等级: 准尉
  • 技术积分: 1089
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-31 18:23
文章存档

2019年(1)

2018年(1)

2016年(1)

2015年(1)

2014年(12)

2013年(4)

2012年(33)

分类: LINUX

2012-05-29 14:35:38

         某项目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倍,且运行稳定。

阅读(1451) | 评论(0) | 转发(0) |
0

上一篇:某项目9

下一篇:Md5算法的一个简单应用

给主人留下些什么吧!~~