Skip to content

Conversation

@gxglls
Copy link
Contributor

@gxglls gxglls commented Jan 23, 2024

No description provided.

在 chunk 内部,处理磁盘 IO 的组件为 LSM(Local Storage Manager)。 默认情况下,LSM 是以单线程的形态运行,当用户对 IO 延迟和性能上限有更高的要求,并且 k8s worker 节点上有足够的 cpu 资源时,可以考虑开启 LSM 多线程

## 配置 LSM 多线程
在 IOMesh Helm Values 文件中, 配置 `iomesh.chunk.extraEnvs` 字段

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

导出后的默认值是啥

chunk:
extraEnvs:
LSM_IO_THREAD_NUM: "2" # 配置 LSM 使用的独立线程数量,取值范围为 0-2,如果为 0 则代表不开启 LSM 多线程
```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

是不是要告诉用户一下怎么看生效了


对于已部署的 IOMesh 集群,修改完毕后可以使用 helm upgrade 对集群进行配置更新,chunk pod 会逐个重启并生效配置。

# cpu 核心绑定与独占

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

开启LSM后,对于2种绑核方式,最后的验证,需要再增加什么吗?


# 为 chunk 配置更多 cpu 核心

在 chunk 内部,处理磁盘 IO 的组件为 LSM(Local Storage Manager)。 默认情况下,LSM 是以单线程的形态运行,当用户对 IO 延迟和性能上限有更高的要求,并且 k8s worker 节点上有足够的 cpu 资源时,可以考虑开启 LSM 多线程

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

强调与绑核功能一起配置

如果 chunk 开启了 lsm 多线程,通过如下命令验证 lsm 是否使用了独立的 cgroup 配置和核心
```shell
# cat /sys/fs/cgroup/cpuset/zbs/lsm-io/cpuset.cpus
2

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

需要显示2个值

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants