1

こんにちは、サーバーの RAM と PHP/MySQL/Jquery スクリプトについて質問があります。

スクリプトが追加の RAM を使用しない場合、スクリプトは RAM を強制終了できますか? (RAM が最大値に達したとき、またはメモリ制限のために発生する可能性があることはわかっていますが、この場合ではありません。)

スクリプトをテストしていますが、そのたびに RAM がすぐにダウンします。スクリプトはメモリ制限のエラーを表示せず、すべてのデータを正しくロードしています。スクリプト RAM をテストしていないときは、まだダウンしています。

データベースにはいくつかのレコードがあります - 多分 9 つのテーブルに 350 のレコードがあります (bigges テーブルには 147 のレコードがあります)。

(サーバーを実行するための単純な(本当に単純な)グラフだけのログはありません。)

お時間をいただきありがとうございます。

4

1 に答える 1

0

PHP エラー ログにメモリ割り当ての失敗に関するエラーが表示されず、サーバーの RAM 不足に関する他の問題 (デマンド ページングのためにメモリ ページがディスクに書き込まれることによる極端なパフォーマンスの低下など) も見られない場合) あまり気にする必要はないかもしれません。Web サーバーが 1 回のリクエストでそれだけの量のメモリを使い果たすユース ケースは非常にまれです。

実際のメモリ使用量をプロファイリングしようとすることに関しては、タスク マネージャーなどを監視してプロファイリングしようとすると、かなり信頼性が低くなります。ほとんどの PHP スクリプトはミリ秒単位で完了しますが、これはメモリ割り当てが実際にタスク マネージャーに登録されるには十分な時間ではありません。

メモリ使用量をプロファイリングするためのより信頼性の高い方法がある場合でも (PHP にこのための関数が組み込まれているかどうかは思い出せませんが、おそらくそうです)、難しい理由でメモリ使用量が大幅に変動することを覚えておいてください。理解する。特に PHP は非常に高レベルです。データベース接続を開くことができます。これには、ネットワーク ソケットを開く OS に至るまでのすべてが含まれ、内部データ構造の作成、物事のキャッシュなどすべてが 1 行のコードで行われます。スクリプトは、単一のデータベース行に対して、そのようなことのために何メガバイトものメモリを割り当てる場合がありますが、1 ミリ秒後に割り当てを解除する場合があります。

これらのデータベースのサイズはごくわずかです。行のサイズによっては、メガバイト以下のデータになる可能性があります。これは、リモートで最新のメモリのバケツの小さなドロップです。そのようなもののメモリ使用量について心配する必要はありません。スクリプトが失敗し、エラー ログがメモリ不足を報告している場合にのみ、本当に心配する必要があります。

于 2012-12-17T23:32:38.813 に答える