2016-08-04 160 views
2

我創建了一個頁面發送文件到我的服務器(ssd類vps on ovh)與分塊上傳。我正在使用Resumable.js(https://github.com/23/resumable.js)來實現這個目標,他們以他們的github項目(https://github.com/23/resumable.js/blob/master/samples/Backend%20on%20PHP.md)爲例來接收數據。它可以工作,但速度非常慢,根據Chrome Dev Tool的說法,請求需要5-7秒才能「發送」,並需要6-8秒才能接收第一個字節。Nginx + PHP7緩慢POST請求

我試着分析php執行腳本需要多長時間,並且令我驚訝的是microtime()在執行腳本時顯示沒有時間過去(又名同一個microtime值)。

在我的vps上我有一個基於nginx運行php7和fastcgi的設置。我做了很少的嘗試和其他的PHP頁面,並且我在分塊上傳中看到的延遲是不可見的(0.1ms爲請求時間和35ms TTFB)。

有人遇到類似的東西,並知道如何處理這個?可能是由於一些ddos保護?我在vps上也嘗試過使用apache的腳本,但沒有看到任何區別。同樣的腳本在本地工作就像一個魅力。這是什麼給了我很多懷疑:如果nginx和apache顯示相同的問題,我可以認爲這是一個腳本問題,但爲什麼本地更快?(同樣的開發工具說3ms發送請求,2ms爲TTFB)

+0

我有同樣的問題。 – Seth

回答

0

根據我的經驗,解決這些問題的一個好方法是獲得相同的測試和生產設置。爲了實現我使用Docker。我已經發布了一個完整的WordPress準備好的環境。用您的腳本替換WordPress腳本可能會讓您產生一個設置,您可以在本地重現問題。

當能夠重現該問題時,請查看您的FPM參數。或者FPM連接的方式。根據我們所掌握的數據,我最好的選擇是與運輸或其他FPM設置有關。