哪个服务器更适合数据库,哪个服务器更适合前端?

哪个服务器更适合数据库,哪个服务器更适合前端?

再会,

我有一个运行 Apache 的 Web 服务器,带有 wsgi(Python)和 Mysql 数据库。该服务器是双核的,有 4GB RAM。
现在是系统升级的时候了,新服务器将是 Xeon E3-1230(四核),有 8GB RAM。

我一直在考虑拆分系统并在其中一个上运行 DB,在另一个上运行其余的。

在决定新的(更强大的)服务器是否应该运行 DB 或 Apache(带有大量 python 代码)时,需要考虑哪些因素?

谢谢

答案1

这个问题没有“一刀切”的答案,您需要了解 Web 应用程序的性质。您要查找的是总体负载分担占现有机箱容量的百分比,同时还要尝试了解 Web 应用程序的线程能力。

MySQL 将很乐意使用四个核心并受益于增加的内存带宽,将数据库移动到新服务器将是我的“盲目”建议,但如果您的应用程序淹没了现有的机器并且看起来它会扩展,那么您可以考虑将应用程序放在新服务器上。

基本上,尝试了解这两个功能正在做什么以及它们需要什么 - 这将为您的答案提供参考。

答案2

答案取决于您的使用模式。

如果两者使用的资源量相同(CPU 时间、磁盘 IO、RAM 等),则无关紧要。如果数据库使用的磁盘 IO 很多(这是有可能的),则将其放在磁盘速度最快的系统上。等等。

因此,基本上:

  1. 衡量每个应用程序使用的资源。
  2. 然后做出选择(而不是猜测)。

答案3

这一切都取决于情况。

要回答这样的问题,首先需要在当前硬件上分别收集所有组件的性能数据,然后再进行组合。

一旦您知道每秒有多少个 HTTP 请求、这些请求的平均/最小/最大时间是多少、涉及多少个 python 调用、这些调用需要多长时间、它们需要多少内存,并且您知道您的总体和峰值 SQL 磁盘 I/O 要求、每个 Web 请求执行的 SQL 查询量以及查询总数,那么您就可以开始计算哪个组件在您当前的硬件上最重。

这也是开始改进处理本身的最佳时机 - 使用更好的 apache MPM,优化您的 Python 代码和数据库访问,并优化您的数据库结构。

相关内容