티스토리 뷰

유지보수하고 있는 시스템의 문서 화면이 느려 원인을 분석해보니 무거운 자바스크립트 파일이 있었다. 특히 리포팅툴 관련 자바스크립트가 5MB나 된다. 

Client PC는 처음 이 자바스크립트 포함 여러 자바스크립트를 다운받는다고 응답시간이 30초 이상 걸린다. 만약 브라우저에 Caching 옵션이 없으면 매번 문서를 열때마다 응답시간이 30초 이상 소요 될 것이다.

먼저 시간이 오래걸리는 JS를 포함한 테스트 페이지를 구성했다.

5.1MB 다운받고 전체 1.22초가 소요됨

 자 이제 환경이 세팅이 되었으니 

이에 두 가지 해결책을 생각해봤다.

1. JS를 gzip으로 압축하여 응답시간 단축하기

WebtoB5 기준으로 HTH_THREAD절에 압축 설정을 해준다.

환경설정 파일 http.m에 설정한다.
결과는 1.22초 소요에서 557밀리초로 단축

간단하게 설명하면

HtmlsCompression="application/x-javascript"의 뜻은 javascript으로 요청이 들어오면 gzip으로 압축하여 전송하라는 의미이며, HtmlsCompressionMinSize = 5은 최소사이즈가 5M이상인 파일만 압축하라는 의미이다. 

2. 서버 메모리에 Cache하여 응답시간 단축하기

는 서버 메모리에 javascript 파일 등을 올려놓고 요청이 들어올때마다 쓰는 원리인데,

테스트의 제약사항이 일정 규모의 사용자가 있어야 하고 메모리의 여유가 있어야 한다. 되도록이면 첫번째 내용을 활용해서 적용 하시길 바란다.  2번 내용을 테스트해봐야 하는데 아직 포스팅하기에는 방법만 알고 자원부족등의 리스크가 있기때문에 필요하면 댓글로 남겨주시기 바란다.

728x90
반응형
댓글