使用压测命令遇到的一个坑
.\hey -n 3000 -c 1500 http://192.168.56.30:80/v1/prods/2000
报错
[1] Get "http://192.168.56.30:80/v1/prods/2000": read tcp 192.168.56.1:49176->192.168.56.30:80: wsarecv: An existing connection was forcibly closed by the remote host.
- 设置句柄数。
//查看系统句柄数
ulimit -n
//修改句柄数
sudo vi /etc/security/limits.conf
//在最后加上,用户名为*的时候表示所有的用户
用户名 soft nofile 100000
用户名 hard nofile 100000
//重新登录下终端
- 配置nginx
//查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
//查看每个CPU的核数
cat /proc/cpuinfo| grep "cpu cores"| uniq
//修改nginx配置文件
sudo vi ngx/nginx.conf
//配置两个参数
worker_processes 4; //进程数
worker_connections 999999 //单个进程允许的客户端最大连接数
//重启服务器
docker restart <容器ID>
这个worker_connections配置,遵循如下公式:
worker_processes*worker_connections/4 < [ulimit -n]
- 测试成功
补充: 虚拟机内存要2G以上,我设置1G的虚拟机崩了