下表列出了一些用于 Coverity Connect 部署的推荐硬件配置。请注意:这些都是建议配置,不是必须满足的要求。
硬件建议考虑了以下 Coverity Connect 部署选项:
使用嵌入式数据库的 Coverity Connect。此部署包括在相同的服务器上同时安装 PostgreSQL 数据库和 Coverity Connect 应用程序,是一种常见的 Coverity Connect 部署。
使用外部数据库的 Coverity Connect。在该部署场景中,Coverity Connect 服务器使用外部 PostgreSQL 数据库。有关更多信息,请参阅结合使用外部 PostgreSQL 数据库与 Coverity Connect。
表 1. 最低硬件部署建议
注:
最少 CPU 核数为 8,最低 CPU 时钟速度为 2GHz。
RAM 应不低于 32 GB。对于现有的 Coverity Connect 数据库,建议 RAM 容量至少为数据库大小的 25%。数据库大小可以在 Coverity Connect 中找到,方法为:浏览至“帮助” > “关于...” > “数据库大小”。
基于数据库大小的建议只是粗略的估计。
注意精简资源调配。
性能取决于多种因素(如提交数、Web 访问、Web 服务流量等),并且不能用公式计算。此外,性能 SLA 可能不同。
随着数据库增长和使用模式的变化,需求也会不断变化。
您应该监控资源使用(Java 和 PostgreSQL 进程),并在需要时修改性能和资源分配。
下面是运行具有嵌入式数据库的 Coverity Connect(2018 以后的版本)的典型生产性能主机的示例配置:24 个核心、128GB RAM、2TB HDD、1TB SSD
确保指定的 CPU/RAM 始终可用。
如果部署到虚拟机,请确保虚拟机至少与建议的最低配置持平。
当资源请求超过供应量时,虚拟机主管往往会暂停高 CPU RAM 用户。
由于缺乏对虚拟机主机资源使用情况的监控,在虚拟机上解决性能问题非常困难。在资源分配不足的虚拟机主机上,CPU 核心和 RAM 可能受限。
共享和可用的 IOPS 应该与 SSD/HDD 持平。
不建议使用存储空间虚拟化。此类系统在实现低延迟 I/O 性能方面可能会出问题。
大多数 RAID 控制器不支持在 RAID 卷上启用 TRIM。
若要维持 SSD 的性能并延长其使用寿命,需要启用 TRIM。
具有奇偶校验的 RAID 配置(如 RAID 5)是数据库 I/O 的次佳选择。
数据库大小指南
可用 RAM 容量限制了 Coverity Connect 数据库的大小。建议 RAM 容量至少为数据库大小的 25%。
在最低硬件配置中,RAM 的最小值应为 32GB。如果 JVM 堆设置为系统内存的 75%(或 24GB),则数据库大小可以达到大约 96GB 而不会引起任何性能问题。您应该定期检查 Coverity Connect 数据库的大小,如果数据库大小增加到可用 RAM 的四倍以上,应考虑为服务器分配更多的资源。
数据库大小可以在 Coverity Connect 中找到,方法为:浏览至“帮助” > “关于...” > “数据库大小”。