优化Nginx并发量

优化Nginx并发量

1)优化前使用ab高并发测试

客户端测试
# yum -y install httpd-tools.x86_64
# ab -c 200 -n 200 http://192.168.4.5/

# 192.168.4.5后面的斜线 / 必须要敲。c代表client。ab是模拟器。n是number。200个人总共点了200次,相当于每个人1次。
-----------------------------------------------------------------------------------------------
优化前,客户端访问次数太多会报错!

# ab -c 2000 -n 2000 http://192.168.4.5/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.4.5 (be patient)
socket: Too many open files (24) #提示打开文件数量过多
-------------------------------------------------------------------------------------------------
# lscpu
...
CPU(s): 1 #虚拟机默认1核,真机4核

脚本要求有好的cpu
数据库要求有好的内存
-------------------------------------------------------------------------------------------------
2)修改Nginx配置文件,增加并发量

# vim /usr/local/nginx/conf/nginx.conf

#user nobody;
worker_processes 1; #与CPU核心数量一致
... ...
events {
worker_connections 50000; #修改为50000。每个worker最大并发连接数
}

# nginx -s reload
-------------------------------------------------------------------------------------------------
3)优化Linux内核参数(最大文件数量)

# ulimit -a #查看所有属性值
.....
open files (-n) 1024 #能同时打开多少文件:最大数量是1024

扫描二维码关注公众号,回复: 6051226 查看本文章

# ulimit -Hn 100000 #设置硬限制(临时规则)。应限制只能在这个数内。重启后回到1024。
# ulimit -Sn 100000 #设置软限制(临时规则)。软限制只是给个提醒,超过了也没有关系。重启后回到1024.

4)优化后测试服务器并发量(因为客户端没调内核参数,所以服务器自己proxy测试)
客户端不能测试,因为客户端要访问也要开那么多个进程,他没有改,调不了。如果真改了,对服务器而言就相当于是攻击了。

# ab -c 2000 -n 2000 http://192.168.4.5/
# ab -c 4000 -n 4000 http://192.168.4.5/

猜你喜欢

转载自www.cnblogs.com/summer2/p/10787939.html
今日推荐