> 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性能指标监控](/files/-MbtSJX01wRGM8siiOA7)

![测试工具指标监控](/files/-MbtSa50zJ3mAtQMmic7)

#### 本机测试总结：

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

![一小时测试数据](/files/-McCO_9K5ztOaiybHLg9)

### 内网测试用例

#### 准备工作

网络架构

![](/files/-Mbtcu4YSDMslf2hi6km)

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性能指标监控](/files/-MbthG3eiL3nW8cUiO4H)

![CP7网络指标监控](/files/-MbthPy7Xo5Y3DYYXGKN)

![测试工具指标监控](/files/-MbthXYrX4ZFSGN8Qdin)

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

#### 内网测试总结：

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