Сегодня отлавливал интерестный баг.
Парсил прайс от поставщика размером 6 Мегабайт. Процентов 50% парсилось нормально, а потом раз и скрипт требовал 90 Мегабайт памяти. Выглядело это примерно вот так:
... memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 6141.69Kb memory usage: 90380.56Kb |
Версия php на локальной машине:
PHP 5.3.2-1ubuntu4.2 with Suhosin-Patch (cli) (built: May 13 2010 20:01:00) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans with Suhosin v0.9.29, Copyright (c) 2007, by SektionEins GmbH |
Начал разбираться в чем проблема. Создал тему на форуме zendframework.ru. В результате, вместе с Сашей Стешенком выяснили, что в php 5.3.3 этого бага уже нет и памяти при парсинге xml он ощутимо меньше кушает:
peak memory usage: 4652.38Kb |
PS. Кстати в ядро php 5.3.3 наконец включен FPM!
PS2. Как собрать php 5.3.3 из исходников можно прочитать в статье “Install NginX and PHP 5.3.3 with PHP-FPM, MySQL and APC“