Struts 2 및 Dojo 파일이 너무 무거워 사이트 성능에 영향을 미칩니다.어떤 구제책이 있습니까?

StackOverflow https://stackoverflow.com/questions/327820

문제

잘..우리는 struts2 ajax 기능을 사용하여 j2ee 애플리케이션을 개발했습니다.우리는 도장 구현이 상당히 느린 것을 발견했습니다.우리는 다음과 같은 작업을 수행했습니다.1.도장 라이브러리의 사용자 정의 빌드.(dojo.js 증가 240KB에서 350KB) 2.스트럿 병에서 모든 정적 물질을 꺼내어 외부에 보관했습니다.

성능이 크게 향상되었습니다.하지만 그래도 350kb 크기로 짐작할 수 있듯이 꽤 무겁습니다..

struts2 ajax가 이렇게 무거워야 하나요?아니면 더 가벼운 구현이 가능합니까?


편집하다:내 애플리케이션에는 Firebug와 YSlow를 사용했습니다.내 상황을 크게 개선한 몇 가지 변경 사항은 다음과 같습니다.

  1. 도장의 사용자 정의 빌드(I/O 수 감소)
  2. Struts jar에서 정적 파일을 이동합니다(큰 도움이 됨).
  3. 응답을 gzip으로 압축하도록 서버를 조정합니다(응답 크기를 1/3로 줄였습니다).
  4. 사이트의 이미지 수를 줄이세요.(이것은 당연합니다)

추가 변경사항은 계속 업데이트하겠습니다..

도움이 되었습니까?

해결책

먼저 캐싱을 용이하게 하기 위해 서버에서 모든 작업을 수행했는지 확인하세요(예: 올바른 HTTP 헤더 설정, 압축, 서버 측 캐싱, 업스트림 캐시 등).보다 성능 향상… 상세 사항은.

목표는 I/O를 최대한 줄이는 것입니다. Firebug 또는 기타 네트워크 트래픽 모니터링 도구를 사용하여 얼마나 많은 양이 주고받았는지 확인하세요.I/O 요청 수와 총 바이트 수를 최소화하십시오.

이는 동적 데이터에도 적용된다는 점을 잊지 마십시오. 효율적인 형식을 선택하고, 여러 관련 요청을 함께 묶고, 변경되지 않고 계속해서 전송되는 모든 데드우드를 제거하십시오.

사용자 정의 빌드 및 서버 측 조정이 도움이 되지 않으면 웹 앱을 더 가볍게 재구성하는 것을 고려하십시오.예:

  • 위 링크에서 설명한 스플래시 화면 기술을 평가해 보세요.
  • 다양한 양식 위젯을 사용하는 경우 실제로 필요한지 확인하고 "입력", "버튼", "텍스트 영역", "선택"과 같은 일반 DOM 요소를 사용하세요.
  • 레이아웃 위젯도 마찬가지입니다.간단한 CSS가 도움이 될 수 있는지 확인해 보세요.
  • 하나의 모놀리식 dojo.js 대신 레이어로 Dojo를 빌드하여 필요한 하위 집합만 웹 페이지에 로드되도록 평가합니다.자세한 내용은 다음에서 확인하세요. 패키지 시스템과 커스텀 빌드.

지난 2년 동안 Dojo를 사용하여 웹 애플리케이션을 구축하면서 최종 사용자가 "빠름", "민첩함" 및 "가벼움"을 완전히 수용하고 인식할 때까지 제대로 최적화할 수 없는 애플리케이션을 여전히 보지 못했습니다. .

다른 팁

이 FAQ를 먼저 따르십시오.http://struts.apache.org/2.x/docs/performance-tuning.html

나는 보통 dojo를 내장 한 Struts2 Ajax 테마를 사용하는 대신 내 테마를 다시 작성합니다.이 방법으로 사용하려는 툴킷 (jQuery)을 사용할 수 있습니다. JAR에서 WebApp의 루트 웹 디렉토리로 템플릿 폴더를 복사했을 때 가장 큰 성능 향상을 보았습니다.

마지막으로, Struts는 2 살짜리 Dojo (0.4)의 출시를 배송했습니다. Dojo는 성능이 상당한 성능 이득과 코드 크기가 줄어든 버전 0.9/1.0을 다시 작성했습니다. 최근 버전의 Dojo (현재 버전은 1.2.3)를 실행하고 위의 Eugene의 빌드 및 팁을 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top