Lumen框架使用Redis与框架Cache压测比较

 

使用命令 ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.xxx'进行压测,并同时进行了交叉测试,结果如下:

  1. 高并发情况下数据目前没有出错。
  2. Redis性能和框架封装的Cache性能差的不多。

1. Redis

1.1. Redis自增

ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.redis.add'

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        swoole-http-server
Server Hostname:        127.0.0.1
Server Port:            9050

Document Path:          /v1/api.store.redis.add
Document Length:        7 bytes

Concurrency Level:      20000
Time taken for tests:   92.729 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      24100000 bytes
HTML transferred:       700000 bytes
Requests per second:    1078.41 [#/sec] (mean)
Time per request:       18545.834 [ms] (mean)
Time per request:       0.927 [ms] (mean, across all concurrent requests)
Transfer rate:          253.81 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  137 278.1      0     871
Processing:   492 16527 4273.2  18148   19270
Waiting:        2 16527 4273.3  18148   19270
Total:        873 16664 4019.2  18151   19270

Percentage of the requests served within a certain time (ms)
  50%  18151
  66%  18202
  75%  18393
  80%  18652
  90%  18869
  95%  19017
  98%  19128
  99%  19253
 100%  19270 (longest request)

经验证,数据从0自增到100000正常。

1.2. Redis自减

ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.redis.sub'

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        swoole-http-server
Server Hostname:        127.0.0.1
Server Port:            9050

Document Path:          /v1/api.store.redis.sub
Document Length:        7 bytes

Concurrency Level:      20000
Time taken for tests:   93.422 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      24100000 bytes
HTML transferred:       700000 bytes
Requests per second:    1070.41 [#/sec] (mean)
Time per request:       18684.485 [ms] (mean)
Time per request:       0.934 [ms] (mean, across all concurrent requests)
Transfer rate:          251.92 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  134 271.5      0     852
Processing:   477 16660 4230.2  18030   19399
Waiting:        8 16660 4230.3  18030   19399
Total:        861 16793 3990.8  18034   19828

Percentage of the requests served within a certain time (ms)
  50%  18034
  66%  18205
  75%  18784
  80%  18824
  90%  19057
  95%  19136
  98%  19383
  99%  19389
 100%  19828 (longest request)

经验证,数据从100000自减到0正常。

1.3. Redis读

ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.redis.read'

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        swoole-http-server
Server Hostname:        127.0.0.1
Server Port:            9050

Document Path:          /v1/api.store.redis.read
Document Length:        1 bytes

Concurrency Level:      20000
Time taken for tests:   91.817 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      23500000 bytes
HTML transferred:       100000 bytes
Requests per second:    1089.12 [#/sec] (mean)
Time per request:       18363.456 [ms] (mean)
Time per request:       0.918 [ms] (mean, across all concurrent requests)
Transfer rate:          249.94 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  132 269.6      0     870
Processing:   447 16350 4296.6  18157   18442
Waiting:        2 16350 4296.6  18157   18442
Total:        872 16483 4046.5  18159   18488

Percentage of the requests served within a certain time (ms)
  50%  18159
  66%  18257
  75%  18284
  80%  18295
  90%  18341
  95%  18373
  98%  18392
  99%  18414
 100%  18488 (longest request)

2. Cache

2.1 cache自增
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        swoole-http-server
Server Hostname:        127.0.0.1
Server Port:            9050

Document Path:          /v1/api.store.cache.incre
Document Length:        7 bytes

Concurrency Level:      20000
Time taken for tests:   94.379 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      24100000 bytes
HTML transferred:       700000 bytes
Requests per second:    1059.56 [#/sec] (mean)
Time per request:       18875.762 [ms] (mean)
Time per request:       0.944 [ms] (mean, across all concurrent requests)
Transfer rate:          249.37 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  126 260.1      0    1004
Processing:   378 16806 4456.7  18287   19877
Waiting:       10 16806 4456.7  18287   19877
Total:        876 16932 4213.5  18288   19877

Percentage of the requests served within a certain time (ms)
  50%  18288
  66%  18595
  75%  18758
  80%  19491
  90%  19786
  95%  19801
  98%  19819
  99%  19846
 100%  19877 (longest request)

经验证,数据从0自增到100000正常。

2.2 cache自减

ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.cache.decre'

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        swoole-http-server
Server Hostname:        127.0.0.1
Server Port:            9050

Document Path:          /v1/api.store.cache.decre
Document Length:        7 bytes

Concurrency Level:      20000
Time taken for tests:   94.499 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      24100000 bytes
HTML transferred:       700000 bytes
Requests per second:    1058.21 [#/sec] (mean)
Time per request:       18899.832 [ms] (mean)
Time per request:       0.945 [ms] (mean, across all concurrent requests)
Transfer rate:          249.05 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  138 281.8      0     900
Processing:   463 16846 4138.5  18405   19427
Waiting:       14 16846 4138.6  18405   19427
Total:        914 16984 3881.6  18407   19556

Percentage of the requests served within a certain time (ms)
  50%  18407
  66%  18558
  75%  18638
  80%  18834
  90%  18901
  95%  18914
  98%  19106
  99%  19329
 100%  19556 (longest request)

经验证,数据从100000自减到0正常。

2.3 cache读

ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.cache.read'

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:        swoole-http-server
Server Hostname:        127.0.0.1
Server Port:            9050

Document Path:          /v1/api.store.cache.read
Document Length:        1 bytes

Concurrency Level:      20000
Time taken for tests:   93.918 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      23500000 bytes
HTML transferred:       100000 bytes
Requests per second:    1064.76 [#/sec] (mean)
Time per request:       18783.576 [ms] (mean)
Time per request:       0.939 [ms] (mean, across all concurrent requests)
Transfer rate:          244.35 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  115 241.4      0     854
Processing:   314 16709 4411.4  18350   19034
Waiting:        2 16709 4411.5  18350   19034
Total:        856 16825 4180.4  18371   19034

Percentage of the requests served within a certain time (ms)
  50%  18371
  66%  18664
  75%  18796
  80%  18868
  90%  18962
  95%  18980
  98%  18999
  99%  19007
 100%  19034 (longest request)
原文地址:https://www.cnblogs.com/xuhuaiqu/p/6438982.html