我有一個由HTML(AngularJS)客戶端和PHP後端組成的應用程序。客戶端和服務器之間的所有通信都使用XMLHTTPRequests完成(當然除了加載第一個HTML文件和靜態資源 - JS/CSS ...)。服務器公開一些API端點,客戶端向這些URL發出請求。一旦服務器收到請求,它會檢查$ _SESSION以檢查用戶是否已登錄。Apache2和PHP會話 - 它可能會導致隨機滑倒?
我的問題是,幾乎每個請求都可能從$ _SESSION讀取(不寫入)可能導致響應中的主要掛起?例如,該應用程序適用於多個請求,然後發送隨機請求並在數分鐘後收到響應(迄今爲止記錄爲15)。它似乎也是後來處理的請求(根據dummy error_log測試),所以減速並不是由我的代碼在PHP中的操作引起的。也許這是一個愚蠢的問題,但我已經加倍了Apache的ServerLimit(1000),但沒有運氣。我也有這個服務器上的另一個PHP應用程序,它可以正常工作,我可以想到的唯一區別是工作應用程序幾乎不檢查$ _SESSION與XMLHTTPRequests的組合。
PHP版本:5.3.3
如何配置會話?他們是從文件,數據庫寫入還是讀取,還是有其他機制?如果您正在基於文件存儲讀取/寫入會話,則應用程序中出現的第一個減速是所有內容都將等待硬盤返回讀取信息。鑑於事實上大多數機械驅動器可以每秒執行300次這樣的事情 - 是的,很可能它不是您的軟件,而是硬件問題。 –
感謝您的評論。它是基於文件的。我瞭解硬件限制,但不應該造成16分鐘延遲(希望),並且總體負載沒有服務器真的很低。 – ladar
很難分辨究竟是什麼導致如此巨大的減速,它可能是您的代碼,可能是硬件故障,您必須檢查哪個進程需要花費很多時間才能完成並從中取出。祝你好運:) –