Feb5

【原创】Redis与Memcached性能测试对比

Author: leeon  Click: 6572   Date: 2017.02.05 @ 17:33:28 pm Category: 优化

      最近一哥们面试一家在线视频直播的公司的PHP岗位,面试官问一题目“redis一定比memcached读写性能更好吗?”,哥们回答是不一定,但是这面试官一口咬定redis性能就是比memcached好,我对这个答案不置可否,我认为应该是看应用场景来判断性能优劣,而不能一口认定redis就比memcached的读写性能要好。

为了真实的反应最新版本的memcached和redis的单实例进程性能,我们做一个比较客观的测试。

测试环境:树莓派3,1G内存,4核 ARMv7

memcached:1.4.34版本,设置内存256M,参数设置为-r 100000 -c 10240 -m 256M -t 4 -b 20480

redis:3.2.7版本,关闭掉数据落地的相关设置,纯粹的测试内存的读写访问性能。

        为了保证对redis和memcached的请求设置一致化,我们采用memtier_benchmark工具来进行性能压力测试。同时保证公平性采用memtier_benchmark默认的压力测试配置参数。

memcached压力测试命令:

./memtier_benchmark -p 11211 -P memcache_binary --hide-histogram

redis压力测试命令:

./memtier_benchmark -p 6379 --hide-histogram

测试结果如下:

redis:

01root@home2:~/memtier_benchmark# ./memtier_benchmark -p 6379 --hide-histogram
02[RUN #1] Preparing benchmark client...
03[RUN #1] Launching threads now...
04[RUN #1 100%,  76 secs]  0 threads:     2000000 ops,   26604 (avg:   26231) ops/sec, 1010.67KB/sec (avg: 996.38KB/sec),  7.52 (avg:  1.17) msec latencyy
05 
064         Threads
0750        Connections per thread
0810000     Requests per thread
09Type        Ops/sec     Hits/sec   Misses/sec      Latency       KB/sec
10------------------------------------------------------------------------
11Sets        2367.43          ---          ---      7.63500       182.35
12Gets       23648.29         2.60     23645.69      7.61300       805.85
13Waits          0.00          ---          ---      0.00000          ---
14Totals     26015.72         2.60     23645.69      7.61500       988.20

memcached:

01root@home2:~/memtier_benchmark# ./memtier_benchmark -p 11211 -P memcache_binary --hide-histogram
02[RUN #1] Preparing benchmark client...
03[RUN #1] Launching threads now...
04[RUN #1 100%,  54 secs]  0 threads:     2000000 ops,   44100 (avg:   36452) ops/sec, 1.79MB/sec (avg: 1.48MB/sec),  4.52 (avg:  1.18) msec latencyy
05 
064         Threads
0750        Connections per thread
0810000     Requests per thread
09Type        Ops/sec     Hits/sec   Misses/sec      Latency       KB/sec
10------------------------------------------------------------------------
11Sets        3325.54          ---          ---      5.50400       256.14
12Gets       33218.86         3.65     33215.20      5.47500      1261.61
13Waits          0.00          ---          ---      0.00000          ---
14Totals     36544.40         3.65     33215.20      5.47800      1517.75

从结果可以看出memcached的随机set get性能并不比redis差,因此我们抱有对memcached因为年久性能不行的固有思维印象是不可取的。memcached的多线程机制在读写交叉的高并发请求下性能或许会比redis要好一些,当然redis的主从机制是memcached未有的。



TAG:   redis memcached

    评论
    • 提交

    分类

    标签

    归档

    最新评论

    Abyss在00:04:28评论了
    Linux中ramdisk,tmpfs,ramfs的介绍与性能测试
    shallwe99在10:21:17评论了
    【原创】如何在微信小程序开发中正确的使用vant ui组件
    默一在09:04:53评论了
    Berkeley DB 由浅入深【转自架构师杨建】
    Memory在14:09:22评论了
    【原创】最佳PHP框架选择(phalcon,yaf,laravel,thinkphp,yii)
    leo在17:57:04评论了
    shell中使用while循环ssh的注意事项

    我看过的书

    链接

    其他

    访问本站种子 本站平均热度:9360 c° 本站链接数:1 个 本站标签数:464 个 本站被评论次数:94 次