4
我有一個nodejs應用程序,其中res.render
express的方法需要約400毫秒的阻塞方式。我如何處理這個以非阻塞的方式執行?我的apache基準測試需要12秒來執行大約30個併發請求。我如何以更好的方式實現這一點?以異步方式執行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增加了代碼,但這並沒有什麼幫助,因爲它是花費500毫秒時間渲染的玉石視圖。現在,我注意到它本質上是阻塞的。 'res'是傳遞給快速路由的響應對象。 – user883499
玉的觀點是非常複雜的?你有沒有添加任何可能延遲渲染的中間件? – WiredPrairie