Frage

Wir haben zur Zeit Probleme mit Speicherlecks aufweisen, wenn Komponententests mit Symfony 1.x auf die Größe einer anständigen Anzahl von Tests mit 512 MB Speicher zu essen.

Zur Zeit haben wir versucht:

  • Mit einem phpunit Plugin
  • Mit Kalk
  • Die Beschränkung der Tests einige sfPropelData Lasten + Funktionstests wiederholt einige Male
  • Die Umstellung auf PHP 5.3.3 auf zirkuläre Referenzen behandeln
  • Inspizieren Speichernutzung xdebug, die nicht viel Einblick gegeben hat

Bald werden wir versuchen:

  • Es werden nur die Funktionstests
  • Ersetzen sfPropelData stattdessen Ebene SQL-Dateien geladen werden
  • Nur Funktionstests ohne ORM Anrufe
  • Valgrind?

Ich denke, vielleicht die statischen Variablen innerhalb symfony nicht gereinigt zu werden oder die PDO-Schicht selbst Speicher undicht. Natürlich ist die letzte Option, einen Weg, um herauszufinden, eine Reihe von Tests in einem eigenen Prozess ausgeführt wird.

Wir voran die Bereiche durch sie in sein könnte, und ich erwarte nicht, dass jemand tatsächlich helfen Sie uns die Details zu arbeiten, aber ich bin zu werfen gerade diese Frage gibt, ob jemand diese Erfahrung gemacht hat und wo sie gefunden das Leck zu sein, oder was sie taten dies zu umgehen.

Auch jede Eingabe auf andere Tools, die, wie valgrind helfen können?

War es hilfreich?

Lösung

  

Nur Funktionstests ohne ORM Anrufe

Das ist einer, dass ich versuche immer zu verhindern. Verwenden Sie Mock-Objekte, anstatt die Datenbank zugreifen

Was können Sie versuchen, die neue PHPUnit-Version ist, die Prozessisolation der Tests hat (über zusätzliche Befehlszeilenparameter aktiviert). Das sollte Ihnen helfen. Es ist langsamer, aber hilft bei dem Speicherproblem

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top