次のシナリオで EC2 に PHP クラスをロードする最良の方法は何ですか (# は説明のためのものです)。-> Apache と APC を実行する 100 個の EC2 インスタンス -> リクエストごとにロードされる 100 個の php クラス (__autoload 経由) -> クラス間で 1 日あたり 100 個のコード変更 (多くのクラスには、cron によって定期的に更新される自動生成コードが含まれます)。
私が収集したものから、EC2 に php クラス ファイルをロードする方法は 3 つあります。
A. InstanceStore - The local (virtual) hard drive of an EC2 instance
-> Code must be pushed separately to each instance.
-> Fastest loading since no need to go over the network
B. EBS - A volume mounted to a particular instance
-> Code must be pushed separately to each instance.
-> Slower loading since go over the network
C. S3 - A S3 bucket can be 'mounted' to 1 or more EC2 instances
-> Code only needs to be pushed once
-> Slowest loading since go over the network
Apache インスタンスで APC が有効になっている場合でも、100 個のすべての Apache インスタンスでキャッシュされたクラスの無効化を 1 日に 100 回以上 (コードが変更された場合) 処理する方法がわからないため、APC で fstat を無効にできません。その結果、クラスが apc によって (fstat 呼び出しを実行するために) キャッシュされていたとしても、各クラスのロードがファイルシステムへの呼び出しを生成する場合、fstat を実行するためにネットワーク上で 100 回の往復があった場合、巨大な遅延は発生しません。またはすべての要求でファイルを読み取りますか?
説明されているシナリオでクラス ファイルをロードするための最良のオプション (または、ここにリストされていない新しい方法) は何ですか?