我发现CPU的一个核心一次只运行一个查询。其他查询排队等候。这是postgres的限制吗?
我有一个用于postgres的4核CPU,我已经在6个不同的psql会话中并行提交了6个查询。但我看到每个CPU只有1个查询,其余查询排队。我不确定为什么会这样。你有什么特别的postgres调度程序吗?我可以看到CPU已与其他非postgres进程共享,但postgres进程不共享核心内的任何CPU。以下是流程状态。
lms 2868 2209 98 07:20? 00:12:30 postgres:lms controller [local] SELECT
lms 2869 2209 98 07:20? 00:12:30 postgres:lms controller [local] SELECT
lms 2870 2209 0 07:20? 00:00:00 postgres:lms controller [local] SELECT
lms 2871 2209 0 07:20? 00:00:00 postgres:lms controller [local] SELECT
lms 2872 2209 0 07:20? 00:00:00 postgres:lms controller [local] SELECT
l p 2873 2209 98 07:20? 00:12:30 postgres:lms controller [local] SELECT
如果您看到上面的内容,则排队了三个Select查询。只有当核心没有运行任何postgres查询时,它们才会获取CPU。 CPU利用率时间为0,而其他查询达到12m 30秒。
我知道只使用一个核心的一个查询的postgres限制。但是,一次只运行一个查询的CPU是否存在任何限制?
感谢您的帮助。
谢谢和问候,
Vineel。