學習使用Jmeter做壓力測試(三)--資料庫測試 - ITREAD01.COM
文章推薦指數: 80 %
資料庫測試. JMeter可以做為Web伺服器與瀏覽器之間的代理閘道器,以捕獲瀏覽器的請求和Web伺服器的響應,這樣就可很容易的生成效能測試指令碼。
學習使用Jmeter做壓力測試(三)--資料庫測試
首頁
最新
HTML
CSS
JavaScript
jQuery
Python3
Python2
Java
C
C++
Go
SQL
首頁
最新
Search
學習使用Jmeter做壓力測試(三)--資料庫測試
2019-01-17254
資料庫測試
JMeter可以做為Web伺服器與瀏覽器之間的代理閘道器,以捕獲瀏覽器的請求和Web伺服器的響應,這樣就可很容易的生成效能測試指令碼。
根據指令碼,JMeter可通過執行緒組來模擬真實使用者對Web伺服器做壓力測試。
本文描述使用JMeter進行資料庫測試的過程。
建立測試計劃,模擬
併發使用者傳送SQL請求到資料庫。
測試資料庫。
效能測試的目標是找到系統的效能瓶頸。
本文將通過構造測試場景,完成對資料庫的測試。
場景:
1.單使用者:a.SQL語句優化; b.資料庫約束檢查; c.分頁查詢;
2.併發使用者:a.資料庫連線池、WEB執行緒池、資料庫死鎖;
步驟:
(資料庫)測試計劃:
1.新增併發使用者
新增執行緒組(ThreadGroup),修改名稱為JDBCUsers。
設定執行緒數為5,迴圈次數為2。
其他配置項不變。
2.新增JDBC請求
2.1.選中執行緒組,右鍵新增->配置元件->JDBCConnectionConfiguration。
其實,這個就是通過JDBC連線資料庫的配置檔案。
修改DataBaseConnectionConfiguration的配置:
DatabaseURL:jdbc:mysql://localhost:3306/jmetertest
JDBCDriverclass:com.mysql.jdbc.Driver
Username:username
Password:passwd
VariableName:mysql 連線配置名在測試計劃中是唯一的,後面會與JDBC請求繫結。
2.2.選中執行緒組,右鍵新增->取樣器(Sampler)->JDBCRequest。
這個就是通過JDBC向資料庫傳送的請求。
修改:
VariableName:mysql 這個和資料庫連線配置(JDBCConnectionConfiguration)中的配置名是一致的,代表一種對應關係。
即我的這個JDBC請求是要通過名為mysql的
資料庫連線配置檔案來向資料庫傳送的。
Query:SELECTid,name,sexFROM usersWHEREname='lisi'
3.新增監聽器用於檢視/儲存測試結果
選中執行緒組,右鍵新增->監聽器->檢視結果樹。
選中執行緒組,右鍵新增->-監聽器->聚合報告。
選中測試計劃,右鍵新增->監聽器->圖形結果。
以上監聽器用來檢視、儲存測試結果。
說明:在點選“執行”之後,若在結果樹看到紅色的JDBCRequest或是聚合報告中Error一列非零。
則說明測試執行有錯誤。
檢視結果樹,取樣器結果頁籤,找到Responsemessage資訊,提示的就是錯誤原因。
比如:nosuitabledriverfoundforjdbc。
說明JDBC驅動(我連線的是mysql資料庫)有問題。
檢視資料庫版本為5.1.30。
網上找到mysql-connector-java-5.1.30-bin.jar。
複製到jmeter主目錄的lib子目錄下,然後在測試計劃頁最下方新增Library即可解決此問題。
結果分析:
我在實際工作中很少接觸資料庫測試。
所以也是摸著石頭過河。
接觸過一例資料庫假死的問題,原因是開發寫的SQL語句不嚴謹造成的。
比如:SELECT*FROMuser;看著語句好像沒什麼,但是這表裡面有上千萬條資料。
在WEB頁面是隻有主管級別的使用者才可以操作執行的,但是一執行的話WEB就進入假死狀態。
大約30分鐘才結束這種狀態,實際是開發SQL語句的問題。
多加幾個限制條件
就好了。
其實,主管級別的使用者是有這個查詢的許可權,但都是按條件查,實際不會做查詢全部使用者的操作。
注:
.
相關文章
學習使用Jmeter做壓力測試(三)--資料庫測試
Vue入門學習-使用伺服器傳來的JSON資料交給Vue渲染HTML頁面
基於JavaJunit測試框架+jmeter做壓力測試
使用JMeter做效能測試的心得
用httpclient做壓力測試時Toomanyopenfiles的解決辦法
Python模組(學習使用模組和安裝第三方模組)
JMeter做壓力測試,先呼叫第一介面,拿到返回值後去呼叫第二個介面(小白級入門)
PythonWeb開發Django框架學習(十一)使用框架自帶Admin管理資料庫資料
jmeter做壓力測試心得
孤荷凌寒自學python第五十七天初次嘗試使用python來連線遠端MongoDb資料庫
孤荷凌寒自學python第五十三天使用python寫入和修改Firebase資料庫中記錄
使用springboot中的JPA操作資料庫
使用Flyway管理你的Springboot資料庫版本
使用P6Spy監控你的Springboot資料庫操作
使用dbproxy來處理高併發資料庫請求
分類導航
HTML/CSS
HTML教程
HTML5教程
CSS教程
CSS3教程
JavaScript
JavaScript教程
jQuery教程
Node.js教程
服務端
Python教程
Python3教程
Linux教程
Docker教程
Ruby教程
Java教程
JSP教程
C教程
C++教程
Perl教程
Go教程
PHP教程
正則表達式
資料庫
SQL教程
MySQL教程
PostgreSQL教程
SQLite教程
MongoDB教程
Redis教程
Memcached教程
行動端
IOS教程
Swift教程
Advertisement
三度辭典
Copyright©2016-2021IT閱讀
Itread01.comAllRightsReserved.
0.001291036605835
延伸文章資訊
- 1一個快要被忘記的資料庫開發崗位,但值得被尊重 - Medium
資料庫測試,似乎是被人遺忘的資料庫職業,但依然是不錯的選擇。 ... 如果要測試併發壓力,就不能用單元測試;要測試新功能,就不能執行迴歸測試。
- 2MySQL壓力測試工具mysqlslap @ 網頁程式- coke750101
MySQL從5.1.4版開始帶有一個壓力測試工具mysqlslap,通過模擬多個併發用戶端 ... 可以看到最後由刪除一開始創建的schema的動作,整個測試完成後不會在資料庫中留下痕跡 ...
- 3學習使用Jmeter做壓力測試(三)--資料庫測試 - ITREAD01.COM
資料庫測試. JMeter可以做為Web伺服器與瀏覽器之間的代理閘道器,以捕獲瀏覽器的請求和Web伺服器的響應,這樣就可很容易的生成效能測試指令碼。
- 4資料庫壓力測試工具Hammerdb - IT閱讀
資料庫壓力測試通過模擬使用者真實的應用場景,為資料庫效能和可擴充套件性的評估提供了有效的方式。通過壓力測試,資料庫系統廠商及使用者可以瞭解資料庫 ...
- 5Toad for SQL Server-如何進行資料庫系統壓力測試 - iT 邦幫忙
Toad for SQL Server-如何進行資料庫系統壓力測試. mpinfo. 12 年前‧ 12642 瀏覽. 11. 壓力測試(Stress Test) – 用以驗證系統在超出預期的負...