Redis 相信不少人都用過了,關於性能啥的,網上一堆報告,閒得蛋痛,又隨便測測寫寫一些狗屁文章,來刷存在感了。redis
Redis 官方地址centos
下載頁默認是redis6.0,5.0版本在下面「other versions」,由於redis6.0 架構上作了很大的調整,線上服務器是centos7.8而且是內網狀態,在不聯網的狀況下根本沒法部署6.0(簡直就是惡夢),業務仍是5.0版本,那麼這裏就測試5.0版本。服務器
按着官方的操着方式成功安裝redis5.0網絡
先看看服務器配置,CPU型號是:Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz架構
先試官方提供的壓測工具,在redis目錄下面,redis-benchmark併發
相關的指令以下圖工具
爲了使得數據更真實,分別準備了兩臺服務器,Redis 服務器:192.168.3.40 ,壓測服務器是:192.168.3.138 ,本次測試是基於單機測試,非集羣性能
Set 測試測試
./redis-benchmark -h 192.168.3.40 -p 6379 -t set -n 1000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 100 -n 1000000
上面兩句代碼分別是進行 1000000 次 Set 請求,使用默認大小(3 個字節),第一行默認使用50併發,第二行指定100併發數。centos7
能夠看到,這臺Redis服務器的性能上限就是9W/s 的處理速度,固然REDIS的速度更多的是受限於內存的速率和網絡IO,而並不是CPU的影響。
從上面的數據來看,併發客戶端從50升到100個,並無很顯著的提升性能,可是並非意味着多個客戶端並不能有效的提升處理速度。
把客戶端併發數調整爲10的時候,能夠明顯看處處理的速度變慢了。
接下來將測試不一樣的客戶端併發數下,CPU和網絡的變化狀況
./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 5 -n 100000000 ./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 50 -n 100000000 ./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 100 -n 100000000
三者的處理速度分別是:3.8W/S , 10W/S , 8.6W/S
CPU變化總截圖
網絡變化總截圖,注意順序依次爲三者的網絡變化
Get 測試
./redis-benchmark -h 192.168.3.40 -p 6379 -t get -c 5 -n 100000000 ./redis-benchmark -h 192.168.3.40 -p 6379 -t get -c 50 -n 100000000 ./redis-benchmark -h 192.168.3.40 -p 6379 -t get -c 100 -n 100000000
三者的處理速度分別是:4.1W/S ,9.9W/S , 8.5W/S
CPU變化截圖
網絡變化總截圖,注意順序依次爲三者的網絡變化
Lpust 測試
./redis-benchmark -h 192.168.3.40 -p 6379 -t lpush -c 5 -n 100000000 ./redis-benchmark -h 192.168.3.40 -p 6379 -t lpush -c 50 -n 100000000 ./redis-benchmark -h 192.168.3.40 -p 6379 -t lpush -c 100 -n 100000000
三者的處理速度分別是:3.8W/S ,9.9W/S , 8.7W/S
CPU變化截圖
網絡變化總截圖,注意順序依次爲三者的網絡變化
原本是想測試下,正常環境下,模擬普通接口的壓測,算了一下,每一個接口15KB,以這個速度內存16G是不夠的, 配置了100G內存,只能支持2分鐘,壓測不動就這樣吧,後面有機會再壓測模擬正常接口大小的結果。
今天的就先水到這裏,下篇文章見。