日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

JMeter:负载测试关系数据库

發布時間:2023/12/3 数据库 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JMeter:负载测试关系数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Apache JMeter是完全使用Java編寫的性能測試工具。 可以在請求/響應模型上運行的任何應用程序都可以使用JMeter進行負載測試。 關系數據庫也不例外:接收sql查詢,執行它們并返回執行結果。

我將向您展示使用JMeter的圖形用戶界面設置測試方案有多么容易。 但是在深入研究細節之前,讓我們先介紹一下基本術語:

測試計劃 :描述測試方案
線程組 :代表運行您的測試方案的用戶。
樣本 :一種發送請求和等待響應的方式。 HTTP請求,JDBC請求,SOAP / XML-RPC請求和Java對象請求是示例示例。 邏輯控制器 :用于自定義JMeter用于決定何時發送請求的邏輯 偵聽器 :接收測試結果并顯示報告。 計時器 :導致JMeter在線程發出的每個請求之前延遲一定的時間。 斷言 :測試應用程序是否返回預期的響應

注意 : 這篇文章并不是JMeter的替代文檔。 JMeter的文檔很好。 您可以在其用戶手冊(http://jakarta.apache.org/jmeter/usermanual/index.html)中找到詳細信息。假設我們有一個將每個事務記錄到關系數據庫中的應用程序。我們將創建一個測試計劃–循序漸進–為了回答以下問題。

  • 一秒鐘內可以將幾筆交易記錄插入到交易表中?
  • 將單個交易記錄插入交易表需要多少時間?
  • 并發線程數(用戶)如何影響插入/秒數和平均響應時間?
  • 記錄數如何影響插入/秒數和平均響應時間?

步驟1

將mysql jdbc驅動程序復制到JMeter安裝的lib文件夾中。 JMeter在類路徑中需要合適的jdbc驅動程序以連接到數據庫。

Example ~/tools/jakarta-jmeter-2.3.4/lib/mysql-connector-java-5.0.5.jar

我們將把客戶的訂單和訂單結果存儲在交易表中。

CREATE TABLE transactions (id INT NOT NULL AUTO_INCREMENT,customer_id INT NOT NULL,order_id INT NOT NULL,result INT,PRIMARY KEY (id) );

第2步

創建一個測試計劃,并將其命名為“ Test MYSQL DB”。 然后將以下jmeter組件添加到測試計劃中。

  • 名為“數據庫用戶”的線程組
  • JDBC請求類型的采樣器
  • JDBC連接配置類型的Config元素
  • 類型為“ 隨機變量”的三個配置元素
  • 摘要報告類型的偵聽器
  • 添加這些組件后,JMeter測試計劃如下圖所示。

    第三步

    配置數據庫用戶。 線程組組件模擬數據庫用戶。
    1.用戶數(線程)
    2.用戶將發送請求多少次(循環計數)。 如果選擇'Forever' ,則線程將在while(true){…}循環中運行,直到您決定停止測試為止。

    第四步

    配置JDBC連接池。 JDBC連接配置組件用于創建jdbc連接池。 數據庫URL,jdbc驅動程序,數據庫用戶和密碼均使用此組件進行配置。 連接池由“變量名稱”標識。 JDBC采樣器(請求)使用此變量名稱(連接池名稱)來彈出和推送連接。 我將測試連接池命名為“我的數據庫池”

    第5步

    定義將在INSERT語句中使用的隨機變量。 在此測試中,我使用了三個隨機變量: 用戶ID,訂單ID和結果 。 下圖顯示了用戶ID的隨機數配置。 隨機數生成器將為我們提供1到1000000之間的隨機整數。我們可以使用名稱user_id來引用生成的隨機數。

    第6步

    JDBC Request組件是我們告訴用戶(線程)要做什么的地方。 在步驟3 “我的數據庫池”中配置的池的名稱將用作“綁定到池的變量名稱” 。 所有線程將執行準備好的語句。 用戶ID,訂單ID和結果將由隨機數配置器生成(在步驟5中進行描述)

    步驟7

    現在,我們已將線程配置為將事務記錄插入到事務表中。 在最后一步中,我們將添加摘要報告類型的偵聽器,以查看測試結果。

    結果告訴我們,在無限循環中工作的10個并發用戶(線程)可以在事務表中插入近3300行。 插入行所花費的平均時間為2毫秒。 您也可以選擇“圖形結果”偵聽器以查看結果的直觀表示。
    我創建并運行了一個簡單的數據庫測試計劃。 希望這篇文章對您有所幫助。 謹記這個座右銘

    如果無法衡量,就無法管理也無法改善

    測試愉快...

    參考: 使用我們的JCG合作伙伴 Ilkin Ulas的JMeter進行負載測試關系數據庫 , 所有您的博客都屬于我們博客。


    翻譯自: https://www.javacodegeeks.com/2012/04/jmeter-load-testing-relational.html

    總結

    以上是生活随笔為你收集整理的JMeter:负载测试关系数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。