2014-11-01 64 views
0

我需要使用jMeter進行一系列數據庫性能測試。jMeter數據庫負載測試:隨機化查詢謂詞

該數據庫擁有約3200萬個賬戶和約150億筆交易。 我用一個SELECT語句和一個硬編碼的vAccountNum配置了一個JDBC連接配置和一個JDBC請求,並且這個工作正常。

SELECT COL1,COL2,COL3,COL4,從那裏賬戶= vAccountNum

我需要衡量有多少結果集可以在5分鐘1屆會議上完成交易COL5;然後添加會話並調整直到服務器資源耗盡。 什麼是隨機化vAccountNum的最佳方式,以便我可以得到平等分配的帳戶返回?

回答

0

根據什麼類型vAccountNum是選擇是:

  • 各種JMeter功能類似於
    • __Random功能 - 定義的範圍內產生隨機數
    • __threadNum功能 - 返回當前線程的數量( 1爲第一個線程,2爲第二個,等等)
    • __counter函數 - 一個簡單的計數器正在增加1 eac h時間被稱爲
  • CSV Data Set Config - 從CSV文件中讀取預定義的vAccountNum值。在這種情況下,請確保您提供了足夠的帳號,這樣您就不會用可能從緩存中返回的相同查詢來敲擊服務器。
+0

謝謝。我使用了這些功能,並且按照您所描述的那樣工作。我沒有使用__Random,而是創建了一個包含100萬賬號的CSV文件(使用Pythons Random()),然後使用CSV數據集配置來讀取這些文件並將它們分配給一個變量,並將其替換爲賬號。使用一組50k賬戶和可變數量的線程(10,20-60),我可以返回可重複,一致的測試結果。吞吐量以每秒2400個查詢達到峯值。 – MarkTeehan 2014-11-04 02:21:18