概述
測試寫命令 set key value,幾個字節(jié)的 value,輕松 10 萬+ 并發(fā);1024 個字節(jié)的 value构资,1.5 秒左右。
所以 hiredis 的異步使用性能非常給力的肖卧,也是同步使用不能比的蚯窥。而且程序的性能損耗也不高掸鹅,具體如下圖(本地性能)
只是異步使用有點(diǎn)反人類塞帐,業(yè)務(wù)都要在 callback 里面處理,沒有同步調(diào)用那么直觀巍沙。
libev 是一個不錯的事件驅(qū)動庫葵姥,在這里就不展開了。
測試結(jié)果(下面 interval 是微妙為單位的時間差)
connect?call?back,?status?=?0????????????????????????????????????????????
test?write?cmd?count?=?100000????????????????????????????????????????????
test?begin?time:?2018-06-17?08:17:43,?1529194663712890???????????????????
test?end?time:?2018-06-17?08:17:44,?1529194664952655,?interval:?1239765??
disconnect?call?back,?status?=?0?
本地性能
測試代碼使用
hiredis 代碼提供了 libev 的 I/O 回調(diào)句携。只要綁定相關(guān) libev 的相關(guān)回調(diào)榔幸,即可使用,代碼也相對比較精簡矮嫉。
詳細(xì)測試代碼已提交github削咆,有興趣的同學(xué)可以參考下。
更精彩內(nèi)容蠢笋,請關(guān)注我的博客:https://wenfh2020.com