0

VPS でサイトを実行していますが、定期的に 93% のメモリ使用量に達しています。大きなページの 1 つで PHP の memory_get_usage() 関数を使用したところ、1,500,000 を超えるメモリを使用しているとのことでした。それはたくさんですか?健全なサイトの一般的なベンチマークはありますか?

私のサイトはそれほど複雑ではありませんが、フレームワークを使用せずに手作業でコーディングしています。

懸念されるのは、すべての PHP 関数を含む 1 つのファイル (125kb) を含むコード行まで、メモリ使用量の大幅な増加を追跡したという事実です (はい、関数を別々のライブラリに分けて、必要に応じて含める必要があります)。 .

そのページのメモリ使用量は、そのファイルを含めた直後に 250k から 1.4MB に跳ね上がります。これは正常ですか?これらの関数はまだ実際には呼び出されていません。これは単なる関数ライブラリです。

4

1 に答える 1

2

PHP プログラムの場合、1.5 MB は心配する必要はありません。

20MBでも心配ありません。

プログラムが何をしているかにもよりますが、50MB はもう少し心配です。

もちろん、個々のプログラムに大きく依存します。

あなたの場合、スクリプトに一連の関数を追加すると、これまでに見たような順序でメモリのチャンクが確実に占有されます。そこには何も異常はありません。

しかし、1.5メガは多くありません。VPS にはどのくらいの RAM がありますか? RAM割り当て全体を吹き飛ばすために、いくつのPHPスクリプトを同時に実行していますか?

スクリプトの速度に問題がある可能性があります。PHP スクリプトは、1.5 MB を長時間使用しないように、最小限の時間で実行する必要があります。ただし、時間がかかりすぎるスクリプトがある場合は、より多くのユーザーが同時にスクリプトを実行する可能性があります。さらに、速度が遅い場合は、これらのユーザーが数回更新を試みると、1 人のユーザーがスクリプトの複数のコピーを一度に実行するため、確実にメモリが吹き飛ばされます。したがって、コードのパフォーマンスを改善する方法を探してください。これはあなたを助けることができます。

別の質問: あなたのページは静的ですか? キャッシュできますか?つまり、PHP ページが読み込まれるたびに同じ HTML 出力を生成する場合、出力をキャッシュすることで大量の RAM を節約できます (そしてパフォーマンスが大幅に向上します)。これにより、ページが読み込まれるたびに PHP コードを実行する必要がなくなります。要求されます。これには、Varnish のようなキャッシュ サーバーが役立ちます。

これが質問への回答に役立ち、さらにいくつかの方向性を示してくれることを願っています。

于 2012-12-27T22:58:59.120 に答える