我正慢慢进入我的Django网站需要一些强大功能的位置。我目前在带有memcached的SQLite数据库上使用单个VPS运行..它的大小与事情无关。
如果我购买了另一个VPS帐户,我想做什么?
我是以错误的方式去做的吗?是否有更简单的方法来获得更快,更强大的django网站?
答案 0 :(得分:2)
第一步:从SQLite切换到真正的生产数据库(我喜欢Postgres)。这应该在您考虑第二个VPS之前很久就会发生。 SQLite本质上根本不支持并发。就个人而言,我甚至不会考虑首先在SQLite上部署一个实时网站。
如果您的网站在SQLite上运行且运行正常,我猜您距离单个VPS实际上还有很长的路要走(除非它已经非常重载)。
如果/当您确实需要添加第二台服务器时,您的配置方式取决于您实际看到瓶颈的位置。有可能它是数据库,在这种情况下,一个好的步骤可能只是将数据库移动到自己的服务器上(假设您可以保证两个VPS之间的低延迟)并使用尽可能多的RAM加载数据库服务器。通常,磁盘性能在VPS中受到的影响最大,因此需要考虑的另一个步骤可能是将DB放在原始金属上。
在考虑数据库复制或多个Web层服务器之前,我可能会考虑这些步骤,但这实际上取决于对实际案例进行分析(以及您如何评估性能与可靠性)。
答案 1 :(得分:0)
观看Jacob Kaplan-Moss的Django Deployment Workshop应该会给你一个很好的概述。
MySQL支持Master-Slave和Master-Master设置我不使用PostgreSQL。
您可以使用nginx作为您的负载均衡器,HAProxy也是一个选项(使用它)。
Memcached在服务器上分发对象,如果一个崩溃,数据就会丢失。
我不认识切诺基,但是nginx很棒。