有哪些Java实用程序用于对机器进行基准测试;s的CPU、内存、磁盘和网络I/O性能?

有哪些Java实用程序用于对机器进行基准测试;s的CPU、内存、磁盘和网络I/O性能?,java,performance,jvm,benchmarking,utilities,Java,Performance,Jvm,Benchmarking,Utilities,我需要解释为什么我的应用程序在远程位置表现不佳。安装探查器对我来说会很不方便。我怀疑这台机器的配置很差,但我需要一些简单的方法来证明标准应用程序在他们的机器上受到了影响,从而免除了我的应用程序,并将重点转移到了他们的系统管理员身上 理想情况下,我建议他们安装一个简单的Java应用程序来测试主机环境的性能。如果它能返回一些CPU、磁盘、网络等的规范,它们将是完美的 我本想在网上找到这样的东西,但到目前为止我的搜索一直没有成功。至于“简单Java应用程序”,我以前也做过类似的事情。我的工作重点是分析

我需要解释为什么我的应用程序在远程位置表现不佳。安装探查器对我来说会很不方便。我怀疑这台机器的配置很差,但我需要一些简单的方法来证明标准应用程序在他们的机器上受到了影响,从而免除了我的应用程序,并将重点转移到了他们的系统管理员身上

理想情况下,我建议他们安装一个简单的Java应用程序来测试主机环境的性能。如果它能返回一些CPU、磁盘、网络等的规范,它们将是完美的

我本想在网上找到这样的东西,但到目前为止我的搜索一直没有成功。

至于“简单Java应用程序”,我以前也做过类似的事情。我的工作重点是分析Java VM(虚拟机,即“JVM”),而不是测试特定Java应用程序的性能。重点是测试托管操作系统的功能-练习:

  • 中央处理器
  • 记忆
  • 操作系统
  • 如果虚拟化,则服务器VM(而不是JVM)本身—包括上述所有组件的虚拟化组件和物理组件
  • 很大程度上忽略了外部因素,例如磁盘和网络
为此,我考虑的解决方案包括:

  • 来自和:
SciMark是一个复合Java基准测试,用于测量科学和工程应用中出现的数字代码的性能。 它由五个计算内核组成:FFT、Gauss-Seidel 松弛、稀疏矩阵乘法、蒙特卡罗积分和稠密 吕因子分解

选择这些内核是为了指示底层JVM/JIT在使用这些类型内核的应用程序上的性能 算法。问题的大小被特意选择为较小 以隔离内存层次结构的影响,并将重点放在内部 JVM/JIT和CPU问题。基准测试的更大版本(SciMark 2.0 大型)解决了内存子系统的性能问题,但缓存不足 问题大小

它测量多个计算内核,并以近似的MFLOP(每秒数百万个浮点运算)报告一个综合分数 第二)

虽然有些过时(2004年),但SciMark似乎仍然相当有效

每次测试运行大约需要30秒来执行

  • 发件人:
SPECjvm2008(Java虚拟机基准测试)是 测量Java运行时环境(JRE)的性能, 包含多个实际应用程序和基准,重点是 核心java功能。该组曲重点介绍了 JRE执行单个应用程序;它反映了 硬件处理器和内存子系统,但对 文件I/O,不包括跨计算机的网络I/O。SPECjvm2008 工作负载模拟各种通用应用程序 计算。这些特征反映了 基准测试将适用于在一个平台上测量基本Java性能 客户机和服务器系统种类繁多

SPEC还发现Java的用户体验很重要,而且套件 因此,包括启动基准测试,并具有必需的运行类别 称为base,必须在不调优JVM的情况下运行,以 提高开箱即用的性能

SPECjvm2008基准亮点

  • 利用现实生活中的应用程序(如derby、sunflow和javac)和 以区域为中心的基准测试(如xml、序列化、加密和 scimark)
  • 还可以测量操作系统的性能和 执行JRE上下文中的硬件
与SciMark不同,SPECjvm2008完全执行套件需要更长的时间


为了测试网络,我会使用类似的东西,可用于Linux/Windows/等


对于测试磁盘性能,这背后有一个完整的科学依据,在不知道您使用的是什么操作系统的情况下,我无法给您一个具体的答案。但是,如果您使用的是Linux,我会回顾一下。

您认为是什么导致了这个问题?你的应用程序有很多数据?它有精美的图案?连接到数据库?您可能只想测试您认为导致问题的原因是什么?什么表现不佳?它访问数据库的速度慢吗?启动和在屏幕上绘制是否需要很长时间。它总是执行得很差还是性能不一致?作为一个穷人的剖析器,您可以使用
jstack
kill-3
进行一些线程转储。在我看来,最好是看看应用程序运行得慢些。使用一些随机程序来证明系统管理员不称职的最佳情况是他们说“这证明不了什么”。最糟糕的情况是,你选择的应用程序实际上运行良好,而你看起来就像是一个不称职的应用程序。谁知道呢,你的应用程序可能真的有问题。我认为问题在于目标平台是Sun T5240体系结构,我的应用程序更喜欢速度快的“处理器”,而不是速度慢的处理器。不过,你们的观点都很好。日志似乎表明一切进展缓慢,然而,可能有一个共同的根本原因。