在本地食品銀行的管理員應用程序中,我構建了一個PHP腳本來從MySQL數據庫生成一組每月報告統計信息。看起來,如果腳本沒有運行一段不確定的時間,則需要幾秒鐘的時間才能運行。一旦運行,腳本的後續運行將花費幾分之一秒。我試圖找出造成漫長第一輪運行的因素以及我是否有任何控制權。我的發展體系和食品銀行的主機之間的行爲是可比較的,所以它不僅僅是一個本地現象。腳本處理時間的第一次運行
我已經嘗試過「清空表」和「重置查詢緩存」,但我無法重現長期運行。關閉並重新啓動MySQL服務器也是如此(只有在開發系統上纔有可能)使運行時間更長。
我可以在哪裏看?
謝謝。
你需要給我們更多的工作,現在我們所能做的只是隨機猜測 – Jasper 2012-04-21 13:57:22
你還必須考慮OS文件系統緩存和虛擬內存系統。 PHP文件將在第一次從光盤讀取,但在後續運行時從文件系統緩存中讀取。 PHP引擎也將被讀入內存,並將從那裏調用,而不是從光盤加載。 – GordonM 2012-04-21 14:00:41
我可以看到磁盤訪問如何成爲cli的一個因素。它無法解釋PHP用於獲取初始和後續時間的遠程主機的行爲。 – geoB 2012-04-21 14:20:14