zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    C++中使用多线程
    hdu 4223 dp 求连续子序列的和的绝对值最小值
    hdu 1372 bfs 计算起点到终点的距离
    hdu 4217 线段树 依次取第几个最小值,求其sum
    心得
    hdu 1175 bfs 按要求进行搜索,是否能到达,抵消两个(相同)棋子
    hdu 4221 greed 注意范围 工作延期,使整个工作时间罚时最少的单个罚时最长的值
    hdu 2844 多重背包 多种硬币,每一种硬币有一点数量,看他能组成多少种钱
    uva LCDDisplay
    hdu 4218 模拟 根据一个圆点和半径画一个圆 注意半径要求
  • 原文地址:https://www.cnblogs.com/xuhuaiqu/p/6438982.html
Copyright © 2011-2022 走看看