使用多台服务器为网站提供服务有哪些速度上的缺点?

ae.*_*ae. 3 performance web-server memcached

我知道这些问题很难回答 :) 但我想对将服务分离到不同服务器上的影响有所了解。

具体来说,我正在建立一个网站,该网站将有一个媒体服务器(apache 提供静态文件)、一个应用程序服务器(apache 处理 php 文件)、一个主数据库服务器和一个从数据库服务器。

我打算在媒体和应用程序服务器上运行 memcached 作为共享池,但想知道这样做是否很昂贵(在时间和资源方面)?显然,每次(从应用服务器)请求 memcached 调用时,它都必须与媒体服务器建立 tcp 连接,找出结果的位置,然后返回它们。

对于像这样的小型网站设置,在应用服务器上增加内存而不是跨服务器池 memcached 会更好吗?还是差异如此之小,不值得担心?

即使我使用 memcached 作为示例,我还是希望答案保持相当通用,因为相同的场景可以应用于其他服务(如数据库)。

Ada*_*and 7

如果它是一个小型网站,我确实认为这种优化水平是过分的。

但是有一种方法可以确定:测试它

我们过去曾使用WCAT来回答此类问题。这是一个很好的工具,可以查看网站在各种负载下的表现。JMeter是另一个很好的工具。

例如,使用 WCAT,我们最终决定获得一个单独的 Hyper-V 服务器来托管我们的数据库虚拟机,与我们的 Web 应用虚拟机(在本例中为 Fogbugz)分开。测试表明,即使并发用户数量很少,将 DB VM 与应用 VM 放在同一台机器上也会使应用程序无法使用(CPU 是瓶颈)。