BlazeDS接口性能测试
BlazeDS提供的接口不同于普通Jsp页面,可以直接通过JMeter来进行测试,
由于BlazeDS是一个二进制框架,所以不能直接把Http请求过来进行测试。
我的理解是需要模拟生成BlazeDS需要的二进制请求,来对接口进行测试。
JMeter里面没有直接的实现,好像似乎有一个方法能够模拟出JMeter消息,但是实验没有成功。
于是求助于网络,找到了可以生成二进制消息的方法。
那就是使用BlazeDS的包,使用AMFConnection可以连接BlazeDS接口。
新建一个Java工程,代码如下
import java.util.ArrayList;
import flex.messaging.io.amf.client.AMFConnection;
import flex.messaging.io.amf.client.exceptions.ClientStatusException;
import flex.messaging.io.amf.client.exceptions.ServerStatusException;
public class Test {
public static void main(String[] args) throws Exception {
// Create the AMF connection.
AMFConnection amfConnection = new AMFConnection();
// Connect to the remote url.
String url = "http://localhost:8080/TestApp/messagebroker/amf";
try
{
amfConnection.connect(url);
}
catch (ClientStatusException cse)
{
System.out.println(cse);
return;
}
Object result;
ArrayList<Category> list;
// Make a remoting call and retrieve the result.
try
{
result = amfConnection.call("commonServiceDest.getList");
System.out.print(result);
list = (ArrayList<Category>)result;
System.out.print(list);
}
catch (ClientStatusException cse)
{
System.out.println(cse);
}
catch (ServerStatusException sse)
{
System.out.println(sse);
}
// Close the connection.
amfConnection.close();
System.out.println("Sucess");
}
}
如果你的BlazeDS接口正常的话,可以得到结果。
下面就是使用JMeter进行性能测试了。
JMeter有加载Java程序进行测试的功能,网上有很多。
这样就可以进行性能测试了。