1 概述
都说nginx的负载均衡能力很强,最近出于好奇对nginx的实际并发能力进行了简单的测试,主要测试了TCP/IP层的长链接负载均衡
2 原理
准备netty服务器与客户端,netty-client每秒向netty-server发送1条数据,netty-server接收各netty-client的数据,检查数据序号的连续性从而检查是否丢包,然后将数据发到内存,再由各数据存储线程将数据存储到本地磁盘,通过数据检查程序也可以检查并提取单个客户端的所有数据,通过随机抽样检查单个客户端发送的数据是否正常
3 环境
3.1 设备与部署
设备 | 操作系统 | 部署服务 |
---|---|---|
服务器1 | centos7 | nginx |
服务器2 | centos7 | netty-server |
服务器3 | centos7 | netty-server |
PC1 | win10/7 | netty-client(10000个) |
PC1 | win10/7 | netty-client(10000个) |
PC1 | win10/7 | netty-client(10000个) |
PC1 | win10/7 | netty-client(10000个) |
PC1 | win10/7 | netty-client(10000个) |
PC1 | win10/7 | netty-client(10000个) |
PC1 | win10/7 | netty-client(10000个) |
3.2 nginx配置/服务器配置
- 若nginx报错accept() failed (24: Too many open files),基本是应为系统对同时打开的文件数做了限制,需要对系统以及nginx都进行配置
系统配置:
查看当前用户可同时打开的文件句柄数