Feb5

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

Author: leeon  Click: 4025   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:


root@home2:~/memtier_benchmark# ./memtier_benchmark -p 6379 --hide-histogram
[RUN #1] Preparing benchmark client...
[RUN #1] Launching threads now...
[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

4 Threads
50 Connections per thread
10000 Requests per thread
Type Ops/sec Hits/sec Misses/sec Latency KB/sec
------------------------------------------------------------------------
Sets 2367.43 --- --- 7.63500 182.35
Gets 23648.29 2.60 23645.69 7.61300 805.85
Waits 0.00 --- --- 0.00000 ---
Totals 26015.72 2.60 23645.69 7.61500 988.20

memcached:


root@home2:~/memtier_benchmark# ./memtier_benchmark -p 11211 -P memcache_binary --hide-histogram
[RUN #1] Preparing benchmark client...
[RUN #1] Launching threads now...
[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

4 Threads
50 Connections per thread
10000 Requests per thread
Type Ops/sec Hits/sec Misses/sec Latency KB/sec
------------------------------------------------------------------------
Sets 3325.54 --- --- 5.50400 256.14
Gets 33218.86 3.65 33215.20 5.47500 1261.61
Waits 0.00 --- --- 0.00000 ---
Totals 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的注意事项

    我看过的书

    链接

    其他

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