kedao中间件-并发测试篇
@
一、介绍
本文主要介绍在 Linux 环境下,测试 kedao中间件的并发能力。
注:kedao中间件集成的是 C++ Cinatra Http服务器 ,想对其进一步了解可以移步到开源网站:https://gitee.com/mirrors/cinatra
kedao中间件官网:https://www.yckj-kedao.com
系列文章:
《kedao中间件-安装篇》
《kedao中间件-C++服务篇》
《kedao中间件-Java服务篇》
《kedao中间件-Vue开发篇》
《kedao中间件-集群及发布篇》
《kedao中间件-Linux系统安装篇》
《kedao中间件-数据库安装篇》
二、测试工具
在kedao中间件的 bin 目录下,找到 kedao_press_tool 执行文件。
执行命令:./kedao_press_tool -t 4 -c 40 -d 30s http://127.0.0.1
参数说明:
-c: 连接数 测试时并发连接数,每个线程执行的数量 = 连接数/线程数 (int)
-d: 测试时长 测试时长:2s, 2m, 2h (string [=15s])
-t: 线程数 测试时开启的线程数量 (int [=1])
-H: http头部 http头部,多个头部用 && 拼接,如:"User-Agent: coro_http_press && x-frame-options: SAMEORIGIN" (string [=])
-r: 读取固定响应 读取固定响应 (int [=0])
-?: 帮助 打印帮助信息
上面的命令代表使用 4 个线程并且保持 40 个连接对网址 http://127.0.0.1 进行 30s 的基准测试。
三、测试环境
测试服务器配置:
Windows操作系统:Windows10;CPU:酷睿9;硬盘:SSD PCIe 4.0 x4
Linux操作系统:虚拟机 Ubuntu24.04-live-server
CPU:2核心
内存:4G
kedao并发数进程数:server_concurrency_process=4
kedao队列长度:server_queue_length=8
四、测试结果
以下测试均在虚拟机上直接执行命令测试,而非通过XShell等远程工具的会话中测试。
测试参数:
线程数:2 ,保持与CPU核心数一致
连接数:40
测试时长:30s
4.1 测试一
测试服务器网站首页index.html ,Url:http://127.0.0.1,数据返回网站首页,测试结果如下:
kedao@kedao:/opt/kedao/bin$ ./kedao_press_tool -t 2 -c 40 -d 30s http://127.0.0.1
create 40 connections successfully
Running 30s test @ http://127.0.0.1
2 threads and 40 connections
Thread Status Avg Max Variation Stdev
Latency 0.116ms 0.223ms 0.013ms 0.116ms
3202601 requests in 30.001s, 4.024GB read, total: 3202601, errors: 0
Requests/sec: 106753.367
Transfer/sec: 137.339MB
4.2 测试二
测试服务器kedao中间件的统一api,Url:http://127.0.0.1/api,api的空数据处理,测试结果如下:
kedao@kedao:/opt/kedao/bin$ ./kedao_press_tool -t 2 -c 40 -d 30s http://127.0.0.1/api
create 40 connections successfully
Running 30s test @ http://127.0.0.1/api
2 threads and 40 connections
Thread Status Avg Max Variation Stdev
Latency 0.151ms 0.294ms 0.023ms 0.151ms
2915195 requests in 30.001s, 742.299MB read, total: 2915195, errors: 0
Requests/sec: 97173.167
Transfer/sec: 24.744MB
4.3 测试三
测试服务器kedao中间件的 test 接口,Url:http://127.0.0.1/test,数据为空,测试结果如下:
kedao@kedao:/opt/kedao/bin$ ./kedao_press_tool -t 2 -c 40 -d 30s http://127.0.0.1/test
create 40 connections successfully
Running 30s test @ http://127.0.0.1/test
2 threads and 40 connections
Thread Status Avg Max Variation Stdev
Latency 0.087ms 0.166ms 0.008ms 0.087ms
5516830 requests in 30.001s, 1.028GB read, total: 5516830, errors: 0
Requests/sec: 183894.333
Transfer/sec: 35.075MB
五、测试结果对比
| 接口 | 总请求数 | 传送数据 | 测试时长 | 每秒并发数 | 每秒传输数据 |
|---|---|---|---|---|---|
| / | 3202601 | 4.024GB | 30.001s | 106753.367 | 137.339MB |
| api | 2915195 | 742.299MB | 30.001s | 97173.167 | 24.744MB |
| test | 5516830 | 1.028GB | 30.001s | 183894.333 | 35.075MB |
test 接口的并发量最高,没有逻辑和数据,反映了服务器的响应性能;
/ 默认为网站首页index.html,反映了打开网站的响应性能;
apikedao到统一服务接口,反映了服务的响应性能。

浙公网安备 33010602011771号