52
im-cloud <> goim 分布式中间件并发压测对比
source link: https://www.tuicool.com/articles/iaqMryV
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
github: http://github.com/brewlin/im-...
- im-cloud 基于swoole 原生协程构建分布式推送中间件
- im-cloud 分布式中间件的安装部署
-
im-cloud <> goim 分布式中间件并发压测对比
- im-cloud分布式中间件分析(一)-通讯协议
- im-cloud分布式中间件分析(二)-cloud节点实现
- im-cloud分布式中间件分析(三)-job节点实现
- im-cloud分布式中间件分析(四)-logic节点实现
系统环境
此次测试环境为 window8.1 启动 virtualbox虚拟机部署的ubuntu14
-
goim无需担心进程配置,im-cloud测试时候需要根据机器配置做更改
worker进程和task进程最好和cpu核心数
保持一致,太大会使性能大大降低
测评对象 goim
im-cloud
百万级消息秒级推
硬件环境
CPU: 4 核cpu MEM: 2G 内存 System: Ubunutu 14.04 (64bit)
软件环境
单节点启动 im-cloud: cloud(2 个worker进程 2个子进程) job( 2 个worker进程 2个task进程 1个子进程) logic(2个worker进程 2个task进程 1个子进程) goim : comet(单进程) job(单进程) logic(单进程)
评测结果
c : concurrent 并发请求 n : number 总请求数 ----------------------------------- c:500 | n:2000 | n:5000 | n:20000 im-cloud: 6300 6082 3815 goim : 5377 5540 5894 ----------------------------------- c:1000 | n:20000 im-cloud: 5014 goim : 5950 -----------------------------------
@Concurrent:500 @Number:2000
im-cloud
整体高达6300qps goim
整体高达 5300qps
im-cloud
Server Software: swoole-http-server Server Hostname: 127.0.0.1 Server Port: 9600 Concurrency Level: 500 Time taken for tests: 0.321 seconds Complete requests: 2000 Failed requests: 0 Total transferred: 354000 bytes Total body sent: 374000 HTML transferred: 58000 bytes Requests per second: 6239.74 [#/sec] (mean) Time per request: 80.131 [ms] (mean) Time per request: 0.160 [ms] (mean, across all concurrent requests) Transfer rate: 1078.55 [Kbytes/sec] received 1139.48 kb/s sent 2218.03 kb/s total Connection Times (ms) min mean[+/-sd] median max Connect: 10 22 5.0 21 35 Processing: 6 33 11.3 30 74 Waiting: 4 25 10.1 24 68 Total: 31 54 11.1 54 98
goim
Document Path: /goim/push/mids?mids=123&operation=1000 Document Length: 23 bytes Concurrency Level: 500 Time taken for tests: 0.372 seconds Complete requests: 2000 Failed requests: 0 Total transferred: 292000 bytes Total body sent: 356000 HTML transferred: 46000 bytes Requests per second: 5377.91 [#/sec] (mean) Time per request: 92.973 [ms] (mean) Time per request: 0.186 [ms] (mean, across all concurrent requests) Transfer rate: 766.77 [Kbytes/sec] received 934.83 kb/s sent 1701.60 kb/s total Connection Times (ms) min mean[+/-sd] median max Connect: 0 14 11.8 11 46 Processing: 17 65 27.7 62 149 Waiting: 16 59 24.1 57 136 Total: 31 79 22.0 75 162
@Concurrent:500 @Number:5000
5000的请求下 im-cloud
高达6100qps
im-cloud
Server Software: swoole-http-server Server Hostname: 127.0.0.1 Server Port: 9600 Document Path: /im/push/mids?mids=123&operation=9&msg=push_mids Document Length: 29 bytes Concurrency Level: 500 Time taken for tests: 0.822 seconds Complete requests: 5000 Failed requests: 0 Total transferred: 885000 bytes Total body sent: 935000 HTML transferred: 145000 bytes Requests per second: 6082.98 [#/sec] (mean) Time per request: 82.196 [ms] (mean) Time per request: 0.164 [ms] (mean, across all concurrent requests) Transfer rate: 1051.45 [Kbytes/sec] received 1110.86 kb/s sent 2162.31 kb/s total
goim
Document Path: /goim/push/mids?mids=123&operation=1000 Document Length: 23 bytes Concurrency Level: 500 Time taken for tests: 0.907 seconds Complete requests: 5000 Failed requests: 0 Total transferred: 730000 bytes Total body sent: 890000 HTML transferred: 115000 bytes Requests per second: 5514.84 [#/sec] (mean) Time per request: 90.664 [ms] (mean) Time per request: 0.181 [ms] (mean, across all concurrent requests) Transfer rate: 786.30 [Kbytes/sec] received 958.63 kb/s sent 1744.93 kb/s total Connection Times (ms) min mean[+/-sd] median max Connect: 0 18 13.4 16 54 Processing: 20 64 25.0 63 143 Waiting: 17 55 20.5 54 117 Total: 35 82 21.3 80 161
@Concurrent:500 @Number:20000
请求20000 并发500
goim
Document Path: /goim/push/mids?mids=123&operation=1000 Document Length: 23 bytes Concurrency Level: 500 Time taken for tests: 3.393 seconds Complete requests: 20000 Failed requests: 0 Total transferred: 2920000 bytes Total body sent: 3560000 HTML transferred: 460000 bytes Requests per second: 5894.30 [#/sec] (mean) Time per request: 84.828 [ms] (mean) Time per request: 0.170 [ms] (mean, across all concurrent requests) Transfer rate: 840.40 [Kbytes/sec] received 1024.60 kb/s sent 1864.99 kb/s total Connection Times (ms) min mean[+/-sd] median max Connect: 0 30 129.4 10 1025 Processing: 10 50 19.2 47 128 Waiting: 6 42 16.1 40 125 Total: 16 80 131.8 60 1100
im-cloud
Server Software: swoole-http-server Server Hostname: 127.0.0.1 Server Port: 9600 Document Path: /im/push/mids?mids=123&operation=9&msg=push_mids Document Length: 29 bytes Concurrency Level: 500 Time taken for tests: 5.242 seconds Complete requests: 20000 Failed requests: 0 Total transferred: 3540000 bytes Total body sent: 3740000 HTML transferred: 580000 bytes Requests per second: 3815.33 [#/sec] (mean) Time per request: 131.050 [ms] (mean) Time per request: 0.262 [ms] (mean, across all concurrent requests) Transfer rate: 659.49 [Kbytes/sec] received 696.75 kb/s sent 1356.23 kb/s total
@Concurrent:1000 @Number:20000
请求20000 并发1000
goim
Document Path: /goim/push/mids?mids=123&operation=1000 Document Length: 23 bytes Concurrency Level: 1000 Time taken for tests: 3.361 seconds Complete requests: 20000 Failed requests: 0 Total transferred: 2920000 bytes Total body sent: 3560000 HTML transferred: 460000 bytes Requests per second: 5950.20 [#/sec] (mean) Time per request: 168.061 [ms] (mean) Time per request: 0.168 [ms] (mean, across all concurrent requests) Transfer rate: 848.37 [Kbytes/sec] received 1034.31 kb/s sent 1882.68 kb/s total
im-cloud
Server Software: swoole-http-server Server Hostname: 127.0.0.1 Server Port: 9600 Document Path: /im/push/mids?mids=123&operation=9&msg=push_mids Document Length: 29 bytes Concurrency Level: 500 Time taken for tests: 3.988 seconds Complete requests: 20000 Failed requests: 0 Total transferred: 3540000 bytes Total body sent: 3740000 HTML transferred: 580000 bytes Requests per second: 5014.66 [#/sec] (mean) Time per request: 99.708 [ms] (mean) Time per request: 0.199 [ms] (mean, across all concurrent requests) Transfer rate: 866.79 [Kbytes/sec] received 915.76 kb/s sent 1782.56 kb/s total
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK