我想收集我的应用程序等待 I/O 的时间。我正在 ubuntu/linux 上运行这个 java 应用程序。我正在使用 yourkit 分析器。建议是否有其他分析工具来测量 I/O 时间。
Youtkit 非常适合在您的应用中使用变焦显微镜。在这些情况下,通常还需要从外部看宏观视图,并进行一些非常粗略的测量,以确定您是否受 CPU 限制或 IO 限制。
如果您的应用程序在“空”的情况下全速运行,仅使用 10% 的 CPU(推而广之,大约有 90% 的时间在等待 IO),那么如果您想要增加吞吐量。另一方面,如果您的所有核心都运行超过 90%,您将不会获得太多收益,因为我们的应用程序受 CPU 限制。命令 top、iostat 和 vmstat 可以给出这些粗略的估计。
strace 可以深入了解文件被打开和关闭的次数、执行的读取操作等,...在这种情况下,还可以学习使用 grep 或 perl 来筛选该工具产生的海量数据。
密切关注内存的使用效率并了解您的基础设施。如果您在 vmstat 中看到大量块被换入和换出,请重新调整内存,直到其降至零,否则所有其他努力都相对无用。
从你的问题中不清楚你的重点是否是延迟、抖动、吞吐量……但这些相对快速的粗略估计有助于确定用显微镜观察的位置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)