我正在使用php腳本更新產品數據。 雖然消耗的內存是恆定的,每1.000產品所消耗的時間被增加所有的時間:大型PHP 5.4腳本變慢
[26000 - 439.75 MB/14.822s]..........
[27000 - 439.25 MB/15.774s]..........
[28000 - 438.25 MB/15.068s]..........
[29000 - 437.75 MB/16.317s]..........
[30000 - 437.25 MB/16.968s]..........
[31000 - 436.25 MB/17.521s]....
即使除了讀取線包含CSV數據我的變量i的禁用一切,效果是相同的,除了較低的增加率:
[65000 - 424.75 MB/0.001s]..........
[66000 - 424.75 MB/0.63s]..........
[67000 - 424.75 MB/0.716s]..........
[68000 - 424.75 MB/0.848s]..........
[69000 - 424.75 MB/0.943s]..........
[70000 - 424.25 MB/1.126s]..........
[71000 - 423.5 MB/1.312s]....
我試圖改變GC設置(PHP -dzend.enable_gc = 1和PHP -dzend.enable_gc = 0)。
我加載我的數據提前與:
$this->file = file($file_path);
下一行與檢索:
$line = array_shift($this->file);
我不知道爲什麼這應該consistantly增加所需要的時間,尤其是當我只是array_shift行而不對其執行任何操作。
我目前的解決方案是將文件拆分爲10.000個文件,這對於包含超過300.000行的文件來說不是一個理想的解決方案,並且必須每天更新。
這將是不錯的,至少明白這裏發生了什麼......
先感謝您的任何提示。
使用一個真正的探查,並找出。 – PeeHaa