2010-08-16 2 views
0

인벤토리 응용 프로그램은 다음과 같이 구성된 4 계층 모델로 구성됩니다. 애플릿 기반 그래픽 사용자 인터페이스; 독점 중간 계층 (Tomcat 웹 응용 프로그램); 오라클 10g의 비즈니스 로직. Oracle 10g에 저장된 데이터.어떻게 Tomcat 웹 응용 프로그램에서 대용량 데이터 세트로 느린 응답이나 메모리 제한을 극복 할 수 있습니까?

문제점 : 중간 계층은 트랜잭션 통신용으로 설계되었으며 사용자 인터페이스 나 보고서로 큰 데이터 세트 (10,000 개 이상의 행)를 이동하지 않습니다. 응용 프로그램은 검색 결과의 크기를 제한하지 않으므로 사용자가 매우 큰 데이터 세트를 프런트 엔드에 반환하는 검색을 수행 할 수 있습니다. 이러한 요청으로 인해 중간 계층은이 요청과 다른 동시 요청에 천천히 응답하여 상위 JVM 힙 메모리 제한에 도달하고, 최악의 경우 중간 계층을 중단시킵니다.

가장 좋은 해결책에 대한 제안/도움/통찰력을 주시면 감사하겠습니다. 대단히 감사합니다.

답변

1

서버에서 되돌아 오는 데이터의 양을 제한해야합니다. 사실은 한 번에 사용자에게 10,000 개의 행을 표시하는 데 아무런 가치가 없다는 것입니다 (아무도 그것을 소화 할 수 없음). 말을 100 개 더 작은 세트로 분해하고 사용자가 관련 데이터를 찾을 수 있도록 필터링 메커니즘을 제공하십시오.
보고서의 경우 가장 일반적인 임시 보고서를 생성하는 멋진 쿼리를 수행해야합니다. 일괄 처리 메커니즘을 통해 일일 (또는 기타 주기적) 보고서를 오프라인으로 생성하여 사용자가 일단 준비가되면 다운로드 할 수 있고 트랜잭션 처리에 영향을 미치지 않도록 할 수 있습니다. 이것은 다른 메커니즘 (앱 서버 외부)을 통해 생성되며 사용자가 링크

을 통해 다운로드 할 수 있도록 Excel, PDF 또는 기타 파일 형식으로 작성됩니다.
관련 문제