MemSQL初體驗 - (3)效能測試
3、效能測試
在執行測試前必須首先說明一下本地的虛擬機器測試環境:
MEM:2G
CPU:1 core
OS:CentOS 6.0
配置整體較差,其實是不適合做DB環境的效能測試的,尤其CPU/記憶體都不夠強,對於測試MemSQL這種恰恰很依賴CPU的應用其實是很不公平地,可是手頭上暫時未找到裝了CENTOS6以上版本的實體機,因此臨時拿它充數。不過測試前我自己心裡也有預期,這個效能表現不會太好,結果只能說僅供參考,其實是不具備實際意義地。待過段時間有了空閒資源會考慮再做對比測試。
這裡先按照普通流程走一遍,大致看一下對比,先看看查詢MySQL資料庫時的效能:
- [root@mysql1 script]# perl testquery-sql 20 4000
Thu Jun 21 14:14:52 2012 CPU:0 LOAD:2.78 GETS:7373
Thu Jun 21 14:14:53 2012 CPU:82.00 LOAD:2.78 GETS:3671
Thu Jun 21 14:14:54 2012 CPU:82.00 LOAD:2.78 GETS:3240
Thu Jun 21 14:14:55 2012 CPU:80.20 LOAD:2.78 GETS:3696
Thu Jun 21 14:14:56 2012 CPU:80.20 LOAD:2.78 GETS:3221
Thu Jun 21 14:14:57 2012 CPU:83.00 LOAD:2.78 GETS:3618
Thu Jun 21 14:14:58 2012 CPU:83.00 LOAD:4.24 GETS:3187
Thu Jun 21 14:14:59 2012 CPU:82.00 LOAD:4.24 GETS:3693
...............
...............
測試通過HandlerSocket外掛訪問MySQL庫時的效能:
- [root@mysql1 script]# perl testquery-hs 20 10000
Thu Jun 21 14:16:58 2012 CPU:0 LOAD:0.00 GETS:27213
Thu Jun 21 14:16:59 2012 CPU:53.00 LOAD:0.00 GETS:13318
Thu Jun 21 14:17:00 2012 CPU:53.00 LOAD:1.28 GETS:12645
Thu Jun 21 14:17:01 2012 CPU:52.00 LOAD:1.28 GETS:13282
Thu Jun 21 14:17:02 2012 CPU:52.00 LOAD:1.28 GETS:12674
Thu Jun 21 14:17:03 2012 CPU:51.00 LOAD:1.28 GETS:12051
Thu Jun 21 14:17:04 2012 CPU:51.00 LOAD:1.28 GETS:12687
Thu Jun 21 14:17:05 2012 CPU:52.00 LOAD:1.28 GETS:13336
...............
...............
最後來看MemSQL的表現:
- [root@mysql1 script]# perl testquery-mem 20 10000
Thu Jun 21 14:21:13 2012 CPU:0 LOAD:1.53 GETS:21938
Thu Jun 21 14:21:14 2012 CPU:70.00 LOAD:1.53 GETS:7212
Thu Jun 21 14:21:15 2012 CPU:70.00 LOAD:1.53 GETS:6417
Thu Jun 21 14:21:16 2012 CPU:72.00 LOAD:1.53 GETS:7320
Thu Jun 21 14:21:17 2012 CPU:72.00 LOAD:1.53 GETS:6477
Thu Jun 21 14:21:18 2012 CPU:69.00 LOAD:1.53 GETS:7365
Thu Jun 21 14:21:19 2012 CPU:69.00 LOAD:2.85 GETS:6493
Thu Jun 21 14:21:20 2012 CPU:71.00 LOAD:2.85 GETS:7389
...............
...............
從效能對比上來看,比標準的SQL方式查詢MySQL資料庫確實要快一些,但效能提升沒有想象的那麼多,對比HandlerSocket外掛方式訪問,甚至效能還要差很多的。
但是開頭也說了,虛擬機器環境不太適合做DB的測試,這裡的結果僅供參考。考慮到曾經在標配8核48G的Linux PC上測試HandlerSocket,峰值QPS能到10w,以此對比計劃,估計好一點的機器上,MemSQL的QPS達到數萬應該是沒有問題的。
不過從上面這個結果對比實際上還是能看出些許差異地,我們注意到,這三個測試中,CPU佔用率方面,傳統SQL方式查詢是最佔CPU資源地,這與它執行時需要做大量SQL解析有直接關係,其次就是MemSQL方式,HandlerSocket的CPU佔用率最低。在系統負載方面,也有相同的結論,所以,我目前傾向於認為,MemSQL的效能應當是不及MySQL服務載入HandlerSocket外掛的表現地。
不過,由於MemSQL對於MySQL的良好相容性,從MySQL轉換成MemSQL的實施成本很低,幾乎就是運維人員安裝好軟體,同步好資料就行了 ,我想在某些場景還是有其大展拳腳的舞臺地。現在比較令人困惑的是MemSQL究竟會如何定位自己,從目前公開的資訊來看,它還是想走商業化路徑,在當前推出的版本中,開發版本可以免費使用,但是記憶體最多隻能使用10G,試用版本倒無記憶體的限制,但是隻有30天的試用期。做為一個後來者,倒是可以給他些時間,看看未來的表現如何。
==========================================
相關文章:
MemSQL初體驗 - (1)傳說中速度最快的關聯式資料庫軟體
MemSQL初體驗 - (2)初始化測試環境
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-733918/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 騰訊效能測試工具——PerfDog使用初體驗
- 《JMeter實戰》第二章 效能測試初體驗 摘錄JMeter
- 實驗3:軟體測試
- 實驗3——軟體測試
- pytest核心測試平臺落地初體驗
- Rxjs初體驗:製作語音測試工具JS
- 初識效能測試(測試小白麵試總結)
- 測試平臺系列(74) 測試計劃定時執行初體驗
- 客戶端效能測試利器PerfDog嚐鮮體驗客戶端
- Vue CLI 3.X 初體驗Vue
- 如何在Java中做基準測試?JMH使用初體驗Java
- 效能測試——效能測試-常見效能指標-總體概況指標
- 【效能優化】秒殺系統效能優化初體驗優化
- css3媒體查詢初體驗CSSS3
- Vite + Vue3 初體驗 —— Vue3 篇ViteVue
- Vite + Vue3 初體驗 —— Vite 篇ViteVue
- 高效能無鎖佇列 Disruptor 初體驗佇列
- 軟體效能測試有哪些效能指標?可做效能測試的軟體檢測機構安利指標
- 軟體測試計劃文件(初)
- 軟體產品測試之效能效率測試
- 軟體效能測試有哪些測試過程?
- 軟體效能測試和可靠性測試
- 軟體效能測試有哪些測試指標?效能測試報告怎麼編寫?指標測試報告
- 軟體效能測試常見指標。在哪裡測試測試?指標
- PHP效能優化:生成器 yield的初體驗PHP優化
- 初級軟體測試必問面試題面試題
- PR效能測試軟體適用於哪些測試
- 軟體測試實驗三單元測試
- 軟體測試實驗二 | 白盒測試
- 實驗三——軟體測試
- 實驗三:軟體測試
- 實驗三 軟體測試
- 實驗三-軟體測試
- ReactNative初體驗React
- OpenCV 初體驗OpenCV
- http初體驗HTTP
- Flutter初體驗Flutter
- Nuxt 初體驗UX
- jQuery初體驗jQuery