나는 res.render
표현 방식이 차단 방식으로 약 400ms 걸리는 nodejs 응용 프로그램이 있습니다. 비 차단 방식으로 실행하려면 어떻게 처리해야합니까? 내 아파치 벤치 마크는 약 30 개의 동시 요청을 실행하는데 12 초가 걸린다. 더 나은 방법으로 이것을 어떻게 구현합니까? Express res.render를 비동기식으로 실행
var start = +new Date;
//fetch data from redis
console.log('time taken to fetch data from redis ' + (+new Date - start)); //30 ms
res.render('some_jade_view', params);
console.log('time taken to render data ' + (+new Date - start)); //530 ms
나는
process.nextTick
을 시도했지만 많은, AB 결과이 같은 도움이되지 않았다.
몇 가지 코드를 보여주십시오. 특히 .render 호출이있는 부분. – Krasimir
@Krasimir 코드를 추가했지만 렌더링에 500ms의 시간이 걸리는 비취보기이기 때문에별로 도움이되지 않습니다. 이제 자연에서 차단되는 것으로 나타났습니다. 'res'는 익스프레스 라우트로 전달되는 응답 객체입니다. – user883499
옥보기가 매우 복잡합니까? 렌더를 지연시킬 수있는 미들웨어가 추가 되었습니까? – WiredPrairie