消息并发压力测试

测试目标

  1. 本机测试,测试出非网络环境下cp7的消息并发数据

  2. 内网测试,测试网络环境下cp7的消息并发数据

  3. 制作两种测试数据汇总对比

环境准备

A服务器

  1. 操作系统:Ubuntu 20.04.2 LTS

  2. 网络::内网千兆网络(192.168.101.180

  3. CPU:Intel(R) Core(TM) i7-9700F CPU @ 3.00GHz

  4. 内存:16G

B服务器

  1. 操作系统:Ubuntu 20.04.2 LTS

  2. 网络::内网千兆网络(192.168.101.232)

  3. CPU:Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz

  4. 内存:8G

本机测试用例

准备工作:

  1. cp7服务启动准备

# 下载服务器端
wget https://github.com/Coolpy7/Coolpy7/raw/master/go_build_Coolpy7_go_linux.zip
# 解压文件
sudo unzip go_build_Coolpy7_go_linux.zip
# 提权
sudo chmod -R 777 go_build_Coolpy7_go_linux
# 启动Coolpy7 启动参数
# l 当前服务Host地址 (默认为:1883即本地1883端口,此参数一般默认即可,无需配置)
# a 连接接入调度器最大线程,此值可防止暴力连接攻击,对已连接客户端进行优先保护 (默认值128)
./go_build_Coolpy7_go_linux
# 启动成功后会打印如下信息,即说明服务端已正常启动,host于1883端口,请确保相关防火墙配置可用
2018/10/29 12:59:55 Coolpy7 tcp is listening on [::]:1883

2. 下载并运行测试工具(测试工具默认情况以一个500byte为消息体进行测试)

# 下载测试项目
git clone https://github.com/Coolpy7/coolpy7_benchmark.git && cd coolpy7_benchmark
# 测试工具开源代码位于pubsub1max.go
cd bin
# 提权
sudo chmod -R 777 go_build_pubsub1max_go_linux_linux
# 启动并发测试代码 启动参数
# url cp7服务Host地址 (默认为127.0.0.1:1883即本地1883端口,由于cp7也在本机运行,无需配置)
# duration 测试持续时间/秒(默认值30)
sudo ./go_build_pubsub1max_go_linux_linux -duration=60 -url=tcp://localhost:1883

测试结果为出现持久性不可预见的并发消息性能下降,所以本次测性时间周期为10,20,30分钟各种持续性测试,性能无异样。

CP7性能指标监控
测试工具指标监控

本机测试总结:

  1. 消息并发性能平均在5.6万TPS左右。随着时间持续基本稳定在5.6万以上。

  2. cp7系统资料占用情况(CPU:大概20%左右,内存稳定在100到130M左右)。

  3. 由于本轮测试为本机测试,所以此数据为cp7内存(排除网络影响)的真实性能。

一小时测试数据

内网测试用例

准备工作

网络架构

  1. cp7位于232服务器,通过180远端监控232的网络及系统资源情况。

  2. 测试工具位于180

# 下载测试项目
git clone https://github.com/Coolpy7/coolpy7_benchmark.git && cd coolpy7_benchmark
# 测试工具开源代码位于pubsub1max.go
cd bin
# 提权
sudo chmod -R 777 go_build_pubsub1max_go_linux_linux
# 启动并发测试代码 启动参数
# url cp7服务Host地址 (默认为127.0.0.1:1883即本地1883端口,由于cp7也在本机运行,无需配置)
# duration 测试持续时间/秒(默认值30)
sudo./go_build_pubsub1max_go_linux_linux -duration=60 -url=tcp://192.168.101.232:1883

测试结果为出现持久性不可预见的并发消息性能下降,所以本次测性时间周期为10,20,30分钟各种持续性测试,性能无异样。

cp7服务端系统资源及网络监控数据

CP7性能指标监控
CP7网络指标监控
测试工具指标监控

由于测试环境并非纯净网络,所以本次内网测试并发性只能看作单次测试结果,不具代表性。具体真实性能请参考上面的本机测试用例结果。

内网测试总结:

  1. 消息并发性能平均在4.5万TPS左右。随着时间持续基本稳定在4.5万以上。

  2. cp7系统资料占用情况(CPU:大概30%左右,内存稳定在100到110M左右)。

  3. 由于本轮测试为内网测试,所以此数据反应了瓶颈在内网网络中,千兆网络大概实为百兆真网速。