嗯,我有以下問題。我想強調測試部署在Tomcat服務器上的我的應用程序 。我想測試的情況如下: 用戶上傳文件,文件被轉碼爲另一種格式,新文件被 下載回用戶設備。 我使用線程模擬每個用戶(三種操作模式爲三種方法)。 我創建了一個類型爲newFixedThreadPool(30)的線程池執行器,並且我執行了 這三個方法實現了Runnable的一個類的run方法, 在for循環中被調用了300次迭代(每次迭代 是一個新用戶)。 在主:帶線程池執行程序的壓力測試應用程序
ExecutorService的執行人= Executors.newFixedThreadPool(NTHREDS);
for (int i = 0; i < 300; i++) {
Runnable worker = new MyRunnable(i);
executor.execute(worker);
}
executor.shutdown();
和MyRunnable類
公共無效的run(){
testPostFile();testPSXFileRename(); testGetFile(); }
public static void testPostFile() {}
public static void testPSXFileRename() {}
public static void testGetFile();
是我的做法正確嗎?或者是,我錯過了
1線程= 1個用戶(帖子,轉碼,獲取)
第二個線程= 1個用戶(帖子,轉碼,獲取)等
謝謝。我知道這些工具,但我想開發自己的代碼 – Antonis 2010-10-18 19:26:05
還有其他建議嗎? – Antonis 2010-10-19 10:25:34
你知道你的服務器可以承受多少負載嗎?一次產生300個請求可能無法爲您提供所需的負載測試。如果這300個請求每個需要2ms,那麼在您有時間捕捉正在發生的事情之前,所有事情都可能完成。您可能希望通過在每次迭代之間進行休眠來將這些空間隔開,以便在系統上獲得一致的負載。可能添加第二個循環來控制X數量的線程被控制的次數。 – Sean 2010-10-19 13:13:14