採用與nodejs.org主頁上相同的代碼。提供1.8Mb的靜態文件。並對Nginx做同樣的事情,並觀察其差異。爲什麼Nodejs提供的文件CPU使用率比Nginx多80倍?
Code :
http://pastie.org/3730760
Screencast :
http://screencast.com/t/Or44Xie11Fnp
,如果你知道什麼,想阻止這種情況的發生,所以我們並不需要部署服務器nginx的和我們的生活變得複雜,請分享。
ps1。這個測試是在節點0.6.12完成的。出於好奇,我降級到0.4.12只是爲了檢查是否迴歸,相反,情況更糟。相同的文件使用了25%兩次。
PS2。這篇文章不是nodejs的憎恨 - 我們使用nodejs,我們喜歡它,除了這個故障實際上延遲了我們的發佈(讓我們非常難過),並且對我來說似乎相當嚴重。我從來沒有讀過,聽過,看過或預期會遇到。
我想Nginx會調用['sendfile'](http://linux.die.net/man/2/sendfile)將字節直接從磁盤寫入線程,而不會留下任何內核空間,您的JavaScript做了很多工作。 – 2012-04-06 06:05:22