抱歉,问题表述得不太专业。我不太清楚该如何表达。
我的Linux服务器:
- 向用户提供网页
- 在后台进行大量数据处理和收集
我希望 (2) 不会放慢 (1) 的速度,希望它们能以某种方式分开。到目前为止,我发现最好的方法是让两者nginx和阿帕奇在服务器上。我使用 nginx 提供网页服务,使用 apache 进行数据处理。然后我使用 CPULIMIT 将我的 apache 进程限制为 20% 的 CPU。这可以在一定程度上控制它们。但是,mysql 成为瓶颈,并且通常有点混乱。
这里的标准做法是什么?
谢谢!
答案1
正如 Nathan 所说,通常你会将所有这些分开。如果缺少基础架构,请尝试提高 nginx 工作进程的优先级:worker_priority
-19
应该对您的工作者来说是一个很好的nice
值。将 Apache 限制为 20% 意味着,即使您的 nginx 处于空闲状态,它也永远不会利用更多。因此使用nice
应该是一个更好的方法。基本上,您告诉您的操作系统,此线程始终优先于其他任何线程,但如果 nginx 处于空闲状态,则所有能量都会分配给您的 Apache。
希望这可以帮助。