요약 :
캐시이므로, 서버 켜질때 모든 PUG가 컴파일 되는 것은 아니다.
1. Node.js에서 사용하는 Pug 템플릿 엔진 (Jade)를 이용하면 간단한 페이지도 로드되는데 굉장히 오래 걸린다.
2. 코드를 구성하기 나름이지만, 쿼리 + Pug 컴파일 + 변수 대입 + 요청 응답의 4단계에서 컴파일 타임이 약 8할이상 시간이 걸린다. (응답시간 1초의 경우 약 800ms이상 소요)
3. Pug 엔진에서 캐시가 가능하다.
결과 : 컴파일 시간이 0ms으로, 응답시간이 5배 이상 빨라진다.
var fn = pug.compileFile('파일.pug',{
basedir:__dirname,
cache:true
});
res.writeHead(200, {'Content-Type' : 'text/html'});
res.end(fn(varlist));
처음 해당 페이지로 접근하여 Pug엔진에서 캐시가 되면, 그 다음부터 컴파일하지 않고 바로 처리된다.
단, 캐시이기 때문에 Pug를 바로 수정할 수 없다. 따라서 반드시 서버를 다시 켜야한다.
캐시 설정 이전 (설명 : 요청 전달까지 ~ 1ms, 요청 응답 대기 520ms, 다운로드까지 52ms)
여기서 요청 응답 대기 시간중 대부분이 컴파일 시간이다. 실제 쿼리는 약 50~100ms(웹 서버와 DB서버는 원격지에 있다)
[캐싱 설정 이전]
'프로그래밍 > 서버, DBMS' 카테고리의 다른 글
[서버] 웹 서비스 단일 로그인 (아이디당 1세션 유지) (0) | 2019.03.10 |
---|---|
[Node.js] Express-session 기반 로그인 세션 관리시, 로그인 리다이렉트 Ajax 처리 (0) | 2019.03.04 |
[Node.js] Node.js와 외부 프로그램(Java, C, C++) 연결 (bridge) (0) | 2019.03.04 |
[웹 서버] Proxy 서버와 Forward, Reverse 프록시 (384) | 2019.03.04 |
LGU+ 인터넷 전화 고급형 센트릭스 - API 기반의 수신 전화 CID (429) | 2019.03.02 |