嗯,我有以下问题。我想强调测试部署在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