我在本地运行控制台时使用 Vagrant ssh 连接到远程 Grinder 代理:
vagrant ssh agent01 -c "./startAgent.sh" -- -R 6372:localhost:6372
控制台可以与代理对话,并启动代理的线程:
2015-07-24 10:12:54,391 INFO agent: The Grinder 3.11
2015-07-24 10:12:54,507 INFO agent: connected to console at /127.0.0.1:6372
2015-07-24 10:12:54,507 INFO agent: waiting for console signal
2015-07-24 10:12:57,869 INFO agent: received a start message
2015-07-24 10:12:57,887 INFO agent: Worker process command line: java '-javaagent:grinder-3.11/lib/grinder-dcr-agent-3.11.jar' -classpath 'grinder-3.11/lib/grinder.jar' net.grinder.engine.process.WorkerProcessEntryPoint
2015-07-24 10:12:57,967 INFO agent: worker agent01-0 started
2015-07-24 10:12:57,976 INFO agent: worker agent01-1 started
2015-07-24 10:12:58,007 INFO agent: worker agent01-2 started
2015-07-24 10:12:58,032 INFO agent: worker agent01-3 started
2015-07-24 10:12:58,059 INFO agent: worker agent01-4 started
2015-07-24 10:12:58,095 INFO agent: worker agent01-5 started
2015-07-24 10:12:58,156 INFO agent: worker agent01-6 started
2015-07-24 10:12:58,182 INFO agent: worker agent01-7 started
2015-07-24 10:12:58,214 INFO agent: worker agent01-8 started
2015-07-24 10:12:58,250 INFO agent: worker agent01-9 started
然而,不久之后,特工们说:
2015-07-24 10:13:38,016 INFO agent01-2: Report to console failed
net.grinder.communication.CommunicationException: Exception whilst sending message
at net.grinder.communication.AbstractSender.send(AbstractSender.java:57) ~[grinder-core-3.11.jar:na]
at net.grinder.communication.QueuedSenderDecorator.flush(QueuedSenderDecorator.java:60) ~[grinder-core-3.11.jar:na]
at net.grinder.engine.process.GrinderProcess.sendStatusMessage(GrinderProcess.java:638) [grinder-core-3.11.jar:na]
at net.grinder.engine.process.GrinderProcess.access$1100(GrinderProcess.java:110) [grinder-core-3.11.jar:na]
at net.grinder.engine.process.GrinderProcess$ReportToConsoleTimerTask.run(GrinderProcess.java:615) ~[grinder-core-3.11.jar:na]
at net.grinder.engine.process.GrinderProcess.run(GrinderProcess.java:465) [grinder-core-3.11.jar:na]
at net.grinder.engine.process.WorkerProcessEntryPoint.run(WorkerProcessEntryPoint.java:86) [grinder-core-3.11.jar:na]
at net.grinder.engine.process.WorkerProcessEntryPoint.main(WorkerProcessEntryPoint.java:59) [grinder-core-3.11.jar:na]
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method) ~[na:1.7.0_75]
at java.net.SocketOutputStream.socketWrite(Unknown Source) ~[na:1.7.0_75]
at java.net.SocketOutputStream.write(Unknown Source) ~[na:1.7.0_75]
...
并且永远不要向控制台提供数据。
这是什么原因造成的?我需要调整 ssh 配置吗?