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到统一服务接口,反映了服务的响应性能。

posted @ 2025-05-07 16:16  lym_1978  阅读(18)  评论(0)    收藏  举报