Java Selenium修复了线程池性能问题

Java Selenium修复了线程池性能问题,java,multithreading,selenium,Java,Multithreading,Selenium,我目前正试图通过 ExecutorService executor = Executors.newFixedThreadPool(10); 我注意到了性能问题 我首先测试部署的代码,并将其副本保存在一个TestModule中,该TestModule只运行一次进程,并使用apachestopwatch监控运行单个线程所需的时间 运行此代码时,我会看到以下结果: Stopwatch time: 00:00:11.043 这是从最初的driver.get(MY_WEBSITE_URL)到检查元素和

我目前正试图通过

ExecutorService executor = Executors.newFixedThreadPool(10);
我注意到了性能问题

我首先测试部署的代码,并将其副本保存在一个TestModule中,该TestModule只运行一次进程,并使用apachestopwatch监控运行单个线程所需的时间

运行此代码时,我会看到以下结果:

Stopwatch time: 00:00:11.043
这是从最初的driver.get(MY_WEBSITE_URL)到检查元素和其他我希望完成的任务所花费的时间

然而,如果我在代码中执行以下操作,我会得到非常慢的结果

QueryAgent queryAgent = new QueryAgent();
queryAgent.startUp();
new Thread(queryAgent).start();
QueryAgent内部

 private ExecutorService executor = Executors.newFixedThreadPool(10);


MyPojo pojo = MyPojoImpl.doStuff();
“doStuff()”中的所有代码与我的测试模块中的代码相同。如果我运行10个线程,每个线程的处理时间不超过20秒。我希望在一分钟内完成约30次跑步,在一小时内完成约1800次跑步

然而,看看我的日志,我一分钟内收到的请求不超过5个

有没有更好的方法并行运行这些请求? 编辑1:

在看了下面的评论并做了一个“top”之后,我发现,一旦我找到了大约4个phantomjs实例,我的CPU就达到了100%


但我的内存使用量不足1GB。此时,瓶颈似乎是CPU。有什么想法吗?

记住,这台机器的规格是什么?AWS t2 Micro 2 CPU 4 GB Ram 2 GB交换空间您如何找到web元素?通常建议使用Xpath?请记住,机器的规格是什么?AWS t2 Micro 2 CPU 4 GB Ram 2 GB交换空间如何查找web元素?通常推荐使用Xpath?