我有一个运行在我用Hyperic监视的Windows服务器上的数据库。 当我们接近我们的高峰负载时,我看到每分钟的写入量在白天增加。 随着我们向系统添加更多的用户,峰值会随着时间逐渐增加。 使用其他资源(例如CPU,内存或磁盘空间),很容易就能看出最大值是多less,并确保在耗尽之前获得更多的资源。 是否有可能甚至粗略预测每分钟的最大写入可能是什么? 或者,我只需要记下磁盘写入的次数,看看事情何时开始失败,我假设我的磁盘队列将是我超出驱动器/arraysfunction的最佳指标。
== ==编辑
通过一些额外的细节,我正在运行SQL Server 2005,我对写这么感兴趣的原因是磁盘上的写入目前超过读取大约30倍。 我假设在任何其他磁盘活动之前,写入都可能是一个瓶颈。 它支持的应用程序主要是OLTP,尽pipe我们也从那里的数据报告。
简答:预测 – 不,基准 – 是的。
长的答案:我不认为这将有助于你想达到什么,我相信是做一些容量规划你的数据库服务器正在运行的磁盘。
服务器运行的是什么样的RMDBS? 数据库运行的是什么样的应用程序? OLTP,决策支持,DW /报告? 不同的应用程序和应用程序组将具有不同的磁盘负载configuration文件,预测/测量写入性能很可能完全没有意义。
作为一个SQL Server的家伙,磁盘子系统对我来说很重要。 对于基准testing,在比较磁盘子系统/磁盘configuration时,我使用SQLIO来testing读/写性能。 SQLIO是一个独立的可执行文件,可以用来以不同的方式testing读/写, SQLIO GUI也有帮助。 您可以使用此工具来确定您的“最大写入”。
一般来说,您不应该依靠单个计数器作为I / O瓶颈的指标。 以下是我查找的指标,表明服务器需要更多的主轴:
•物理磁盘对象:平均 磁盘队列长度/磁盘数量:当服务器处于负载下时,始终大于2的值表示瓶颈
• 物理磁盘:%磁盘时间 60%以上的任何内容都是严重的瓶颈
• 平均 磁盘秒/读和平均 磁盘秒/写: