HP SmartArray 具有“加速器比率:XX%读取/YY%写入”,它配置了专用于读取的缓存内存量和专用于写入的缓存内存量。
有没有办法在合理的时间内找到活跃服务器上的最佳比例?可以收集哪些统计数据,以及如何计算?
当然,只有 50/50、75/25 或 25/75 才有效,但应该有某种方法可以获得精确设置的最佳比例......
答案1
随着固件版本的更新,默认值也发生了变化。当前默认值为 25% 读取和 75% 写入平衡。假设操作系统将执行一定程度的读取缓存,但需要低延迟写入来帮助减少 I/O 等待。
如需了解更多详细信息,您必须提供操作系统信息以及有关环境和应用程序的一些具体信息。
答案2
例如,您必须通过 Windows 上的 perfmon 收集一段时间的性能值。
在 perfmon 上,物理磁盘,你将获得 %Disk 写入时间和 %Disk 读取时间
然后,你就会推断出你是读得更多还是写得更多,然后进行调整。留出足够的时间来获得备份和特殊任务活动
答案3
其他答案中已经提到了这一点,但我认为比例应该取决于您的负载。
对于许多阵列来说,如果没有电池备份,默认将为 100% 读取/0% 写入,以消除在故障期间丢失缓存中的数据的可能性。
对于高 I/O 系统来说,100/0 比率太糟糕了(观点,目前没有任何依据)
我使用 Windows 中的 perfmon(又称性能监视器),并从物理磁盘中添加了一个名为“磁盘读取百分比”和“磁盘写入百分比”的统计数据,如果您在服务器运行时对其进行观察,并跟踪各种百分比,它就会让您了解该比率应该是多少。Perfmon 有更多与物理磁盘上的读取/写入相关的统计数据可供您查看。perfmon 中有多个视图,在图形视图中,如果您观察正确的状态,您可以看到时间样本的平均值(我认为一次显示 1 分 40 秒)
例如。我在我的一台服务器上大部分时间都看到 0 个读取活动,但由于它正在收集数据,我看到 100% 或更多的写入活动(由于阵列中有多个磁盘,您可能会看到超过 100%)我需要 0/100 的比例才能从我的控制器缓存中获得最佳性能。我也可以启用磁盘缓存。如果没有备用电池,这通常是默认禁用的。
另一个需要注意的重要事项是,不同的 RAID/阵列具有不同的缓存大小,有时它们未配置为使用其完整缓存大小。例如,在我示例中提到的驱动器上。由于缺少电池备份,缓存仅使用 256MB 中的 144MB。我可以在我的 HP 阵列配置实用程序中看到该统计数据。
您还可以使用 Windows Server 2008 及更高版本中的资源监视器(需要检查),查看磁盘上的内容(在“磁盘”选项卡下),了解写入和读取级别。