> For the complete documentation index, see [llms.txt](https://coolpy7.gitbook.io/coolpy7book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://coolpy7.gitbook.io/coolpy7book/kai-shi-shi-yong/xiao-xi-bing-fa-ya-li-ce-shi.md).

# 消息并发压力测试

#### 测试目标

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
```

&#x20;   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性能指标监控](https://33059891-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LPz4APWKTuf0FRQG1lh%2F-MbtNPchNSUGMBnFXwIM%2F-MbtSJX01wRGM8siiOA7%2FPeek%202021-06-11%2012-59.gif?alt=media\&token=28469866-f516-4b55-876e-f5e3154e0331)

![测试工具指标监控](https://33059891-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LPz4APWKTuf0FRQG1lh%2F-MbtNPchNSUGMBnFXwIM%2F-MbtSa50zJ3mAtQMmic7%2FPeek%202021-06-11%2012-56.gif?alt=media\&token=e8d38d77-17f1-4ef9-900c-2ac65b5468e8)

#### 本机测试总结：

1. 消息并发性能平均在5.6万TPS左右。随着时间持续基本稳定在5.6万以上。
2. cp7系统资料占用情况（CPU：大概20%左右，内存稳定在100到130M左右）。
3. 由于本轮测试为本机测试，所以此数据为cp7内存（排除网络影响）的真实性能。

![一小时测试数据](https://33059891-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LPz4APWKTuf0FRQG1lh%2F-Mc3ngEOUDe--z49YLLr%2F-McCO_9K5ztOaiybHLg9%2FCOOLPY7%E6%B6%88%E6%81%AF%E5%A4%84%E7%90%86%E8%83%BD%E5%8A%9B.png?alt=media\&token=23f83f31-7d35-416a-9ff5-7f4f1ebb6010)

### 内网测试用例

#### 准备工作

网络架构

![](https://33059891-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LPz4APWKTuf0FRQG1lh%2F-MbtTs0tVjDtz9WU0Amb%2F-Mbtcu4YSDMslf2hi6km%2F%E7%BD%91%E7%BB%9C%E6%8B%93%E6%89%91%E5%9B%BE.jpg?alt=media\&token=7c1b05c3-5255-4563-989f-985da3c79fe9)

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性能指标监控](https://33059891-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LPz4APWKTuf0FRQG1lh%2F-MbtffIEF4jWaQrsQUfl%2F-MbthG3eiL3nW8cUiO4H%2FPeek%202021-06-11%20aaa.gif?alt=media\&token=3a87941e-5a32-4b71-b97a-b27691bcb71a)

![CP7网络指标监控](https://33059891-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LPz4APWKTuf0FRQG1lh%2F-MbtffIEF4jWaQrsQUfl%2F-MbthPy7Xo5Y3DYYXGKN%2FPeek%202021-06-11%20bbb.gif?alt=media\&token=7cc1618a-b352-4107-82c4-80a9ad560f8d)

![测试工具指标监控](https://33059891-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LPz4APWKTuf0FRQG1lh%2F-MbtffIEF4jWaQrsQUfl%2F-MbthXYrX4ZFSGN8Qdin%2FPeek%202021-06-11%20ccc.gif?alt=media\&token=13e80bbd-7c1a-4795-b773-63d9312ee242)

{% hint style="info" %}
由于测试环境并非纯净网络，所以本次内网测试并发性只能看作单次测试结果，不具代表性。具体真实性能请参考上面的本机测试用例结果。
{% endhint %}

#### 内网测试总结：

1. 消息并发性能平均在4.5万TPS左右。随着时间持续基本稳定在4.5万以上。
2. cp7系统资料占用情况（CPU：大概30%左右，内存稳定在100到110M左右）。
3. 由于本轮测试为内网测试，所以此数据反应了瓶颈在内网网络中，千兆网络大概实为百兆真网速。
