This post was updated on .
안녕하세요.. 수고가 아주 많으십니다..
부하 성능 테스트를 위해 서버 3대 가지고 ngrinder 를 공부 중 입니다.. 모니터링 하려는 서버의 테스트 주소를 내부아이피로 성능테스트를 했을 때는 잘되는 것을 확인했습니다. 외부주소로 바꾸어서 성능테스트를 했을때 생성된 오류 로그파일 내용은 맨 아래 보여 드립니다. 모니터링 하려는 서버에서 ./run_monitor.sh 을 실행시켰을 때 다음과 같이 내부 아이피로 메시지가 출력되어 있는 상태 입니다.. 2013-07-11 08:36:29,637 INFO org.ngrinder.monitor.agent.AgentMonitorServer: Service URL:service:jmx:rmi://내부아이피:13243/jndi/rmi://내부아이피:13243/jmxrmi is initiated. result = request1.GET("http://내부아이피/~kingdom/API.php) 이런 식으로 내부 아이피로 테스트할 때는 잘 되는데.. result = request1.GET("http://dev.ninja.taucoms.com:5080/~kingdom/API.php) 이렇게 외주 주소를 사용해서 테스트할 때는 아래와 같은 오류가 납니다.. http://dev.ninja.taucoms.com:13243 은 http://내부아이피:13243 으로 포트포워딩 해 놓은 상태 입니다.. http://dev.ninja.taucoms.com:5080 은 http://내부아이피:80 으로 포트포워딩 해 놓은 상태 이구요.. 스크립트는 별도로 만들어서 양쪽 테스트 한거구요.. 성능테스트나 스크립트 설정 중 도메인이나 아이피 설정은 그에 맞게 바꾸어서 적용한 겁니다.. 바쁘시지만 도와주시면 감사하겠습니다.. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// 외부주소로 바꾸어서 성능테스트를 했을때 생성된 오류 로그파일 내용 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// 2013-07-11 17:20:31,605 ERROR Aborted run: Java exception calling TestRunner net.grinder.scriptengine.jython.JythonScriptExecutionException: Java exception calling TestRunner result = request1.GET("http://dev.ninja.taucoms.com:5080/~kingdom/API.php) File "/root/.ngrinder_agent/file-store/admin/current/script.py", line 44, in __call__ net.grinder.plugin.http.TimeoutException: Connection establishment timed out at HTTPClient.HTTPConnection.getSocket(HTTPConnection.java:3448) ~[grinder-httpclient-3.9.1.jar:na] at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:3089) ~[grinder-httpclient-3.9.1.jar:na] at HTTPClient.HTTPConnection.handleRequest(HTTPConnection.java:2883) ~[grinder-httpclient-3.9.1.jar:na] at HTTPClient.HTTPConnection.setupRequest(HTTPConnection.java:2675) ~[grinder-httpclient-3.9.1.jar:na] at HTTPClient.HTTPConnection.Get(HTTPConnection.java:986) ~[grinder-httpclient-3.9.1.jar:na] at net.grinder.plugin.http.HTTPRequest$2.doRequest(HTTPRequest.java:504) ~[grinder-http-3.9.1.jar:na] at net.grinder.plugin.http.HTTPRequest$AbstractRequest.getHTTPResponse(HTTPRequest.java:1276) ~[grinder-http-3.9.1.jar:na] at net.grinder.plugin.http.HTTPRequest.GET(HTTPRequest.java:499) ~[grinder-http-3.9.1.jar:na] at net.grinder.plugin.http.HTTPRequest.GET(HTTPRequest.java:445) ~[grinder-http-3.9.1.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_25] at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyObject.__call__(PyObject.java:404) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyObject.__call__(PyObject.java:408) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyMethod.__call__(PyMethod.java:124) ~[jython-standalone-2.5.3.jar:na] at org.python.pycode._pyx1.__call__$3(/root/.ngrinder_agent/file-store/admin/current/script.py:70) ~[na:na] at org.python.pycode._pyx1.call_function(/root/.ngrinder_agent/file-store/admin/current/script.py) ~[na:na] at org.python.core.PyTableCode.call(PyTableCode.java:165) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyBaseCode.call(PyBaseCode.java:301) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyBaseCode.call(PyBaseCode.java:194) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyFunction.__call__(PyFunction.java:387) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:220) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyMethod.__call__(PyMethod.java:211) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyMethod.__call__(PyMethod.java:206) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyObject.invoke(PyObject.java:3555) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyInstance.instance___call__(PyInstance.java:351) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyInstance.__call__(PyInstance.java:342) ~[jython-standalone-2.5.3.jar:na] at org.python.core.PyObject.__call__(PyObject.java:371) ~[jython-standalone-2.5.3.jar:na] at net.grinder.scriptengine.jython.JythonScriptEngine$JythonWorkerRunnable.run(JythonScriptEngine.java:250) ~[grinder-core-3.9.1.jar:na] at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:118) ~[grinder-core-3.9.1.jar:na] at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25] |
Administrator
|
모니터는 성능 테스트 스크립트와는 아무런 관련이 없습니다.
즉 구글에 대고 www.google.com 으로 테스트 하더라도 테스트가 됩니다. 모니터는 성능 테스트 실행도중에 해당 서버의 CPU/메모리 사용량 들을 동시에 가져오려고 할때만 쓰는 겁니다. 해당 서버가 이 정보를 주는 별도의 인터페이스가 없으니까 모니터로 통로를 열어주는 것이라고 보실 수 있습니다. 지금 서로 관계 없는 상황이 관계있는 것으로 약간 잘못 인지하신 듯 합니다. result = request1.GET("http://dev.ninja.taucoms.com:5080/~kingdom/API.php) 라고 호출하셨을때, Connection establishment timed out 이 난다면, 그것은 실제로 해당 에이전트 머신으로부터 타겟까지의 네트웍상에서 Connection 에러가 발생하는 겁니다. 만약 현재 로드 상황이라면 로드 때문에 response 가 오지 않는 것일 수 있습니다. 일단 에이전트를 설치하신 서버 콘솔로 들어가셔서.. telnet dev.ninja.taucoms.com 5080 이 응답이 있는지 부터 확인해 보시고. 만약 있다면 wget "http://dev.ninja.taucoms.com:5080/~kingdom/API.php" 을 하셔서 다운 받아지는지 확인해 보세요. |
Free forum by Nabble | Edit this page |