2009-04-29 5 views
5

우리는 최근 웹 응용 프로그램 (tomcat 5.5.x 웹 응용 프로그램)을 프로덕션으로 보내고 오늘 이상한 행동을 보이기 시작했습니다. 개발 또는 사전 프로덕션 환경에서는 이러한 동작이 발생하지 않습니다.디버거가 연결되어 있지 않을 때 jvmti의 성능에 미치는 영향은 무엇입니까?

런타임시 프로덕션 시스템으로 보는 것은 로깅입니다. 그들이 무슨 일이 일어 났는지 우리에게 말해 줄 수는 있지만, 우리는 왜 그것이 일어나고 있는지 진단 할 수 없습니다.

문제를 해결하기 위해 어제 두 번 컨텍스트를 다시로드해야했습니다.

나는 jpda가 활성화 된 생산 톰캣 서버를 시작하는 것을 고려하고 있었다. 이렇게하면 문제가 다시 발생하는 경우 (사용자 요청을 처리하는 서버 풀에서 Tomcat을 제거한 후) 디버거를 응용 프로그램에 연결할 수 있습니다.

디버거가 연결되어있을 때 분명히 jpda로 성능 저하를 지불해야합니다. 그러나 디버거가 연결되지 않은 "비용"이 무엇인지 궁금합니다. 필자는 디버거를 "듣는"것과 관련된 오버 헤드가 아주 적을 것으로 생각합니다. 퍼포먼스 측정에 몇 시간을 소비하기 전에 누군가가 이것을 분명히 할 수있는 문서를 가리킬 수 있기를 바랬습니다.

자바 버전 "1.5.0_17" 자바 (TM) 2 런타임 환경, 일반용 자바 핫스팟 (TM) 64 비트 서버 VM (1.5.0_17-B04를 구축을, 혼합 (1.5.0_17-B04 구축) 모드)

(RHEL 5.3)

감사합니다!

카를로스

답변

1

내가 양적 대답이 없어,하지만 성능에 미치는 영향이 매우 작다; DTrace와 구조적으로 매우 유사합니다. 기본적으로 외부 도구를 연결하고 이벤트를 활성화하지 않으면 테스트 포인트가 거의 작동하지 않습니다. 또한 활동하지 않는 이벤트 클래스에 대해서는 거의 작업하지 않습니다.

+0

성능에 미치는 영향이 매우 적다는 것에 동의하지 않습니다. jpda가 활성화 된 tomcat에서 Liferay를 실행하고 있으며, HTTP 요청은 지난 10 회 이상 처리합니다. – lisak

관련 문제