9.2. 慢速工作区故障排除
有时,工作区可能需要很长时间才能启动。调优可以缩短开始时间。根据选项,管理员或用户可以进行调优。
本节包括几个用于更快地启动工作区或改进工作区运行时性能的调优选项。
9.2.1. 改进工作空间开始时间
- 使用 Image Puller 缓存镜像
Role: Administrator
启动工作区时,OpenShift 会从 registry 中拉取镜像。工作区可以包含很多容器,这意味着 OpenShift 会拉取 Pod 的镜像(每个容器一个)。根据镜像和带宽的大小,可能需要很长时间。
Image Puller 是一个可在每个 OpenShift 节点上缓存镜像的工具。因此,预先拉取镜像可以改进开始时间。请参阅 https://access.redhat.com/documentation/zh-cn/red_hat_openshift_dev_spaces/3.20/html-single/administration_guide/index#administration-guide:caching-images-for-faster-workspace-start。
- 选择更好的存储类型
Role: Administrator 和 user
每个工作区都附加了一个共享卷。此卷存储项目文件,以便在重启工作区时仍可用。根据存储,附加时间最多可能需要几分钟,I/O 可能会变慢。
- 离线安装
Role: Administrator
OpenShift Dev Spaces 的组件是 OCI 镜像。以离线模式设置 Red Hat OpenShift Dev Spaces,以减少运行时的任何额外下载,因为所有内容都需要从开始获得。请参阅 https://access.redhat.com/documentation/zh-cn/red_hat_openshift_dev_spaces/3.20/html-single/administration_guide/index#administration-guide:installing-che-in-a-restricted-environment。
- 减少公共端点数量
Role: Administrator
对于每个端点,OpenShift 会创建 OpenShift Route 对象。根据底层配置,这种创建可能会很慢。
要避免这个问题,请减少暴露的问题。例如,要自动检测侦听容器内的新端口,并使用本地 IP 地址(
127.0.0.1
)、Microsoft Visual Code - Open Source 具有三个可选路由,为进程重定向流量。通过减少所有插件的端点和检查端点,工作区启动可以更快。
9.2.2. 提高工作区运行时性能
- 提供足够的 CPU 资源
插件会消耗 CPU 资源。例如,当插件提供 IntelliSense 功能时,添加更多 CPU 资源可以提高性能。
确保 devfile 定义中的 CPU 设置
devfile.yaml
正确:components: - name: tools container: image: quay.io/devfile/universal-developer-image:ubi8-latest cpuLimit: 4000m cpuRequest: 1000m
components: - name: tools container: image: quay.io/devfile/universal-developer-image:ubi8-latest cpuLimit: 4000m
1 cpuRequest: 1000m
2 Copy to Clipboard Copied! - 提供足够的内存
插件会消耗 CPU 和内存资源。例如,当插件提供 IntelliSense 功能时,收集数据可以使用分配给容器的所有内存。
为容器提供更多内存可提高性能。确保 devfile 定义
devfile.yaml
文件中的内存设置正确。components: - name: tools container: image: quay.io/devfile/universal-developer-image:ubi8-latest memoryLimit: 6G memoryRequest: 512Mi
components: - name: tools container: image: quay.io/devfile/universal-developer-image:ubi8-latest memoryLimit: 6G
1 memoryRequest: 512Mi
2 Copy to Clipboard Copied!