2

現在、Symfony 1.x で単体テストを使用すると、512MB のメモリを消費するかなりの数のテストでメモリ リークの問題が発生します。

現在、私たちは試しました:

  • phpunit プラグインの使用
  • ライムの使用
  • テストを数回の sfPropelData ロード + 機能テストの繰り返しに制限する
  • 循環参照を処理するために PHP 5.3.3 に切り替える
  • 多くの洞察を与えなかったメモリ使用量xdebugの検査

すぐに試してみます:

  • 機能テストのみ
  • プレーン SQL ファイルをロードする代わりに sfPropelData を置き換える
  • ORM 呼び出しのない機能テストのみ
  • ヴァルグリンド?

symfony 内の静的変数がクリーンアップされていないか、PDO レイヤー自体がメモリ リークを起こしているのではないかと考えています。もちろん、最後のオプションは、一連のテストを独自のプロセスで実行する方法を見つけることです。

私たちはそれが存在する可能性のある領域を進んでおり、実際に詳細を解決するのを誰かが実際に手伝ってくれるとは思っていませんが、誰かがこれを経験したことがあるかどうか、そして彼らがどこに漏れを見つけたかを確認するためにこの質問を投げかけています.または、これを回避するために彼らが何をしたか。

また、valgrind など、支援できる他のツールに関する情報はありますか?

4

1 に答える 1

1

ORM 呼び出しのない機能テストのみ

これは、私が常に防止しようとしているものです。データベースにアクセスする代わりに、Mock-Objects を使用してください。

あなたが試すことができるのは、テストのプロセス分離を備えた新しいPHPUnit-Versionです(追加のコマンドラインパラメーターによってアクティブ化されます)。それはあなたを助けるはずです。遅くなりますが、メモリの問題に役立ちます

于 2010-09-02T14:22:40.700 に答える