Jmeter CPU使用率不超过25%

时间:2015-02-28 22:07:38

标签: java regex jmeter

当我尝试使用Jcm中的站点使用正则表达式提取器提取大量数据时,我发现了一些奇怪的东西,即Jmeter需要很长时间(> 50分钟)

参考名称:dataId

RegEx使用: 的 <strong><a href="(.+?)=(.+?)&(.+?)">

模板:$2$

比赛号码:-1 - &gt;获得所有比赛

这个正则表达式在一个250行的HTML源页面上运行,因此可能在该页面上找到超过100个匹配表达式(正如我所说,我正在提取大量数据)

我在任务管理器中检查了Jmeter的CPU使用率,java.exe

25%

我的电脑有一个 i5四核处理器,但是java.exe只使用其中一个核心而且需要很长时间(实际上超过一个小时)

如何加快提取数据的过程?实际问题在哪里?

1 个答案:

答案 0 :(得分:2)

你的正则表达式太笼统了。尝试使用类似<strong><a href="([^"=&]+)=([^"=&]+)&([]^"=&+?)">的内容。 Java在其正则表达式实现中使用回溯算法,并且在某些输入时可能会非常慢。

关于处理器加载,这是正常的。正则表达式实现不使用多个线程,因此它加载一个处理器核心。如果要利用完整的处理器能力,则必须以某种方式实现多线程。例如。并行处理4个不同的HTML页面。