我正在考虑升级某些服务器的存储系统,所有指南和手册都建议在决定(RAID?SSD?iSCSI?NAS?)解决方案之前考虑应用程序的存储使用模式。
有没有一个工具可以告诉我:
- 如果我的服务器主要执行顺序或随机 IO,
- 如果我读得更多或者写得更多,
- 平均读写大小,
- 以及我可以使用的其他任何信息来做出决定?
我知道 iostat,而且似乎我可以用它来回答问题 2。但我认为我需要其他工具来回答其他问题。
似乎人们通常喜欢根据正在运行的软件对这些问题做出有根据的猜测,但我更愿意衡量而不是推理。
操作系统是 ubuntu 8.04,但如果其他操作系统有更好的测量工具,我愿意更换操作系统。
答案1
collectl 可以回答您的问题 1、2 和 3。
您也可以查看 seekwatcher。
答案2
您可能还会查看munin
特别是diskstat
插件,它将为您提供以下有趣的图表:
- iostat 输出
- 磁盘吞吐量(读取、写入)
- 磁盘 IO 总数(读取、写入、平均请求大小、平均读取请求大小、平均写入请求大小)
- 磁盘 IO 时间(读取、写入、平均请求时间、平均读取请求时间、平均写入请求时间)
- 磁盘利用率 (%)
例子: http://mirror.inode.at/munin/inode.at/mirror.inode.at.html#Disk
也许使用范围更广泛的东西的优势之一munin
是,您将能够更轻松地关联不同子系统之间的数据,而不是仅仅查看 IO 数据。
当前发行版munin
(至少截至本文撰写时)默认不包含此插件,因此您必须获取并手动安装。以下是有关此插件的另一个值得一读的链接:
http://blogs.amd.co.at/robe/2008/12/graphing-linux-disk-io-statistics-with-munin.html
插件本身:https://workbench.amd.co.at/trac/munin-plugins/
嗨嗨。
答案3
Solaris/Opensolaris 和 DTrace 可以为您提供所需的任何信息。在我看来,DTrace 为您提供了随处可用的测量工具,因此如果可以选择切换操作系统,我会认真考虑这一点。