単純に言えば、私はかなり新しいPHPコーダーです。コード内のパフォーマンスを改善するだけでなく、これらの厄介なメモリリークを防止する最善の方法について、私のホストは、APCなどがインストールされていないものの1つで、すべて手作業でコーディングする必要があります。-_-メモリリークを止めてパフォーマンスを向上させるためのベストプラクティス
答えて
通常のメモリリーク(オブジェクトや文字列を忘れるなど) PHPでは一般的ですが、一般的にリソースリークがあります。私は問題を持っていた:
データベース接続 - あなたは本当になど/
pg_close
/mysql_close
を呼び出す必要があります。あなたは接続が完了したら。私はPHPの接続プーリングがこれを緩和すると思っていますが、それ自体で問題が発生する可能性があります。イメージ - イメージを開くまたは作成するためにgd2拡張子を使用する場合は、
image_destroy
が必要です。そうしないと、メモリが永久に占有されるためです。また、画像はデータサイズの点で大きくなる傾向があります。
スクリプトは、純粋なCGI(なしHTTPサーバー・モジュール)を実行する場合、スクリプトが終了したときに、そのリソースを効率的にクリーンアップされることに注意してください。しかし、スクリプトのランタイム中にメモリの問題が残っている可能性があります。特に、1回のスクリプト実行で多くの操作を行うのは珍しいことではないイメージの場合です。
一般に、PHPスクリプトはメモリをリークできません。 PHPランタイムはスクリプトのすべてのメモリを管理します。スクリプト自体はメモリをリークする可能性がありますが、これはPHPプロセスが終了すると再利用されます。 phpは主にHTTPリクエストの処理に使用され、これらは一般的に非常に短時間で実行されるため、少しのメモリをリークしても問題ありません。したがって、http以外のタスクでphpを使用するとメモリリークだけが本当に懸念されるはずです。パフォーマンスは、メモリ使用量よりも大きな懸念事項になるはずです。コードをプロファイルするには、xdebugなどのツールを使用します。
- 1. インタプリタのパフォーマンスを向上させるための戦略
- 2. パフォーマンスを向上させるためのWPF VirtualizingStackPanel
- 3. 一般的方法モバイルWebパフォーマンスを向上させるため
- 4. C#のパフォーマンスを向上させるためのIEnumberableとしてのDataTable
- 5. ベストプラクティスとasp.net mvcでWebサーバーのパフォーマンスを向上させるためのツールですか?
- 6. パフォーマンスを向上させる
- 7. パフォーマンスを向上させる
- 8. ベクトルreseveが次にパフォーマンスを向上させるために割り当て
- 9. iOSアプリのパフォーマンスを向上させるためにプログレッシブサブビューをロードする
- 10. パフォーマンスを向上させるためにデータセットクエリを構成する方法
- 11. パフォーマンスを向上させるために一時テーブルにクラスタードインデックスを追加する
- 12. パフォーマンスを向上させるためにループ内にスレッドをスクロールする
- 13. パフォーマンスを向上させるためのforループの代わりに
- 14. パフォーマンスを向上させるためのMySQL設定(InnoDB)の設定?
- 15. SQL照会のパフォーマンスを向上させるための助けが必要
- 16. Java String.splitの代わりにパフォーマンスを向上させるために
- 17. 意見を求める:SSRSレポートのパフォーマンスを向上させるための非正規化のファクトテーブルとディムテーブル
- 18. CALayerフィルタのパフォーマンスを向上させる
- 19. JavaScriptコードのパフォーマンスを向上させる
- 20. SQL - ピボットクエリのパフォーマンスを向上させる
- 21. JavaFX WebGLのパフォーマンスを向上させる
- 22. EXCEPTステートメントのパフォーマンスを向上させる
- 23. ウェブサイトのパフォーマンスを向上させる - ASP.NET
- 24. ボックスシャドーのパフォーマンスを向上させる
- 25. ASP.NETアプリケーションのパフォーマンスを向上させる
- 26. C#リストのパフォーマンスを向上させる
- 27. FileSystemWatcherのパフォーマンスを向上させる
- 28. ClojureScriptプログラムのパフォーマンスを向上させる
- 29. Javaパーサーのパフォーマンスを向上させる
- 30. Javaプログラムのパフォーマンスを向上させる
私はxdebugを使いたいと思っていますが、私のホストは余分なものがインストールされているとは言いませんでしたが、ありがとうございます:) –
xdebugを運用環境にインストールしません。開発者マシンにインストールします。 – troelskn
私は、スクリプトが終了した後にメモリが再利用されないというプロセスでリークを観察しています。もちろん、PHPは、おそらく責任を負うことになります。 –