部署最佳实践
在 Kubernetes 环境中将 Neo4j 投入生产的推荐实践
本材料仅涵盖在 Kubernetes 中运行 Neo4j 的具体细节。Neo4j 的其他最佳实践同样适用,并应予以参考。 |
使用最佳可用存储
这包含两部分: * 为你的持久卷声明选择最高的 storageClass
,最好是固态硬盘 * 使用大容量磁盘(可能比你实际需要的更大)以确保获得高 IOPS/吞吐量
在云环境中,小容量磁盘通常吞吐量较低。Neo4j 的性能对存储层的性能非常敏感,因此请确保你使用的是尽可能快的磁盘。
设置 CPU 与内存请求和限制
在生产部署之前,你应该对 Neo4j 工作负载进行规划,以便提前知晓所需的 CPU 和内存。确保你的 CPU 请求和限制都已设置,并且它们是相同的,以防止使用 Kubernetes 资源“突发”,并确保数据库具有一套一致的可用资源。
特别是,避免内存请求和限制之间存在巨大差异。在某些情况下,这可能导致 Kubernetes 在工作节点面临内存压力时杀死你的 Pod。