背景:
最近做的一個項目需要對比關系數據庫和非關系數據庫的性能,不僅需要進行簡單的增刪改查對比,還需要進行並發負載測試,所以想到了使用一款壓測工具來簡化操作過程。在對壓測工具進行一些簡單的調研后,發現JMeter比較簡單易學,而且功能相對比較強大。
因此選擇了使用JMeter壓測工具來對 MySQL、MongoDB、Neo4j三種數據庫進行性能測試。這篇博客主要是記錄下操作過程,便於以后可以快速撿起jmeter進行數據庫操作的使用方式。
什么是JMeter?
Apache JMeter是Apache組織開發的基於Java的壓力測試工具,用於對軟件做壓力測試,它可用於測試靜態和動態資源。 JMeter可以用於對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。
這里默認讀者已經基本了解Jmeter的基礎操作(一般就是,先在測試計划中添加線程組,然后添加配置元件,接着添加取樣器,最后可以添加監聽器。)
那么接下來分別說明如何對三種數據庫壓測進行設置。
一、對MySQL進行壓測
1.設置線程組
2.設置配置元件JDBC Connection Configuration
現在jmeter安裝目錄\lib\ext目錄下,放入mysql驅動包
(下載: https://pan.baidu.com/s/1vgunHJHhVxCHjf-xsWVVJA 提取碼:imme)
3.設置取樣器JDBC Request
4.設置監聽器察看結果樹、聚合報告
二、對MongoDB進行壓測
注意,由於MongoDB插件存在性能上的問題,Jmeter 3中已經將其刪除,所以此處我們需要解除對MongoDB的限制,進而使用該插件對MongoDB進行壓測。需要修改配置如下:
進入Jmeter的安裝目錄,在bin/user.properties文件內的末尾,添加一行:
not_in_menu=
然后,一定要記得重啟Jmeter,才能使MongoDB插件生效。
那么關於MongoDB的壓測配置如下:
1.線程組與上文一致,設置配置元件 MongoDB Source Config (DEPRECATED)
現在jmeter安裝目錄\lib\ext目錄下,放入mongodb驅動包
(下載: https://pan.baidu.com/s/1JFcjS6R8gzDGps_Dx1PVmA 提取碼:ug5c)
2.設置取樣器 MongoDB Script (DEPRECATED)
3.然后設置監聽器,與上文一致
三、對Neo4j進行壓測
注意,此處對Neo4j進行壓測時,使用的是JDBC的方式,所以在配置方面與MySQL的配置比較類似,如下:
1. 線程組與上文一致,設置配置元件JDBC Connection Configuration
現在jmeter安裝目錄\lib\ext目錄下,放入neo4j驅動包
(下載:https://pan.baidu.com/s/18Yz1yaDaLz0lkRXskPlRKg 提取碼:j0i6)
2. 設置取樣器JDBC Request
3.然后設置監聽器,與上文一致
OK! 通過以上的配置,我們就能連接到對應的不同類型的數據庫中,進行增刪改查語句的操作,查看到響應時間、吞吐量等。