在以下情况下加载EC2中PHP类的最佳方式是什么?(#是用于说明目的)? (通过__autoload)加载100个PHP类 - >每天在类之间更改100个代码(许多类包含通过cron定期更新的自动生成的代码)。在EC2中加载php类的最佳方式 - InstanceStore,EBS或S3?
从我所收集,有3种方式加载在EC2 PHP类文件:
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,我不能够在APC禁用FSTAT由于被不确定如何在一天100次以上(当代码发生变化时)处理所有100个Apache实例上的缓存类的失效。因此,如果每个类加载都会生成对文件系统的调用,即使该类被apc缓存(执行fstat调用),如果在网络上执行100次往返操作以执行fstat操作,也不会出现巨大延迟或者在每个请求中读取文件?
在所描述的场景中加载类文件的最佳选择是什么(或者可能是一种不在此处列出的新方法)?
使用实例存储并让实例拉取或侦听更改,而不是手动更新它们。 –
你能详细说明这将如何完成? – archmeta