2013-03-01 21 views
0

我有一個場景,需要加載轉輪給我一個特定格式的報告。需要使用負載轉輪的解決方案

場景:我有一個包含1000個SQL的Excel工作表。每行有1個SQL。我希望加載運行者選擇這個SQL並且同時運行它與不同的用戶(一次說3個用戶)。例如,User1選擇SQL1,User2選擇SQL2 & User3選擇SQL3。現在,第一個完成的用戶將選擇下一個SQL,例如User2完成,然後它將選擇SQL4等等,直到所有SQL耗盡。

報告:在最終報告中,我需要以下內容: 對於每個執行SQL,SQL,開始時間,結束時間,響應時間的SQL用戶。 對於所有SQL(總體):CPU使用情況,內存使用情況,服務器的磁盤使用情況。 報告格式可以是任何內容,txt或excel。

感謝, 阿洛克

回答

0

自然而然的問題是,鑑於這是您的第一個問題,您對該工具的培訓水平是什麼?該解決方案集利用參數化引擎,該引擎作爲該工具培訓的一部分被廣泛覆蓋,以及交易時間模型,該模型也作爲標準產品培訓的一部分進行了介紹。如果你被要求在沒有工具,過程和指導階段的培訓的情況下完成這個任務,那麼你的成功機率漸趨接近零。

解決方案路徑:VB Template虛擬用戶。您需要驗證您的許可證允許使用模板虛擬用戶選項。這也是一個程序化的解決方案,所以你需要有適當的VB技能。使用Java虛擬用戶和C虛擬用戶也可以完成同樣的任務。標準數據庫虛擬用戶在這裏並不合適,因爲您在結果集中具有大概不同數量的SQL的SQL,因此您需要一個解決方案集,以便在收到結果時具有靈活性,而不是在本機中找到的硬編碼期望模型數據庫虛擬用戶。

有兩列的參數文件:列1是事務的短名稱,列2是查詢。在您的虛擬用戶中分配唯一的SQL查詢。

你的虛擬用戶P碼

Init 
{ 
Establish connection to the database server 
} 

Action 
{ 
Rendezvous (policy, wait for at least 3) 
delay a random number of milliseconds between 250 and 500 to account for human chaotic behavior 
Start Transaction (Column 1) 
Run My Query (Column 2) 
Logic to pass pass|fail of transaction (End Transaction - PASS|FAIL) 
} 

End 
{ 
Close my database connection 
} 

你應該知道,用戶不會,每個人都做了準確地在同一時間同時的基礎上運行。可能有用戶在彼此之間併發運行,但是同時進行的同時性卻是每個人在同一時間做同樣的事情需要與時鐘同步。人類是混亂的儀器,並沒有與其他人同步的內部時鐘。

對於與您的SQL綁定的CPU,磁盤和其他指標,您將希望利用可用於數據庫平臺的SQL分析工具。對於ORACLE來說,這是一個AWR報告。對於Microsoft SQL Server,它是適合命名的SQL Profiler工具。 Sybase,DB2,MySQL等......都具有相同的工具功能,只是將其從管理工具箱中挖出來。

如果您只是想在測試期間監控服務器,那很簡單。查看SiteScope與LoadRunner的集成。從版本8.1開始,每個版本的LoadRunner隨附500個Sitecope。您還可以直接查詢表,例如ORACLE中的V $表或Microsoft/Sybase SQL服務器中的系統表,然後爲希望跟蹤的信息創建數據點。

0

你是說你創造了這個方案,並與它有麻煩?如果是這樣,你遇到了什麼問題?或者你問這是否可能?

您描述的場景當然是可能的,您可以在腳本的參數列表中設置一個完整的SQL命令的數據文件,並使用'Unique'設置來劃分運行的SQL語句並確保它們不會' t使用相同的。也可以在LoadRunner中創建自定義報告輸出。您可以在腳本中創建函數以使用lr_user_data_point()函數輸出自定義報告數據。輸出看起來像分析工具中的任何其他時間線數據跟蹤報告。

0

點擊瀏覽器中的參數選項,現在點擊新的參數並將其命名爲sql查詢。

  1. 點擊編輯記事本
  2. 填充你的SQL查詢。
  3. 保存並將參數設置保存爲唯一的每次迭代,並在其下方中止vuser。 4現在,每個用戶都會根據自己的喜好逐個挑選唯一的值,如果用完的值將停止運行