2009-09-01 57 views
0

我們有一臺相當繁忙的燈服務器,在高峯時段CPU使用率保持在90%左右。我們有一個間歇性的問題,即從Web表單上傳文件失敗。它似乎只發生在較大的文件(超過MB)上,似乎比其他用戶更影響一些用戶。我們已經通過並檢查了諸如PHP ini max上傳大小,執行時間和文件夾寫入權限等明顯的內容。此外,該網站工作了一年沒有這樣的麻煩,並突然開始(我們不認爲我們的任何應用程序PHP會導致此)。爲什麼文件上傳會在繁忙的LAMP服務器上停止?

我們已經看過Charles Proxy中會發生什麼,它顯示上傳發生(發送的文件大小會定期增加),直到它停止發送數據。瀏覽器只是顯示正在進行的旋轉過程,但您可以等待20分鐘,不會發生任何事情或報告超時。

有誰知道爲什麼上傳可能會間歇性失敗?我唯一的猜測就是它可能與服務器流量有關,就像apache過早關閉連接一樣。

回答

1

如果服務器上的負載很高,那麼在嘗試上載文件時腳本可能會超時。你能提供關於你的問題的更多細節嗎?我認爲PHP腳本默認有30秒的超時時間,這意味着如果腳本尚未完成,即在該時間範圍內上傳文件,那麼腳本將超時並且上傳失敗。

看起來如果該網站工作了一年多了,現在流量已經增長到它開始壓縮服務器上的負載的程度,那麼腳本可能會超時,因爲流量增加和加載到服務器上。