我主要是一个Web应用程序开发人员,我对缩放/可伸缩性技术知之甚少.我的应用程序是用Python编写的,使用Django;一个相当标准的设置.
我目前使用Apache 2.2作为我的网络服务器,MySQL作为我的数据库服务器;两者都在同一个VPS上运行.
到目前为止,它基本上是一个原型,在任何给定时间只有15-30个并发用户;所以我没有任何问题,但现在因为我们将增加更多用户,我们将遇到性能问题.
所以我的问题是如何扩展我的网络应用程序?我目前的计划如下:
>现在我只运行一个vps服务器,apache MySQL.
>接下来,我计划添加另一个vps服务器,只运行MySQL,所以我将有一个网络服务器和一个数据库服务器.
>接下来,我将向web服务器添加memcache以缓存数据,从而减轻MySQL的负担.
>接下来,另一个用于提供所有静态内容的Web服务器.
>接下来,一个用于负载平衡的VPS服务器(nginx / varnish),后面是我的两个web服务器,然后是db-server.
这听起来像是一个可行的策略吗?请指导我这里.
也就是说,如果您在应用程序中没有做任何可怕的错误,那么您可能会遇到的第一个限制将是数据库引起的磁盘I / O,您的策略可能是一个不错的选择.
将数据库移动到另一个物理磁盘应该有很多帮助,并且是您的第一件事.例如,根据您使用的系统,在当前主机上使用第二个磁盘或移动到完全独立的服务器之间可能没有区别或有很大差异.您正在VPS上运行,如果您的磁盘I / O绑定转移到第二个VPS,如果碰巧使用相同的存储(相同的磁盘或相同的SAN或其他任何东西),可能不会有太大帮助 – 但最后一个是您的vps提供商应解决的问题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。