Pau*_*son 11 java performance benchmarking jvm utilities
我需要解释为什么我的应用程序在远程位置表现不佳.安装探查器对我来说不方便.我怀疑机器配置不佳,但我需要一些简单的方法来显示标准应用程序在他们的机器上受到影响,从而使我的应用程序无效并将焦点转移到他们的系统管理员身上.
理想情况下,我建议他们安装一个简单的Java应用程序来测试主机环境的性能.如果它可以返回CPU,磁盘,网络等的一些规范,它们将是完美的.
我希望在网上找到这样的东西,但到目前为止我在搜索中都没有成功.
zie*_*mer 14
至于"简单的Java应用程序",我之前做过类似的事情.我的工作重点是分析Java VM(虚拟机 - "JVM"),而不是测试特定Java应用程序的性能.重点是测试托管操作系统的功能 - 行使:
我看到的解决方案包括:
SciMark是一个复合Java基准测试,用于测量科学和工程应用中出现的数字代码的性能.它由五个计算内核组成:FFT,Gauss-Seidel弛豫,稀疏矩阵乘法,蒙特卡罗积分和密集LU分解.
选择这些内核以指示底层JVM/JIT在利用这些类型的算法的应用程序上的执行情况.为了隔离内存层次结构的影响并关注内部JVM/JIT和CPU问题,故意选择问题大小很小.更大版本的基准测试(SciMark 2.0 LARGE)解决了具有超出缓存问题大小的内存子系统的性能.
它测量几个计算内核,并以近似Mflops(每秒数百万个浮点运算)报告综合得分.
虽然有点过时(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需要更长时间才能完全执行套件 - 仅需2个多小时.
为了测试网络,我会使用类似iperf的东西,可用于Linux/Windows /等.
为了测试磁盘性能,有一个完整的科学背后,不知道你正在使用什么操作系统,我不能给你一个具体的答案.但是,如果您正在使用Linux,我会对此进行审核.