저는 제품 데이터를 업데이트하기 위해 PHP 스크립트를 사용하고 있습니다. 소비 메모리가 일정하지만, 1.000 제품 당 소비되는 시간이 모든 시간 증가 : 내가 CSV 데이터를 포함 내 변수의 라인을 읽기를 제외한 모든 해제하더라도대용량 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]....
을, 효과는 동일합니다 낮은 증가율 제외 :
[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). 때 특히,이 일관되게 필요한 시간을 증가해야하는 이유를 모르겠어요
$line = array_shift($this->file);
: 다음 라인으로 검색 한
$this->file = file($file_path);
:
난과 사전에 내 데이터를로드 아무 조치도 취하지 않고 그냥 array_shift하십시오.
현재 해결 방법은 파일을 10,000 조각으로 분할하는 것입니다.이 방법은 300.000 줄이 넘고 매일 업데이트해야하는 파일에는 바람직하지 않습니다.
적어도 여기에 무슨 이해하는 것이 좋을 것이다 ... 어떤 힌트를 사전에
감사합니다.
실제 프로파일 러를 사용하여 알아 PHP의 가비지 컬렉션 아웃-생각합니다. – PeeHaa