我想基于LAMP扩展电子商务门户.最近我们看到了巨大的流量激增.
缩放它的步骤(请按顺序提及):
我应该考虑转移到Amazon EC2还是类似的?什么可能是切换服务器的潜在问题?
我们需要重新设计数据库吗?我读过,Facebook从MySql切换到Cassandra.如果切换到Cassandra,需要更改哪些代码?将卡桑德拉是比MySQL更好的选择?
Hadoop的可能性,甚至不确定?
还需要考虑其他什么吗?
发现这个帖子很有用.这个博客也有很好的文章.我想知道的是我在扩展这个应用时应该考虑的步骤列表.
首先,我建议确保服务器提供的每个资源都设置适当的缓存控制头.目标是确保每次都能获得真正的动态内容,并尽可能地从其他人的缓存中提供任何稳定或静态的内容.为什么当您将产品图像交付给第一个并让AOL将其交付给所有其他客户时,为每个AOL客户提供产品图像?
如果您当前在同一个框上运行Web服务器和dbms,则可以考虑将dbms移动到专用数据库服务器上.
完成上述操作后,您需要开始测量细节.什么资源会首先达到其容量?
例如,如果Web服务器以容量或接近容量运行,而数据库服务器大多处于空闲状态,则切换数据库或实现复制等没有意义.
如果网络服务器大部分处于空闲状态而dbms不断地突然消失,那么考虑切换到负载均衡的Web服务器集群是没有意义的.
先处理简单的事情.
如果dbms可能是瓶颈,请确保您的数据库具有正确的索引,以便在查找期间获得快速访问时间,并且不会在更新期间浪费不必要的时间.确保dbms从表本身记录到不同的物理介质.确保应用程序不会发出任何浪费的查询等.确保您没有对事务数据库运行任何昂贵的分析查询.
如果网络服务器可能是瓶颈,可以通过更改应用程序或实施新的缓存策略来查看它在大部分时间内花费的时间并减少工作量.确保您没有做任何会妨碍您迁移的工作单个服务器到具有负载均衡器的多个服务器.
如果您已经处理了上述问题,那么您将更好地准备迁移到多个Web服务器或数据库服务器.您将更好地了解决定是使用复制扩展数据库还是切换到完全不同的数据模型等.