2010-02-05 2 views
6

저는 새 프로젝트를 작업하기 위해 최대 절전 모드를 사용하고 있습니다. 제가 작업 할 때 응용 프로그램의 원래 비전이 결국 운명이 아닐 수도 있다는 것을 깨닫고 있습니다. 내가 자주 요청하지 않는 데이터 (따라서 게으른로드)는 요청의 85 %에 필요하게 될 수도 있습니다. 반대로 필요한 가정하에로드하는 데이터는 필자가 생각하는만큼 자주 필요하지 않을 수도 있습니다.ORM 기반 모델을 출시 후 최적화

임계 질량에 도달 한 후 응용 프로그램을 조정하는 데 도움이되는 프로파일 링 도구 또는 ORM 사용 분석 (특히 최대 절전 모드) 방법이 있습니까?

실제 사용법을 모방 한 여러 셀레늄 스크립트를 작성하고 다른 구성으로 테스트를로드하는 것만 기억하면됩니다. 그게 효과가있을 것 같아요하지만 내가 가지고있는 정보를 얻기위한 아주 둥근 방법 같아. 이 더 좋은 방법입니다. ...

답변

1

일부 프로파일 링 도구 나 ORM 사용 분석 방법 있습니까 : 그것은 임계 질량에 도달 한 후 나 조정 내 응용 프로그램을 도움이 될 수 있습니다 (특히 최대 절전 모드)?

런타임시 Hibernate 3은 statistics을 수집합니다. 봐야할만한 가치가 있을지도 모른다. 최대 절전 모드 문서에 "Monitoring performance"섹션이 있습니다. 마음에 오는

있는 유일한 방법은 구성과로드 테스트 을 모방 실제 사용량을 일부 셀레늄 스크립트를 작성하는 입니다. 그것도 처럼 작동 할 수도 있지만 역시 느껴질 수 있습니다. 매우 둥근 방법에 대해 얻으려면 정보가 있습니다.

실제 작업 부하를 캡처해야합니다. 그런 다음이를 재현하는 방법을 찾아야합니다.

그렇지 않으면 여전히 편향되어 실제로 어쨌든 현실을 나타내지 않는 부하가 발생할 수 있습니다. 실제 작업 부하를 포착 할 수 없다면 잠재 최종 사용자와 논의하여 그들이 어떻게 응용 프로그램을 사용하는지 확인하고 실제 최종 사용자 동작에 가능한 한 가까이 있는지 확인하십시오.

0

프로덕션 데이터베이스의 탭을 유지하려면 데이터베이스의 SQL 프로파일 러/로거를 사용하십시오. lazy-loading 쿼리 나 N + 1 문제 (반복 컬렉션을 반복하면서 각 개체를 개별적으로로드)를 나타낼 수있는 반복 쿼리를주의 깊게 관찰하십시오.

나는 이러한 기능을 제공하는 (모든) ORM을 알지 못합니다.

1

"... 임계 질량에 도달하면 내 응용 프로그램을 조정할 수 있습니까?"

중요합니다.

전체적으로 애플리케이션을 조정하고 있습니다. App + 데이터베이스 구조 + Hibernate ORM 매핑 + 그 밖의 것들.

응용 프로그램에는 응용 프로그램 조정에 사용할 수있는 로그가 있어야합니다. 적합한 로깅이 없으면 적절한 로그 세트를 추가하여 사용 사례와 사용 상황을 확인해야합니다.

튜닝 로그는 디버깅 로그와 같은 중요합니다. 그리고 그것들은 당신의 어플리케이션의 일급 부분입니다.

1

Hibernate Profiler은 최대 절전 모드 실행 시간 통계로부터 실시간 보고서를 생성 할 수 있습니다. SELECT N + 1에 대한 경고와 같은 다양한 경고가 생성됩니다.

연속 통합 시스템에서 사용할 수 있습니다.

관련 문제