我想用Java构建我自己的负载测试工具,其目标是能够加载测试我在整个开发周期中构建的Web应用程序。 Web应用程序将接收服务器到服务器的HTTP Post请求,并且我希望找到每秒启动事务(TPS)容量以及avgerage响应时间。
Post请求和响应消息将以XML格式(我不认为这真的适用于:))。
我写了一个非常简单的Java应用程序来发送事务并计算它能够在一秒内发送多少事务(1000毫秒),但我认为这不是加载测试的最佳方式。真正我想要的是在同一时间发送任何数量的交易 - 即10,50,100等。
任何帮助,将不胜感激!
哦,这里是我目前的测试应用代码:
Thread[] t = new Thread[1];
for (int a = 0; a < t.length; a++) {
t[a] = new Thread(new MessageLoop());
}
startTime = System.currentTimeMillis();
System.out.println(startTime);
for (int a = 0; a < t.length; a++) {
t[a].start();
}
while ((System.currentTimeMillis() - startTime) < 1000 ) {
}
if ((System.currentTimeMillis() - startTime) > 1000 ) {
for (int a = 0; a < t.length; a++) {
t[a].interrupt();
}
}
long endTime = System.currentTimeMillis();
System.out.println(endTime);
System.out.println("Total time: " + (endTime - startTime));
System.out.println("Total transactions: " + count);
private static class MessageLoop implements Runnable {
public void run() {
try {
//Test Number of transactions
while ((System.currentTimeMillis() - startTime) < 1000 ) {
// SEND TRANSACTION HERE
count++;
}
}
catch (Exception e) {
}
}
}