2012-03-27 83 views
0

我正在使用The Grinder - 版本3.7.1進行負載測試。我的測試包括擊中億個URL格式的:磨牀 - 使用同一進程中的多個線程創建多個網址

如:www.someDomain.com/a_1.com www.someDomain.com/a_2.com

所以,如果我使用的研磨機,例如,每個過程都採取一個網址,這在我的情況下是不可行的。所以,我希望每個線程都佔用一個url。但是,我不知道如何在磨牀上實現這一點。

回答

0

您可以在磨牀腳本中動態構建網址。只需使用標準的Python字符串替換技術即可。您的解決方案可能是這個樣子:

from net.grinder.script.Grinder import grinder 
    from net.grinder.script import Test 
    from net.grinder.plugin.http import HTTPRequest 

    test1 = Test(1, "Request resource") 
    request1 = test1.wrap(HTTPRequest()) 

    class TestRunner: 

     def _get_url(self): 
      url = "" 
      # build your url here 
      # ... 
      return url 

     def __call__(self): 
      result = request1.GET(self._get_url()) 

這裏有一些其他腳本可能會有所幫助:

http://grinder.sourceforge.net/g3/script-gallery.html

你可以從一個數據文件的讀取網址或建立他們蒼蠅。通過Grinder API,您可以訪問線程號和迭代,對您的任務可能有用。

+0

嗨特拉維斯,我試着從文件中讀取網址。但是一個線程不會佔用一個url。一個進程佔用一個url。我可以得到線程號並手動分配網址嗎? – 2012-03-29 07:07:23

+0

線程,進程或url之間沒有嚴格的耦合。您可以爲每個線程分配任意數量的url。你甚至可以爲每個線程的每次迭代擁有一個唯一的url。 Python有一套豐富的字符串操作技術,您可以使用它來達到此目的。您可以通過訪問grinder.threadNumber和grinder.runNumber獲取當前線程的信息。請參閱腳本庫(在答案中鏈接)以獲取有關如何執行此操作的示例。 – 2012-03-29 18:24:17

+0

好的,謝謝。我還在研究其他負載測試引擎,並發現使用JMeter更容易。但我也會嘗試像你在磨牀上說的那樣。 – 2012-04-02 09:16:37

相關問題