python - mysql服务器的CPU亲和性

标签 python mysql linux performance

我的 Linux 服务器有 4 个 CPU。我安装了 mysql,并且有 CPU 密集型任务在后台全天候 24/7 运行。对每个进程使用 CPU 亲和性有什么好处吗?例如:

1 CPU = background task/daemon
2 CPU = background task/daemon
3 CPU = background task/daemon
4 CPU = mysql

每个后台任务在任何给定时间占用高达 80% 的 CPU。

更新: 我的任务是 lxml 解析器 (python)。

最佳答案

我会看看您的流程在做什么。如果调度程序不断将任务切换到不同的核心/CPU,那么您可以通过将它们锁定到特定的核心/CPU 来获得性能提升。好处在于不必每次都在两个内核/CPU 之间进行昂贵的上下文切换。

如果您没有看到这种情况发生,那么我认为当调度程序可能发现需要将它们随机排列时,没有必要将它们锁定到特定的核心。

如果您正在寻找更具体的答案,您应该研究一下您的 Linux 内核使用的调度程序以及它如何调度进程。一旦您了解了它是如何安排它们的,那么使用配置/标志可能会有所帮助,这样它就可以很好地处理您所有的后台繁重任务。但请记住,如果您做的事情过于极端,您将面临进程/线程不足、运行时间极长或总体性能不佳的巨大风险。

关于python - mysql服务器的CPU亲和性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12149570/

相关文章:

python - 如何在 '- url:' 行中创建多个 url,在 google-app-engine 上

python - pygame圈子没有改变

python - 使用副本创建不同的文本文件

Python 范围界定问题举例

mysql - 如何创建数据库模式,使一名员工只能属于一个部门?

php - 来自不同计数和选择不同查询的不同结果

mysql - 在 SQL 中连接来自同一个表的两个外键

linux - inode号在软链接(soft link)中显示相同

linux - 什么是文件扩展?

linux - Linux 内核中的 DECLARE_COMPLETION_ONSTACK 功能