我们在 SAN 存储(EMC 上的光纤通道)上安装了 Oracle 11.2 数据库,并安装了 Solaris 11.3。对于开发环境,文件系统上的空间使用率大多数时候都超过 80%。
“80%”规则对于数据库有多重要?几乎所有文件系统活动都在现有文件(通常是 30GB 文件)的随机位置进行更新。数据库总大小约为 400-500GB。
答案1
我想这取决于——你有多在意延迟和吞吐量?如果不是非常在意,那么你可能不会注意到。如果非常在意,那么你会注意到。这个答案提供了更多的深度,还建议使用echo metaslab_debug/W1 | mdb -kw
一种变通方法将空间映射(需要在非常满的池中加载的内容,这会使其变慢)保留在内存中。显示的图表有点过时(并且不适用于 Oracle 版本的 ZFS),但它显示了您可以预料到的性能急剧下降。
答案2
假设您参考了来自 solarisinternals.com wiki(现已停用)的 ZFS 最佳实践指南中的建议。之前在 Server Fault 上讨论过,请参阅 Dan 链接的答案。
出于性能原因,请保留可用空间池,大概用了85%。数据集可用空间对性能的影响不大。但从容量规划的角度来看,85% 的使用率还是让我感到不安。
考虑在所有环境(包括开发和测试)上监控和强制执行 <85% 的满池。一致的容量管理方法也将避免这种满池性能下降。