0
我正在測試接收Job對象的服務器應用程序,爲此我創建了一個虛擬客戶端,它將盡可能多的Job對象發送給我的服務器應用程序,爲此我創建了一個Timer類,如下所示,它將Job對象定期發送到服務器。例如每秒2000個對象。但是當我每秒超過2000個工作時,我的客戶變慢了。向服務器發送大量請求
是否有任何其他方式發送大量和固定數量的作業到服務器?
如果我創建了很多定時器實例,那麼我必須同步套接字,這又讓事情變得緩慢。
有沒有更好的解決方案,這個問題的幫助下,我可以發送成千上萬的工作,而不會讓事情變慢?
這裏給出的代碼是Job等的骨架,我只是想知道其他的選擇。
package comeOn;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import java.io.*;
import java.awt.event.ActionEvent;
public class LoadGenerator extends Timer implements ActionListener{
ObjectOutputStream outStream=null;
int rndNumber;
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public LoadGenerator(int interval, ObjectOutputStream outStream,int rndNumber){
super(interval,null);
this.outStream=outStream;
this.rndNumber=rndNumber;
addActionListener(this);
//this.setInitialDelay(1000);//start this timer afer 1 second.
}
@Override
public void actionPerformed(ActionEvent e){
try {
for(int i=1;i<=rndNumber;i++){
Job job=new Job(100);
outStream.writeObject(job);
outStream.reset();
outStream.flush();
}
}
catch(Exception ex){}
}
class Job{
int amount;
Job(int amount){
this.amount=amount;
}
}
}
答案你爲什麼不使用爲負載測試建立了一個工具:http://jmeter.apache.org/? – tavi
Jmeter不能發送成千上萬的作業到我的服務器它使事情變得太慢PLZ閱讀http://stackoverflow.com/questions/3528765/jmeter-max-thread-limit –