1. 程式人生 > >mysql&redis效能測試

mysql&redis效能測試

測試環境
機器:
在這裡插入圖片描述
Redis: Redis server v=3.0.5 sha=00000000:0 malloc=libc bits=64 build=3145a5e1a81fd3f7
Mysql: Server version: 5.7.9 Homebrew

提示:以下測試結果均在單執行緒環境下執行

redis
get
在這裡插入圖片描述
set
在這裡插入圖片描述
set get 同時執行
在這裡插入圖片描述
mysql
select
在這裡插入圖片描述
update
在這裡插入圖片描述
測試報告
通過對redis的set、get命令測試觀察,redis的讀寫效能在單執行緒下可以達到每秒2W左右
通過對mysql的select和insert、delete語句測試,mysql的讀效能可達到6000每秒,寫效能可到達3000每秒,讀效能基本是寫效能的2倍。

redis效能分析
redis的讀寫為什麼這麼快,個人覺得主要體現在redis的設計上,redis是單程序單執行緒模式,採用佇列模式將併發訪問轉為序列訪問,而這種模式不但沒有影響它的效能,反而因為這樣設計而變得更快速,這要結合redis的使用場景。在這種簡單的設計模式下,redis本身並沒有競爭沒有鎖的概念。估計作者也是結合了redis的使用場景才這麼幹的,因為畢竟redis主要操作記憶體資料,而且定位資料時採用hash定位,它在寫入和查詢時所以基本不消耗什麼效能,另外單個命令基本都是瞬間完成,應該不會出現因採用序列化執行而出現阻塞的情況,即應該不會出現某條命令執行時間過長而阻塞後面的命令執行的情況,這也是為什麼不建議在Redis的一個key上存取太長資料的原因。這種簡單的設計模式,不僅提高了redis的效能,而且在實現上程式碼也會少很多,實現起來也會變得簡單起來。

結語:
想要學習提升突破的童靴可以加我的QQ:1363134450,學習交流群:903217991