В настоящее время у нас возникают проблемы с утечками памяти при использовании модульных тестов с Symfony 1.x до величины приличного количества тестов, потребляющих 512 МБ памяти.
В настоящее время мы пробовали:
- Использование плагина phpunit
- Использование извести
- Ограничение тестов несколькими загрузками sfPropelData + функциональные тесты, повторенные несколько раз
- Переход на PHP 5.3.3 для обработки циклических ссылок
- Проверка использования памяти xdebug, которая не дала особого понимания
Скоро мы попробуем:
- Только функциональные тесты
- Замена sfPropelData вместо загрузки простых файлов SQL
- Только функциональные тесты без вызовов ORM
- Valgrind
Я думаю, что, возможно, статические переменные в Symfony не очищаются или сам уровень PDO теряет память. Конечно, последний вариант - это найти способ запустить набор тестов в своем собственном процессе.
Мы продвигаемся по тем областям, в которых он может находиться, и я не ожидаю, что кто-нибудь на самом деле поможет нам проработать детали, но я просто задаю этот вопрос, чтобы узнать, сталкивался ли кто-нибудь с этим и где он нашел утечка или что они сделали, чтобы обойти это.
Кроме того, есть какие-то данные, которые могут помочь, например, valgrind?