웹 서버 2

[Node.js] Jade(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)); 캐시이므로, 서버 켜질때 ..

[웹 서버] Proxy 서버와 Forward, Reverse 프록시

1. 프록시 서버란 무엇인가? Proxy는 대리, 대리인 의미를 가진 단어이다. 이 처럼 단어 의미에서 짐작해볼 수 있듯, 서비스를 제공하는 서버 대신 무언가를 수행하는 서버이다. 프록시 서버의 주된 역할은, 웹 서비스 프로그램(이하 웹 서버)의 로드 감소이다. 좀 더 쉽게 이해하기 위해서 웹 서비스의 전체적인 과정을 아래의 그림을 보고 이야기 하자. 일반적으로 웹 서비스는 크게 (1) 클라이언트 - (2) 웹 - (3) 웹 서버의 3개의 영역을 관통하면서 제공된다. (1) 클라이언트는 서비스를 이용하는 사용자이며, 자신이 원하는 페이지, 파일을 (2) 웹을 통해 (3) 웹 서버에 요청하게 되며, (3) 웹 서버는 (1) 클라이언트의 요청에 맞는 데이터를 준비해서 응답한다. 위와 같이 연속된 웹 서비스 ..

페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사