日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

redis 性能測(cè)試是通過(guò)同時(shí)執(zhí)行多個(gè)命令實(shí)現(xiàn)的。

1,Redis-benchmark

Redis性能命令:

redis性能命令格式: 
redis-benchmark [option] [option value] 
redis 性能測(cè)試工具可選參數(shù)如下所示: 
序號(hào) 選項(xiàng) 描述 默認(rèn)值 
1    -h 指定服務(wù)器主機(jī)名 127.0.0.1 
2    -p 指定服務(wù)器端口 6379 
3    -s 指定服務(wù)器 socket 
4    -c 指定并發(fā)連接數(shù) 50 
5    -n 指定請(qǐng)求數(shù) 10000 
6    -d 以字節(jié)的形式指定 SET/GET 值的數(shù)據(jù)大小 2 
7    -k 1=keep alive 0=reconnect 1 
8    -r SET/GET/INCR 使用隨機(jī) key, SADD 使用隨機(jī)值 
9    -P 通過(guò)管道傳輸 <numreq> 請(qǐng)求 1 
10   -q 強(qiáng)制退出 redis。僅顯示 query/sec 值 
11   --csv 以 CSV 格式輸出 
12   -l 生成循環(huán),永久執(zhí)行測(cè)試 
13   -t 僅運(yùn)行以逗號(hào)分隔的測(cè)試命令列表。 
14   -I Idle 模式。僅打開(kāi) N 個(gè) idle 連接并等待。 
測(cè)試redis性能 
redis-benchmark -h {host} -p {port} -c {concurrency} -n {requests} 
測(cè)試指定字節(jié)的數(shù)據(jù)包的性能 
redis-benchmark -h {host} -p {port} -q -d {bytes} 
測(cè)試某些命令性能 
redis-benchmark -t {command1,command2} -n {requests} -q 
測(cè)試某些數(shù)值存取的性能 
redis-benchmark -n {requests} -q script load "redis.call('set','foo','bar')" 
例如: 
代表100各個(gè)客戶端同時(shí)請(qǐng)求Redis,一共執(zhí)行20000次 
redis-benchmark -c 100 -n 20000 
====== MSET (10 keys) ====== 
  20000 requests completed in 0.57 seconds 
  100 parallel clients 
  3 bytes payload
keep alive: 1 
0.07% <= 1 milliseconds 
0.33% <= 2 milliseconds 
89.11% <= 3 milliseconds 
97.31% <= 4 milliseconds 
99.32% <= 5 milliseconds 
99.92% <= 6 milliseconds 
99.98% <= 7 milliseconds 
100.00% <= 7 milliseconds 
35335.69 requests per second

2、Pipelining

  • Redis是是一種client-server的request/response的模式,Redis有單獨(dú)的TCP Server。
  • client發(fā)送請(qǐng)求請(qǐng)求到server端,然后需要阻塞等待server端的響應(yīng)
  • server端處理請(qǐng)求然后返回響應(yīng)給client

即如上中介紹的HTTP的request/response一樣。在這種模式中,數(shù)據(jù)包必須從client發(fā)送到server端,然后再?gòu)膕erver端返回到client端,這個(gè)時(shí)間叫做RTT(Round Trip Time)

假設(shè)Redis Server每秒能處理100k請(qǐng)求,但是RTT是250ms,這樣Redis Server實(shí)際每秒只能處理4個(gè)請(qǐng)求,而且這種影響會(huì)隨著網(wǎng)絡(luò)延遲越大而逐漸加劇。所帶來(lái)的直接影響:

  • 阻塞客戶端線程或進(jìn)程,消耗資源,大量請(qǐng)求時(shí)無(wú)疑降低client性能
  • 降低server端的吞吐量

為了解決該問(wèn)題,需要一種client無(wú)等待響應(yīng)的方式發(fā)送請(qǐng)求至server的模式,即Redis pipelining。

Redis pipelining降低了高延遲網(wǎng)絡(luò)中,request/response方式帶來(lái)的請(qǐng)求應(yīng)答的環(huán)回時(shí)間消耗:

  • 無(wú)序等待響應(yīng)的方式發(fā)送請(qǐng)求,減少等待時(shí)間(特別在高延遲網(wǎng)絡(luò)中)
  • 一次性返回響應(yīng),減少多次響應(yīng)的帶來(lái)的時(shí)間消耗

更重要的一點(diǎn)是,在request/response的方式中,逐次發(fā)送請(qǐng)求至server端,server端每次都需要read/write,這里的read/write是systcall,涉及到內(nèi)核態(tài)和用戶態(tài)的切換,非常消耗系統(tǒng)資源。Redispipelining的方式盡量減少了這種系統(tǒng)狀態(tài)的切換開(kāi)銷(xiāo)。

redis-benchmark -n 1000000 -t set,get -P 16 -q

分享到:
標(biāo)簽:Redis
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定