Redis-server詳解

1.redis-server

除了啟動(dòng)Redis外,還有一個(gè)--test-memory選項(xiàng)运杭。redis-server-test-memory可以用來(lái)檢測(cè)當(dāng)前操作系統(tǒng)能否穩(wěn)定地分配指定容量的內(nèi)存給 Redis夫啊,通過(guò)這種檢測(cè)可以有效避免因?yàn)閮?nèi)存問(wèn)題造成Redis崩潰

2.redis-benchmark

redis-benchmark可以為Redis做基準(zhǔn)性能測(cè)試,它提供了很多選項(xiàng)幫助開(kāi) 發(fā)和運(yùn)維人員測(cè)試Redis的相關(guān)性能辆憔,下面分別介紹這些選項(xiàng)撇眯。

1.-c

-c(clients)選項(xiàng)代表客戶端的并發(fā)數(shù)量(默認(rèn)是50)。

2.-n<requests>

-n(num)選項(xiàng)代表客戶端請(qǐng)求總量(默認(rèn)是100000)虱咧。

例如redis-benchmark-c100-n20000代表100各個(gè)客戶端同時(shí)請(qǐng)求Redis熊榛,一 共執(zhí)行20000次利赋。redis-benchmark會(huì)對(duì)各類數(shù)據(jù)結(jié)構(gòu)的命令進(jìn)行測(cè)試褂微,并給出性能指標(biāo):



例如上面一共執(zhí)行了20000次get操作造虎,在0.27秒完成排霉,每個(gè)請(qǐng)求數(shù)據(jù)量 是3個(gè)字節(jié)刻两,99.11%的命令執(zhí)行時(shí)間小于1毫秒,Redis每秒可以處理 73529.41次get請(qǐng)求


3.-q

-q選項(xiàng)僅僅顯示redis-benchmark的requests per second信息掺炭,例如:

$redis-benchmark -c 100 -n 20000 -q



4.-r

在一個(gè)空的Redis上執(zhí)行了redis-benchmark會(huì)發(fā)現(xiàn)只有3個(gè)鍵:

5.-P

-P選項(xiàng)代表每個(gè)請(qǐng)求pipeline的數(shù)據(jù)量(默認(rèn)為1)矫限。

6.-k<boolean>

-k選項(xiàng)代表客戶端是否使用keepalive,1為使用转质,0為不使用园欣,默認(rèn)值為1

7.-t

-t選項(xiàng)可以對(duì)指定命令進(jìn)行基準(zhǔn)測(cè)試。

redis-benchmark -t get,set -q?

SET: 98619.32 requests per second?

GET: 97560.98 requests per second

8.--csv

--csv選項(xiàng)會(huì)將結(jié)果按照csv格式輸出休蟹,便于后續(xù)處理沸枯,如導(dǎo)出到Excel等

redis-benchmark -t get,set --csv?

"SET","81300.81"?

"GET","79051.38"


3.1 Pipeline概念

Redis客戶端執(zhí)行一條命令分為如下四個(gè)過(guò)程:

1)發(fā)送命令

2)命令排隊(duì)

3)命令執(zhí)行

4)返回結(jié)果

其中1)+4)稱為Round Trip Time(RTT,往返時(shí)間)赂弓。

Redis提供了批量操作命令(例如mget绑榴、mset等),有效地節(jié)約RTT盈魁。但 大部分命令是不支持批量操作的翔怎,例如要執(zhí)行n次hgetall命令,并沒(méi)有 mhgetall命令存在杨耙,需要消耗n次RTT

例如客戶端在北京赤套,Redis服務(wù)端在上海,兩地直線距離約為 1300公里珊膜,那么1次RTT時(shí)間=1300×2/(300000×2/3)=13毫秒(光在真空中 傳輸速度為每秒30萬(wàn)公里容握,這里假設(shè)光纖為光速的2/3),那么客戶端在1秒 內(nèi)大約只能執(zhí)行80次左右的命令车柠,這個(gè)和Redis的高并發(fā)高吞吐特性背道而馳剔氏。

Pipeline(流水線)機(jī)制能改善上面這類問(wèn)題,它能將一組Redis命令進(jìn) 行組裝堪遂,通過(guò)一次RTT傳輸給Redis介蛉,再將這組Redis命令的執(zhí)行結(jié)果按順序返回給客戶端

redis-cli的--pipe選項(xiàng)實(shí)際上就是使用Pipeline機(jī)制,例如下面操作將set hello world和incr counter兩條命令組裝:

echo -en '*3\r\n$3\r\nSET\r\n$5\r\nhello\r\n$5\r\nworld\r\n*2\r\n$4\r\nincr\r\ n$7\r\ncounter\r\n' | redis-cli --pipe

3.2 最佳實(shí)踐

Pipeline雖然好用溶褪,但是每次Pipeline組裝的命令個(gè)數(shù)不能沒(méi)有節(jié)制币旧,否 則一次組裝Pipeline數(shù)據(jù)量過(guò)大,一方面會(huì)增加客戶端的等待時(shí)間猿妈,另一方 面會(huì)造成一定的網(wǎng)絡(luò)阻塞吹菱,可以將一次包含大量命令的Pipeline拆分成多次 較小的Pipeline來(lái)完成。

Pipeline只能操作一個(gè)Redis實(shí)例彭则,但是即使在分布式Redis場(chǎng)景中鳍刷,也可 以作為批量操作的重要優(yōu)化手段

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市俯抖,隨后出現(xiàn)的幾起案子输瓜,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尤揣,死亡現(xiàn)場(chǎng)離奇詭異搔啊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)北戏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)负芋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人嗜愈,你說(shuō)我怎么就攤上這事旧蛾。” “怎么了蠕嫁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵锨天,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我剃毒,道長(zhǎng)绍绘,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任迟赃,我火速辦了婚禮,結(jié)果婚禮上厂镇,老公的妹妹穿的比我還像新娘纤壁。我一直安慰自己,他們只是感情好捺信,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布酌媒。 她就那樣靜靜地躺著,像睡著了一般迄靠。 火紅的嫁衣襯著肌膚如雪秒咨。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,698評(píng)論 1 305
  • 那天掌挚,我揣著相機(jī)與錄音雨席,去河邊找鬼。 笑死吠式,一個(gè)胖子當(dāng)著我的面吹牛陡厘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播特占,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼糙置,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了是目?” 一聲冷哼從身側(cè)響起谤饭,我...
    開(kāi)封第一講書(shū)人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后揉抵,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體亡容,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年功舀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了萍倡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辟汰,死狀恐怖列敲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情帖汞,我是刑警寧澤戴而,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站翩蘸,受9級(jí)特大地震影響所意,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜催首,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一扶踊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧郎任,春花似錦秧耗、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至霉猛,卻和暖如春尺锚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惜浅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工瘫辩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坛悉。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓杭朱,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親吹散。 傳聞我的和親對(duì)象是個(gè)殘疾皇子弧械,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容