我正在使用 Django ORM 在 ipython shell 中修改一些大数据查询。这是在 OS X 上的 VMware Fusion 中的 Debian 6 VM 上,允许 VM 访问主机上 4 核 HT i7 的 4 或 8 个内核(我已经玩过这些设置)。
当我在顶部查看进度时,例如在 python shell 中执行“for result in results:do_query()”时,python 和其中一个 postgres 进程似乎总是位于同一个物理 CPU 内核上 -它们的总 CPU 使用率加起来永远不会超过 100%,python 通常是 65% 到 postgres 的 25% 左右。VM 上的 iowait 并不过分高。
我不肯定他们总是在同一个核心上,但看起来确实如此。考虑到我最终计划如何扩展它,我希望更优化地安排 python 进程和 postgress 工作人员。有什么见解吗?