cfadmin - 编写高性能服务端、客户端实例(3)

阅读本文需要读者至少有C/C++网络编程基础, 并且了解基本的Socket API是如何使用的.

同时需要读者至少使用过cfadmin框架、并且能熟练使用内置库来完成简单的业务逻辑编写.

对本文有兴趣的同学也可以从官网文档来了解更多关于框架的更多使用方法.

测试准备

1. 硬件清单

名称 型号 内容 数值
CPU Intel I5-10400 6核12线程
MEM Micron DDR4-2666 16G
OS WSL Linux Kernel 5.4
SCRIPT Lua Lua 5.4.3 分代GC

2. 启动方式

  • -w启动多进程, auto让框架自动判断启动的进程数量.

  • 注释所有server.lua的调试代码, 消除影响可能存在的影响.

3. 操作系统

本文所有测试都是在WSL2 - Debain下完成.

root@server:~/cfadmin$ uname -a
Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020 x86_64 GNU/Linux

所有测试均为命令行实测, 出

image

开始测试

选择多个不同类型的软件来对数值进行评估, 得出的参考值将会接近大家的心里预期.

注意: 数值并不可比较实际生产环境数值, 对于这一点请大家理性对待.

1. wrk

测试内容: 分别尝试开启4个线程后的10秒内在启动50010002000长连接下的不同表现.

root@server:~/cfadmin$ wrk -t4 -c500 -d10s http://localhost:8080/view
Running 10s test @ http://localhost:8080/view
  4 threads and 500 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     2.01ms    2.47ms  38.22ms   89.75%
    Req/Sec    49.39k     8.21k   68.27k    70.18%
  1978125 requests in 10.09s, 243.36MB read
Requests/sec: 195982.55
Transfer/sec:     24.11MB
root@server:~/cfadmin$ wrk -t4 -c1000 -d10s http://localhost:8080/view
Running 10s test @ http://localhost:8080/view
  4 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     4.09ms    4.03ms  41.24ms   89.03%
    Req/Sec    41.40k     7.20k   63.97k    67.68%
  1658362 requests in 10.10s, 204.02MB read
Requests/sec: 164252.30
Transfer/sec:     20.21MB
root@server:~/cfadmin$ wrk -t4 -c2000 -d10s http://localhost:8080/view
Running 10s test @ http://localhost:8080/view
  4 threads and 2000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     9.19ms    7.30ms  62.57ms   84.56%
    Req/Sec    35.65k     5.30k   53.27k    70.10%
  1417799 requests in 10.04s, 174.42MB read
Requests/sec: 141234.26
Transfer/sec:     17.38MB

2. Apache Benchmark

测试的内容: 总共发送100万次请求, 分别测试在50010002000长连接下的表现.

root@server:~/cfadmin$ ab -c 500 -n 1000000 -k http://localhost:8080/view

Concurrency Level:      500
Time taken for tests:   11.278 seconds
Complete requests:      1000000
Failed requests:        0
Keep-Alive requests:    1000000
Total transferred:      129000000 bytes
HTML transferred:       12000000 bytes
Requests per second:    88670.45 [#/sec] (mean)
Time per request:       5.639 [ms] (mean)
Time per request:       0.011 [ms] (mean, across all concurrent requests)
Transfer rate:          11170.40 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.2      0      14
Processing:     1    6   2.7      5      36
Waiting:        0    6   2.7      5      36
Total:          1    6   2.8      5      36

Percentage of the requests served within a certain time (ms)
  50%      5
  66%      6
  75%      6
  80%      7
  90%      8
  95%     10
  98%     12
  99%     18
 100%     36 (longest request)
root@server:~/cfadmin$ ab -c 1000 -n 1000000 -k http://localhost:8080/view

Concurrency Level:      1000
Time taken for tests:   12.305 seconds
Complete requests:      1000000
Failed requests:        0
Keep-Alive requests:    1000000
Total transferred:      129000000 bytes
HTML transferred:       12000000 bytes
Requests per second:    81265.18 [#/sec] (mean)
Time per request:       12.305 [ms] (mean)
Time per request:       0.012 [ms] (mean, across all concurrent requests)
Transfer rate:          10237.51 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.7      0      29
Processing:     2   12   5.4     11      66
Waiting:        0   12   5.4     11      66
Total:          2   12   5.5     11      66

Percentage of the requests served within a certain time (ms)
  50%     11
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
xjc-cf3600-c压力显示表是一种专门用于测量和显示系统内部压力的设备。该表具有以下特点和功能。 首先,xjc-cf3600-c压力显示表具有高精度和稳定性。它采用先进的传感技术和精密的测量装置,能够准确地测量系统内部的压力值,并且在长时间使用过程中保持稳定的工作状态。这使得该表能够提供可靠的压力数据,为系统运行提供准确的参考。 其次,xjc-cf3600-c压力显示表具有直观的显示界面。它采用大屏幕液晶显示屏,能够清晰地显示出当前的压力数值。同时,该表还提供灯光背光功能,使得在暗处或夜间也能清晰地读取显示结果。这样,操作人员可以方便地观察和记录压力情况。 此外,xjc-cf3600-c压力显示表还具有多种报警功能。它能够根据预设的上下限值,自动发出声音或灯光报警信号,提醒操作人员系统内部压力超过规定范围,以便及时采取措施。这种报警功能有效地保护系统的安全运行,防止因过高或过低的压力而导致的损坏或事故发生。 最后,xjc-cf3600-c压力显示表具有良好的耐用性和可靠性。它采用高品质的材料和工艺制作而成,具有较强的抗震、耐腐蚀和抗干扰能力。此外,该表还具有防水、防尘和防爆等特性,能够适应各种恶劣的工作环境。 总之,xjc-cf3600-c压力显示表是一种功能强大的压力测量和显示设备,具有高精度、直观的显示界面、多种报警功能以及良好的耐用性和可靠性。它可以广泛应用于各种工业领域,为系统运行提供准确的压力监测和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值