用Nginx做负载均衡,表现很不稳定.解决中..

最近用loadrunner测试一个php应用的并发(相当于论坛).
客户要求.每秒达到4000-5000并发请求.
提供了8台联想PC..4G内存,双核的CPU. 而且无光驱,又不能上外网.

其中4台用硬盘安装了双系统.CentOS.32位.网口100M.(板载网卡性能差,改用独立的)
4台装loadrunner测试.每台模拟1000用户,thinktime设成0.

1,先单机测试. nginx + php-fpm + mysql
平均:1700hits/s, 800trans/s, CPU 80%多, 内存占用2G左右, 网络90%.
应用加了Cache数据库命中率不高但仍然占了20%CPU. 按这个测试,也就差不多极限了.

2,接下来做负载均衡. 1台nginx proxy pass 到后面3台 如上面测试的配置.
发现出现502错误,连接不稳定,负载不均衡. 网络流量也不稳定.直接刷页面也不慢.
测试结果并没有3X,反而是0.5X,很是郁闷.
修改多次php-fpm,nginx的workprocessor等等参数. 不见效.今日以遗憾告终.

3,回来后赶紧查资料.发现以下可能项,需要优化.

1),nginx upstream的排错逻辑可能造成的问题. (修改后有效)
2),nginx proxy时,如果后端响应超时或失败会暂停请求10s(已印证)
3),nginx 超时时间设置过长. (修改后有效)
4),worker_rlimit_nofile配置要和系统内核配置一致,我的是65535.(修改有效)
5),linux内核配置问题. 启动 nginx前执行ulimit -HSn 65535,
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值