vert.x - 在 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 时,我做的一些负载测试给出了更好的结果。所以想了解在什么条件下默认应该给出更好的结果?
解决方案
推荐阅读
- html - 使用 css 选择器的 next 按钮和 href 属性打开不同的网页
- javascript - 如何根据数组显示类别子类别
- c++ - 如何在 boost::variant 中存储引用
而不是复制对象? - r - 函数为空后的新数据框
- extjs - extjs如何参数化组件
- android - 为什么我在这个 Android 项目中得到 NullPointer 异常
- ios - 在 WKWebView 中点击按钮后 UIButton 选择器不起作用
- emacs - 带有emacs org-mode的Haskell:变量不在范围内
- python - 按分位数对 Pandas 数据帧进行排名
- r - 在 R Studio 中自定义制图输出的困难