横向扩展或纵向扩展 - Rackspace 云服务器

横向扩展或纵向扩展 - Rackspace 云服务器

我有一个小型网络服务器,运行几个 Django python 应用程序、MySQL 和一个 wordpress 多站点实例。它们全部在 Apache 上运行,使用 mpm worker、fastcgi 和 mod_wsgi + memcached

服务器即将达到 256MB 的小内存限制。我可以选择将机器升级到 512MB,或者购买一台新机器并分离服务 - MySQL 在一台机器上,其他所有服务在另一台机器上 (?)。

或者只是移动 memcached?

或者拆分服务器——一个用于 Wordpress PHP 内容,另一个用于 Django 内容。

我正在使用 cloudfiles CDN 来提供所有媒体内容。

答案1

我预计,在您所关注的层面上,它可能会归结为价格突破 - 扩大规模在长期内会带来更多潜力,但您目前拥有如此大的扩大规模的能力,仅仅升级服务器不会对您造成阻碍。

不过,您可能需要查看您的架构,目前您在与 MySQL 服务器相同的机器上运行 memcached,因此它们在争夺相同的内存(暂时忽略 Web 服务器)。我真的看不出在该服务器上使用 memcached 有什么价值,因为它所做的任何缓存都只是使用 MySQL 可以用于其自身内部缓存的 RAM。

如果我是你,我会放弃 memcached(除非你对它有重大要求)并暂时扩展(将 MySQL 移动到专用服务器上,调整 Apache 以使用额外释放的 RAM)——当你开始遇到数据库性能容量问题时再添加 memcached。

答案2

扩展。您将能够更好地掌握每个组件的性能特征,并据此做出调整。

我甚至建议在不久的将来设置第二个 Web 节点并设置负载平衡(RS 的托管负载平衡器工作得相当好),因为您将获得冗余和性能,并且我总是喜欢在早期设置这些东西,这样您就不会在网站真正开始聚集势头时尝试做这项工作。

答案3

扩大规模。在达到 1-2GB 之前,您可以通过增加 RAM 来大幅提高服务器的性能,并避免运行和维护多台机器的复杂性。

确实,您不会获得运行两台机器的高可用性优势,但您也不会遇到编写可扩展应用程序、部署到多台机器、保护/修补和升级多台机器等麻烦。

相关内容