亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Redis壓力測(cè)試——redis-benchmark

Achilles / 1642人閱讀

摘要:吞吐量吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)處理請(qǐng)求的數(shù)量。不同系統(tǒng)的平均響應(yīng)時(shí)間隨用戶數(shù)增加而增長的速度也不大相同,這也是采用吞吐量來度量并發(fā)系統(tǒng)的性能的主要原因。

1、redis-benchmark簡介

? redis-benchmark是官方自帶的Redis性能測(cè)試工具,用來測(cè)試Redis在當(dāng)前環(huán)境下的讀寫性能。在使用Redis的時(shí)候,服務(wù)器的硬件配置、網(wǎng)絡(luò)狀況、測(cè)試環(huán)境都會(huì)對(duì)Redis的性能有所影響,我們需要對(duì)Redis實(shí)時(shí)測(cè)試以確定Redis的實(shí)際性能。

  • 語法格式:
redis-benchmark [參數(shù)] [參數(shù)值]
  • 參數(shù)列表:
參數(shù)描述默認(rèn)值
-h指定服務(wù)器主機(jī)名127.0.0.1
-p指定服務(wù)器端口6379
-s指定服務(wù)器 socket
-c指定并發(fā)連接數(shù)50
-n指定請(qǐng)求數(shù)10000
-d以字節(jié)的形式指定 SET/GET 值的數(shù)據(jù)大小2
-k1=keep alive 0=reconnect1
-rSET/GET/INCR 使用隨機(jī) key, SADD 使用隨機(jī)值
-P通過管道傳輸 請(qǐng)求1
-q強(qiáng)制退出 redis。僅顯示 query/sec 值
–csv以 CSV 格式輸出
-l生成循環(huán),永久執(zhí)行測(cè)試
-t僅運(yùn)行以逗號(hào)分隔的測(cè)試命令列表。
-IIdle 模式。僅打開 N 個(gè) idle 連接并等待。

1.1、Redis安裝

? 測(cè)試系統(tǒng)是CentOS7.X版本的,需要確保c++環(huán)境已經(jīng)安裝,執(zhí)行【gcc -v】查看系統(tǒng)是否有g(shù)cc環(huán)境,如果沒有使用yum安裝,windows版本可以跳過這步。

  • 安裝gcc
yum install gcc-c++
  • 安裝redis

redis下載地址:https://pan.baidu.com/s/13kHH-zU7vmh0YobyxhEmow,提取碼:dmnx,下載后上傳到服務(wù)器目錄中。

# 解壓tar -zxf redis-4.0.14.tar.gz# 進(jìn)入解壓目錄cd redis-4.0.14# 編譯make# 安裝redis到/usr/local/redismake install PREFIX=/usr/local/redis# 復(fù)制配置文件到剛才的安裝目錄cp redis.conf /usr/local/redis/# 進(jìn)入安裝后的目錄cd /usr/local/redis# 修改配置文件vim redis.conf# Redis后臺(tái)啟動(dòng)修改 daemonize 為 yes# Redis服務(wù)器可以跨網(wǎng)絡(luò)訪問修改 bind 為 0.0.0.0# 開啟aof持久化appendonly yes# 進(jìn)入bin目錄中啟動(dòng)redis,指定配置文件cd bin/./redis-server ../redis.conf

1.2、redis性能測(cè)試

? redis啟動(dòng)后進(jìn)入到bin目錄中,執(zhí)行以下命令進(jìn)行性能測(cè)試:

# 執(zhí)行測(cè)試性能命令./redis-benchmark -t set,get -n 100000

說明:因?yàn)闇y(cè)試的是本機(jī)的redis性能,所以沒有指定IP和端口號(hào)。

-t:表示執(zhí)行以逗號(hào)分隔的命令,執(zhí)行的是set操作和get操作,如果不指定具體的值,測(cè)試的結(jié)果較多

  • 執(zhí)行結(jié)果如下:
====== SET ======  100000 requests completed in 1.31 seconds  50 parallel clients  3 bytes payload  keep alive: 198.64% <= 1 milliseconds99.85% <= 2 milliseconds99.99% <= 3 milliseconds100.00% <= 3 milliseconds76335.88 requests per second====== GET ======  100000 requests completed in 1.26 seconds  50 parallel clients  3 bytes payload  keep alive: 199.27% <= 1 milliseconds100.00% <= 1 milliseconds79365.08 requests per second

? 反饋結(jié)果:

? SET部分和GET部分,只需要關(guān)注最后一句輸出即可,以GET為例,上述輸出:79365.08 requests per second,表示每秒的GET命令處理79365.08個(gè)請(qǐng)求,也就是QPS為7.9W個(gè)。

? 這里的數(shù)據(jù)都是理想數(shù)據(jù),測(cè)試出來的QPS不能代表實(shí)際生產(chǎn)的處理能力,在實(shí)際生產(chǎn)中,服務(wù)器的硬件配置、網(wǎng)絡(luò)狀況、測(cè)試環(huán)境都會(huì)對(duì)Redis的性能有所影響。

1.3、TPS、QPS、RT

? 在描述系統(tǒng)的高并發(fā)能力時(shí),經(jīng)常根據(jù)以下三個(gè)指標(biāo)來決定:

  • 響應(yīng)時(shí)間RT:響應(yīng)時(shí)間是指系統(tǒng)對(duì)請(qǐng)求作出響應(yīng)的時(shí)間。一個(gè)系統(tǒng)通常會(huì)提供許多功能,而不同功能的業(yè)務(wù)邏輯也千差萬別,因而不同功能的響應(yīng)時(shí)間也不盡相同。在討論一個(gè)系統(tǒng)的響應(yīng)時(shí)間時(shí),通常是指該系統(tǒng)所有功能的平均時(shí)間或者所有功能的最大響應(yīng)時(shí)間。
  • 吞吐量TPS:吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)處理請(qǐng)求的數(shù)量。不同系統(tǒng)的平均響應(yīng)時(shí)間隨用戶數(shù)增加而增長的速度也不大相同,這也是采用吞吐量來度量并發(fā)系統(tǒng)的性能的主要原因。一般而言,吞吐量是一個(gè)比較通用的指標(biāo),兩個(gè)具有不同用戶數(shù)和用戶使用模式的系統(tǒng),如果其最大吞吐量基本一致,則可以判斷兩個(gè)系統(tǒng)的處理能力基本一致。
  • 查詢率QPS:每秒查詢率QPS是對(duì)一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn),在互聯(lián)網(wǎng)中,經(jīng)常用每秒查詢率來衡量服務(wù)器的性能。對(duì)應(yīng)fetches/sec,即每秒的響應(yīng)請(qǐng)求數(shù),也即是最大吞吐能力,查詢率通常是針對(duì)單機(jī)進(jìn)行壓力測(cè)試。

1.4、測(cè)試Redis性能

? 在實(shí)際生產(chǎn)中,我們需要關(guān)心在應(yīng)用場(chǎng)景中,redis能夠處理的QPS是多少。我們需要估計(jì)生產(chǎn)的報(bào)文大小,使用benchmark工具指定-d數(shù)據(jù)塊大小來模擬:

./redis-benchmark -t get -n 100000 -c 100 -d 2048

? 指定并發(fā)數(shù)為100,數(shù)據(jù)大小為2048字節(jié),在實(shí)際生產(chǎn)中,每個(gè)業(yè)務(wù)處理的數(shù)據(jù)大小不一致,取出一個(gè)最大的數(shù)據(jù)為基數(shù)進(jìn)行測(cè)試即可,在程序里將數(shù)據(jù)的字節(jié)大小打印出來,使用redis-benchmark的-d參數(shù)指定數(shù)據(jù)大小。

? 執(zhí)行結(jié)果:

====== GET ======  100000 requests completed in 1.37 seconds  100 parallel clients  2048 bytes payload  keep alive: 194.15% <= 1 milliseconds98.86% <= 2 milliseconds99.80% <= 3 milliseconds99.90% <= 4 milliseconds99.92% <= 5 milliseconds99.93% <= 6 milliseconds99.96% <= 7 milliseconds100.00% <= 8 milliseconds100.00% <= 8 milliseconds73206.44 requests per second

? 使用redis客戶端登錄到redis服務(wù)中,執(zhí)行info命令查看redis的信息

# 使用Redis客戶端./redis-cli# 在客戶端中執(zhí)行info命令127.0.0.1:6379> info

查看結(jié)果,輸出的信息較多,查看# Memory下面的一些信息。

connected_clients:108 #redis連接數(shù)?used_memory:8367424 # Redis 分配的內(nèi)存總量 used_memory_human:7.98Mused_memory_rss:11595776 # Redis 分配的內(nèi)存總量(包括內(nèi)存碎片) used_memory_rss_human:11.06Mused_memory_peak:8367424used_memory_peak_human:7.98M #Redis所用內(nèi)存的高峰值used_memory_peak_perc:100.48%

? 需要關(guān)注used_memory_peak_human(redis已用內(nèi)存)和used_memory(分配的內(nèi)存總量),當(dāng)used_memory_peak_human接近used_memory時(shí)就需要注意了。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/121606.html

相關(guān)文章

  • 壓力測(cè)試 云內(nèi)存 UMem Redis

    摘要:測(cè)試腳本測(cè)試結(jié)果測(cè)試結(jié)果讀寫比例快杰快杰快杰快杰快杰 壓力測(cè)試本篇目錄物理機(jī)普通機(jī)型測(cè)試快杰主備redis產(chǎn)品測(cè)試物理機(jī)普通機(jī)型測(cè)試測(cè)試條件1.開啟pipeline,不同連接數(shù).2.關(guān)閉pipeline,不同連接數(shù)3.開啟pipeline,不同Data size測(cè)試腳本模板:#!/bin/bash for clients in {1,2,4,8,16,32,64,128,256,512,80...

    ernest.wang 評(píng)論0 收藏654
  • 基于一致性哈希的分布式內(nèi)存鍵值存儲(chǔ)——CHKV

    摘要:基于一致性哈希的分布式內(nèi)存鍵值存儲(chǔ)。失效未經(jīng)請(qǐng)求與數(shù)據(jù)轉(zhuǎn)移就斷開了和的連接則需要及時(shí)通知??梢娋幾g模式并沒有比混合模式效果好,因?yàn)榧词故遣粺狳c(diǎn)的代碼也要編譯,反而浪費(fèi)時(shí)間,所以一般還是選擇默認(rèn)的混合模式較好。 Consistent Hashing based Key-Value Memory Storage 基于一致性哈希的分布式內(nèi)存鍵值存儲(chǔ)——CHKV。目前的定位就是作為 Cache...

    zhangke3016 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<