如何防止我的服务器的后台数据处理任务拖慢整个服务器的速度?

如何防止我的服务器的后台数据处理任务拖慢整个服务器的速度?

抱歉,问题表述得不太专业。我不太清楚该如何表达。

我的Linux服务器:

  1. 向用户提供网页
  2. 在后台进行大量数据处理和收集

我希望 (2) 不会放慢 (1) 的速度,希望它们能以某种方式分开。到目前为止,我发现最好的方法是让两者nginx阿帕奇在服务器上。我使用 nginx 提供网页服务,使用 apache 进行数据处理。然后我使用 CPULIMIT 将我的 apache 进程限制为 20% 的 CPU。这可以在一定程度上控制它们。但是,mysql 成为瓶颈,并且通常有点混乱。

这里的标准做法是什么?

谢谢!

答案1

正如 Nathan 所说,通常你会将所有这些分开。如果缺少基础架构,请尝试提高 nginx 工作进程的优先级:worker_priority

-19应该对您的工作者来说是一个很好的nice值。将 Apache 限制为 20% 意味着,即使您的 nginx 处于空闲状态,它也永远不会利用更多。因此使用nice应该是一个更好的方法。基本上,您告诉您的操作系统,此线程始终优先于其他任何线程,但如果 nginx 处于空闲状态,则所有能量都会分配给您的 Apache。

希望这可以帮助。

相关内容