3

具体的に言うと、Linux Apache2 MySQL PHP サーバー上で動作する独自のコンテンツ管理システムを実行しています。このシステムは、モジュール付きの Linux カーネルに匹敵します。

--(リクエスト開始)--

システムは、依存関係ベースのモジュールの読み込みを処理する「init」スクリプトを起動します (最小限のモジュールのみが適切な順序で読み込まれるため、「正常に動作」しますが、それ以外は何も実行されません (無効化されたモジュールや未使用のモジュールは読み込まれません))。

システムの準備が整うと、リクエスト処理が開始されます。完全な (x)HTML ページが完成するまで、すべてのデータがロード、解析、処理、バッファリング、咀嚼などされます。

--(リクエスト終了)--

リクエストが処理されると、データがブラウザに渡され、システムが強制終了されます。これらはすべて非常に短時間で行われますが、最も CPU を集中的に使用するのは最初の部分 (システムを使用するための準備) です。


いくつかのオプションがあります:

  1. システムを現状のままにします (実際の使用 (システムあたり約 100 ~ 500 リクエスト/秒) に展開した後、パフォーマンスの問題のリスクがあります)。
  2. ある種のプリロードを行います (システムを手動で準備し、魔法が起こらないようにします)。
  3. システムをすぐに使用できる状態に保つ方法を見つけます (すべてのモジュールがロードされ、クラスが初期化され、MySQL リンクの準備ができているなど)。

質問は:

  • ポイント3を達成する方法はありますか?(ポイント2は私が最も望んでいないものです)
  • 可能であれば、どのように?

私を正しい方向に向けるアドバイスをありがとう!

4

2 に答える 2

0

Php を C++ または Java にコンパイルし、少し犠牲にしてパフォーマンスを向上させたい場合があります。詳細については、ウィキペディアを確認してください

于 2011-08-15T21:52:23.113 に答える