【发布时间】:2017-03-21 14:15:34
【问题描述】:
我的 django 应用程序需要非常快,而且现在运行良好。
所以我的问题是,将django 应用程序放在一台服务器上,将mysql 放在另一台服务器上更好,还是同时放在一台服务器上更好?
我问是因为当时的交流。
我使用 digitalocean,两者都在一台服务器上。
【问题讨论】:
标签: mysql django database networking
我的 django 应用程序需要非常快,而且现在运行良好。
所以我的问题是,将django 应用程序放在一台服务器上,将mysql 放在另一台服务器上更好,还是同时放在一台服务器上更好?
我问是因为当时的交流。
我使用 digitalocean,两者都在一台服务器上。
【问题讨论】:
标签: mysql django database networking
这取决于应用程序的编写情况。
写得不好的 django 会产生很多查询,所以将它放在同一台服务器上可能是有益的。写得好的 Django 应该利用数据库来完成繁重的工作,在这种情况下,最好将它放在单独的服务器上,这样服务器就可以针对数据库进行调整。 (通常有一个单独的数据库服务器是可行的方法)。
最好的办法是将 Django 调试工具栏添加到您的应用程序中,看看它是否会生成大量查询,然后从那里调整应用程序。
【讨论】:
你有几个选择,但让我们坚持这两个。
有利于快速设置应用程序,因为它是最简单的设置,但它提供的可扩展性和组件隔离方式很少。 有很多优点,它快速,易于使用。它不满足延迟问题。从缺点:你不能水平缩放。
首先,我建议使用 Postgres,因为最新版本 (9.6) 现在可以在多个内核上运行,这使得它比 mysql 快得多。
它有利于快速设置应用程序,但可以防止应用程序和数据库争夺相同的系统资源。
对于专业人士来说,它不会争夺资源(RAM / CPU / I/O)。
它还可以通过从 DMZ 中删除数据库来提高安全性。
从缺点来看,设置起来更困难,并且当发生高延迟时,查询可能需要更长的时间来执行。
总结一下。对于不需要很多请求的中小型应用程序,我会使用第一个选项。 每当应用程序每天托管数千个用户时,我都会考虑将数据库移动到另一个服务器/服务器。
【讨论】: