衡量方法调用的IO需求

衡量方法调用的IO需求,第1张

概述衡量方法调用的I / O需求

我对Java EE应用程序的性能测量(cpu和磁盘I / O需求)感兴趣。

对于cpu,我已经想出了如何衡量每个方法调用的cpu需求。 通过在每个方法的开始和结束处调用java.lang.management.ThreadMXBean.getCurrentThreadcpuTime()(例如使用EJB拦截器),我可以得到cpu处理此方法所需的(“纯”)时间(cpu需求)。

不幸的是, I / O需求(磁盘:每个方法调用的读写时间)似乎很难衡量。 ThreadMXBean不提供这样的数据。 只是从每个方法的完整响应时间中减去上述测量的cpu需求是不够的,因为暂停和同步时间(如果可能的话,也可以很好地区分读和写)。

我正在考虑进一步挖掘 *** 作系统接口来尝试调用Syscalls或parsing其他内核信息。 目前我正在尝试了解像“sar”这样的工具如何测量“iowait”时间,以及如何将这些数据映射到Java线程和相应的方法。 但是我不确定我是否正朝着正确的方向前进,因为我的深层 *** 作系统知识是有限的。

内核模块为/ proc

如何禁止从linux内核模块访问键盘和鼠标?

将驱动程序编译为内核的一部分,而不是作为模块

如何在WinDbg中列出线程(内核deBUGging)

从用户模式与驱动程序通信的问题

长话短说 :我如何测量每个方法调用的I / O需求(磁盘读取和写入次数)?

在此先感谢,bkk

linux Kernel Module程序从IP获取域名

有可能有2个内核模块链接到相同的/ dev /设备?

在内存pipe理(linux)中关于函数arch_get_unmapped_area的问题

使用开发工作室5插件构build和编辑AndroID内核

call_usermodehelper / call_usermodehelperpipe用法

好的,最近我开发了一个小型的实用工具,用来测量我们的服务器的性能指标。 我使用Java Mission Control(jmc)来记录指标,然后解析记录文件。 在我的情况下,性能测试启动服务器并附加基准测试工具(但您可以将其配置为连接到已启动的实例 – 此链接提供了有关如何完成的更多信息)。 我将在这里提供一些关于你的用例的代码行。

1)在启动服务器之前,我将以下JMC配置添加到命令行中:

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=delay=5s,duration=120s,name=recording,filename=recording.jfr

所以在命令执行时,延迟5秒钟后,它以默认设置开始记录,并在120秒后生成报告文件。 2)我正在使用以下方法检索I / O统计信息:

FlightRecording flightRecording = FlightRecordingLoader.loadfile(new file(...)); IVIEw recording = flightRecording.createVIEw(); for (IEvent event : recording) { FLRMethod method = (FLRMethod) event.getValue("((stackTrace).method)"); /* this shows the bytes read by method at some invocation(if any),so for total bytes read by method you will need to sum manually */ long bytesRead = Long.valueOf(String.valueOf(event.getValue("bytesRead"))); }

你有很多东西需要探索,比如读取/写入文件的时间,读取次数等等。你需要尝试一下才能看到它的一些特性。 Java的最新版本与JMC捆绑在一起。 我只使用了Java 1.7和1.8

编辑:正如克拉拉指出的,你必须考虑到可以在你的设置文件中调整的阈值。 所以采取少于配置的阈值的 *** 作将不会被添加到JFR记录中。

总结

以上是内存溢出为你收集整理的衡量方法调用的I / O需求全部内容,希望文章能够帮你解决衡量方法调用的I / O需求所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1154787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存