Jmeter CPU 使用率未超过 25%
Jmeter CPU usage is not crossing 25 pecentage
当我尝试使用正则表达式提取器从 Jmeter 中的站点提取大量数据时,我发现了一些奇怪的东西,即 Jmeter 花费了很长时间(> 50 分钟)
参考名称:dataId
使用正则表达式:
<strong><a href="(.+?)=(.+?)&(.+?)">
模板:$
匹配号:-1
--> 获取所有匹配项
这个正则表达式是 运行 在 250 行 HTML 源页面上,所以它可能会在那个页面上找到超过 100 个与这个表达式匹配的(正如我所说的,我正在提取一堆数据)
我在任务管理器中检查了Jmeter的CPU用法,java.exe
是25%
我的 PC 有一个 i5 四核处理器,但是 java.exe 只使用了其中的一个内核,而且需要很长时间(实际上超过一个小时) )
如何加快这个提取数据的过程?真正的问题在哪里?
您的正则表达式过于笼统。尝试使用 <strong><a href="([^"=&]+)=([^"=&]+)&([]^"=&+?)">
之类的东西。 Java 在其正则表达式实现中使用回溯算法,对于某些输入,它可能会非常慢。
至于处理器负载,这是正常的。 Regex 实现不使用多线程,因此它加载一个处理器核心。如果你想充分利用处理器的能力,你必须以某种方式实现多线程。例如。并行处理 4 个不同的 HTML 页面。
当我尝试使用正则表达式提取器从 Jmeter 中的站点提取大量数据时,我发现了一些奇怪的东西,即 Jmeter 花费了很长时间(> 50 分钟)
参考名称:dataId
使用正则表达式:
<strong><a href="(.+?)=(.+?)&(.+?)">
模板:$
匹配号:-1
--> 获取所有匹配项
这个正则表达式是 运行 在 250 行 HTML 源页面上,所以它可能会在那个页面上找到超过 100 个与这个表达式匹配的(正如我所说的,我正在提取一堆数据)
我在任务管理器中检查了Jmeter的CPU用法,java.exe
是25%
我的 PC 有一个 i5 四核处理器,但是 java.exe 只使用了其中的一个内核,而且需要很长时间(实际上超过一个小时) )
如何加快这个提取数据的过程?真正的问题在哪里?
您的正则表达式过于笼统。尝试使用 <strong><a href="([^"=&]+)=([^"=&]+)&([]^"=&+?)">
之类的东西。 Java 在其正则表达式实现中使用回溯算法,对于某些输入,它可能会非常慢。
至于处理器负载,这是正常的。 Regex 实现不使用多线程,因此它加载一个处理器核心。如果你想充分利用处理器的能力,你必须以某种方式实现多线程。例如。并行处理 4 个不同的 HTML 页面。