首页 > 解决方案 > 在 Vert.x 中,为什么 DEFAULT_EVENT_LOOP_POOL_SIZE = 2 * no。核心?

问题描述

默认情况下,Vert.x 似乎最多创建2 * NUM_OF_CORES 个事件循环线程。这似乎是一个相当古老的变化(7年以上)

在具有 4 个物理内核(具有超线程的 8 个逻辑内核)的机器上,它创建了 16 个事件循环线程。

NUM_OF_CORES(即上面示例中的 8 个)事件循环线程数不应该是理想的吗?

我能找到的唯一解释来自 Tim Fox(vertx 的原作者):

默认情况下,我们使用 2 * 数量的内核 - 实际上,这会产生更好的结果,因为操作系统并不总是在内核之间均匀分布线程。

但是当我使用 8 而不是 16 时,我做的一些负载测试给出了更好的结果。所以想了解在什么条件下默认应该给出更好的结果?

标签: vert.xvertx-verticle

解决方案


推荐阅读