今天发现 nGrinder 的 validate script 功能很诡异。以前点了 validate 按钮,瞬间就有结果了,因为我的脚本都只是简单的 Get/Post 请求,校验脚本是个很快的过程。但是现在要等个半天,最后界面显示的 validate 结果就像是没有显示完成的样子,既没有请求的HTTP返回结果,也没有什么 Error Message,只有如下这种不痛不痒的信息:
2015-09-30 10:27:36,372 INFO The Grinder version 3.9.1
2015-09-30 10:27:36,377 INFO Java(TM) SE Runtime Environment 1.8.0_40-b25: Java HotSpot(TM) 64-Bit Server VM (25.40-b25, mixed mode) on Windows 8.1 amd64 6.3
2015-09-30 10:27:36,384 INFO time zone is CST (+0800)
2015-09-30 10:27:36,548 INFO worker process 0 of agent number 0
2015-09-30 10:27:36,633 INFO Instrumentation agents: byte code transforming instrumenter for Jython 2.5; byte code transforming instrumenter for Java
2015-09-30 10:27:39,603 INFO registered plug-in net.grinder.plugin.http.HTTPPlugin
nGrinder 创建 “测试”,通过 agent 来运行脚本是没有问题的。我猜这个问题是内存不够,因为执行测试的时候,脚本是通过 agent 来发请求的;而 validate 功能是 controller 自身的 worker process 来请求, 即便当前没有 agent,validate 功能也应该是可用的。
果断 kill 掉一些无用进程清理内存,问题真的解决了。赞~