3

私は、すべてのリクエストに非常に迅速に (100 ミリ秒以内に) 応答できる API を使用して PHP アプリケーションを構築しており、1 秒あたり最大 200 のクエリを処理できる必要があります (リクエストは JSON であり、応答には DB ルックアップが必要です)。 +毎回保存)。私のコードは、単一のリクエストに対しては十分に高速 (非常に一貫して約 30 ミリ秒) で簡単に実行されますが、1 秒あたり複数のリクエストに応答する必要があるとすぐに、応答時間があちこちに跳ね上がり始めます。

メモリの問題 (PHP のメモリ制限は 128MB に設定されており、コードのメモリ使用量は約 3.5MB のみ) または MySQL の問題 ( DB 要求ののコードは、相互作用するビットと同じくらいボトルネックになる可能性がある) ではないと思います。 DB)。

タイミングは非常に重要であるため、応答時間をできるだけ一定にする必要があります。だから私の質問は、複数の同時リクエストを処理するときに PHP の応答時間を安定させるために (php.ini または Apache に対して) できる簡単な調整はありますか?

4

1 に答える 1

1

ボトルネックの観点から、サーバーでの私の経験で最も遅い(修正が最も簡単な)ものの1つは、ファイルシステムとハードドライブです。これをスピードアップすることは、他のすべての分野で役立つと思います。したがって、たとえば、httpdocsとデータベースが存在するハードドライブをアップグレードできます。たとえば、SSDドライブに配置できます。または、RAMディスクを作成して、その上にすべてのファイルを配置することもできます。

または、メモリストレージエンジンで動作するようにデータベースを設定することもできます。(関連情報もここにあります)

もちろん、すべてのことについて、多くの物理メモリが必要になります。また、取得したWeb /アプリホスティングが共有されている場合は、共有メモリで問題が発生することに注意することも重要です。

MySQLを調整する

Apacheを調整する

パフォーマンスチューンPHP

Zend Optimizerを有効にするか、APCまたはeAcceleratorを確認してください

これがIBMからのいくつかの基本的なLAMPチューニングの ヒントです

ここにいくつかの良いアドバイスもあるスライドシェアがあります

于 2013-02-15T20:39:14.730 に答える