2013-04-12 94 views
0

我不確定我錯過了什麼,或者忽略了什麼。或者,也許我只是沒有正確地思考一些事情。Nginx反向代理服務器背後的Apache/PHP比預期的要慢

我正在測試Nginx反向代理背後的Apache/PHP,(Nginx正在執行GZIP,KeepAlive和SSL)。

使用Apache Bench從同一本地網絡內的其他服務器進行測試可以在0.349秒內執行500個連接(100個併發)。但是,當我使用瀏覽器進行連接時,頁面加載的時間線顯示等待服務器響應的時間爲2秒。

我唯一能想到的是網絡代理扮演一個角色(服務器在代理之外,所以來自瀏覽器的請求通過代理)。我得到'Vary-Accept'頭文件的編碼響應,這讓我認爲這可能是問題。但是,當我從計算機使用WBOX時,它會返回2-30ms的響應時間。

有什麼想法?

回答

4

所以,我解決了這個問題,希望這可以幫助其他人。我在Nginx上正確緩存了緩存,並且正在通過一個無緩存頭,但是我在Nginx上啓用了SendFile,並且似乎導致它仍然緩存文件,無論我的設置如何。我禁用了此功能,並清除了瀏覽器上的緩存,並且自此以後一直在進行快速請求。

我不確定SendFile是否以與緩存相同的方式寫入磁盤,並且導致了問題,但禁用確實解決了大量問題。