一台windows server上面跑IIS+php,突然網站反應變得很慢,重新啟動web server,情況依舊,後來發現單純執行php或是html反應都正常,但是只要網頁中有session相關語法,反應就變得非常慢。
上網找了一下,原來是php預設存放的session位置是windows下的temp資料夾,數目過多時,就造成系統效能過慢,甚至是session檔案無法寫入。
用檔案總管進入windows下的temp資料夾,跑了很久,終於出現檔案清單,數目竟然有兩百萬個,利用windows sever的forfiles指令,清除超過7天的session檔案,一執行,網站速度就開始回復正常,跑了八個小時,檔案數目剩下一萬多個。
forfiles /P c:\Windows\Temp /M sess_* /S /D -7 /C “cmd /c del /F @path”