对于经验丰富的操作员来说,这可能是显而易见的事情,但请耐心听我说一遍(我是一名开发人员,同时也需要管理我们的服务器)。
目前,几台服务器中的一台(负载平衡)除了运行通常面向客户的 Web 服务器外,还运行许多劳动密集型守护进程(它们与缓存服务器、数据库服务器和多个第三方 Web 服务交互)。这些守护进程所做的工作随着当前网站访问者的数量而增加(跨全部网络服务器)。
我的问题是,您是否认为将这些守护进程移至不共享资源的自己的服务器并同时充当常规 Web 服务器更好?或者,将运行这些守护进程的这台服务器移至具有更多运行时内存的新服务器是否有好处?
谢谢。
答案1
在这种情况下,首先也是最重要的事情是找出这些服务器是否真的在挣扎。您需要在高峰负载时间运行一些延迟测试,并找出交易速度是否不令人满意。
通常,劳动密集型守护进程非常适合在 Web 服务器上运行,因为 Web 服务器很少使用太多 CPU 时间。这意味着您不会浪费资源。如果守护进程的高 CPU 使用率确实导致服务器响应能力出现问题,那么最好先尝试调整它们的优先级和优先级,以优先考虑 Web 服务器。
如果这还不够的话,我会像你说的接下来尝试在分离守护进程之前运行一个更强大的服务器,这可能会有所帮助,但将它们分离到它们自己的服务器上不太可能有帮助,因为大多数守护进程像以前一样使用不同于 Web 服务器的资源并且不会争用它们。
答案2
您是最有能力确定应用程序需求的人。由您来决定额外的服务器是否会改善用户体验。如果这些不常见的守护进程不需要实时运行(即它们不为用户提供服务),那么将它们放在其他地方可能是个好主意。如果用户依赖它们,那么 Web 服务器可能是它们的最佳位置,也许您只是需要更多的 Web 服务器(和守护进程服务器)。
答案3
作为最佳实践,是的,您应该分离服务器的角色。
把所有类型的服务器应用程序都堆放在一个机器上通常不是一个好主意。但是,如果你有无法避免的预算限制,你就别无选择。