[转帖]SPECjvm测试工具详解

specjvm,测试工具,详解 · 浏览次数 : 0

小编点评

**SPECjvm2008测试大纲** **简介** SPECjvm2008是用于测试Java运行环境(JRE)性能的基准测试套件。该套件包含几个核心的JAVA功能实现的基准测试程序,用于测试处理器和内存子系统的性能。 **下载** 您可以从以下网站下载SPECjvm2008: * 主页:https://www.spec.org/download.html **安装** 安装完成之后,您可以打开文件 `/etc/profile` 并添加以下配置项: ``` JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-arm64/ CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib.dt.jar PATH=$JAVA_HOME/bin:$PATH ``` **配置** 配置完成后,您可以启动测试程序: ``` ./run-specjvm.sh startup.helloworld -ikv ``` **测试用例** * `startup.helloworld`测试程序能够运行并输出测试结果。 * `startup.compiler.compiler`测试普通java编译所需的性能。 * `startup.compiler.sunflow`测试sunflow图像渲染引擎所需的性能。 * `startup.compress`测试压缩程序的性能。 * `startup.crypto.aes`测试AES/DES加密算法的性能。 * `startup.rsa`测试RSA加密算法的性能。 * `startup.crypto.signverify`测试单次使用MD5withRSA、SHA1withRSA、SHA1withDSA、SHA256withRSA来签名,识别所需的性能。 * `startup.mpegaudio`测试mpeg音频解码所需性能。 * `startup.scimark.fft`测试快速傅立叶变换所需性能。 * `startup.scimark.lu`测试LU分解所需性能。 * `startup.scimark.monte_carlo`测试蒙特卡罗算法所需性能。 * `startup.scimark.sor`测试jacobi逐次超松弛迭代法所需性能。 * `startup.scimark.sparse`测试稀疏矩阵乘积所需性能。 * `startup.serial`测试通过socket传输java序列化对象到对端反序列化所需性能。 * `startup.sunflow`测试图片渲染处理所需性能。 * `startup.xml.transform`测试xml转换所需性能。 * `startup.xml.validation`测试xml schema验证所需性能。 **归纳总结** 此大纲提供了关于使用SPECjvm2008测试Java虚拟机的详细信息,包括测试用例、配置和安装指南。

正文

ARM服务器测试大纲中指定了要使用specjvm测试Java虚拟机性能,所以就上网找开源的测试套。

简介

SPECjvm2008(java虚拟机基准测试)是用来测试java运行环境(JRE)性能的基准测试套件,其中包含几个核心的JAVA功能实现的基准测试程序。该测试套测试了处理器和内存子系统的性能,但是对文件系统的I/O依赖度很低,并且不包含机器间的网路系统。SPECjvm2008工作负载测试模仿的是各种常见的通用应用计算场景,这些基准测试可以测试测试机器上的JAVA虚拟机性能。

下载

下载主页:https://www.spec.org/download.html

安装

打开终端,在下载目录执行命令:

java -jar SPECjvm2008_1_01_setup.jar -i console


640?wx_fmt=png


简介说明

640?wx_fmt=png


许可协议

640?wx_fmt=png


许可协议输入“是”就行。用户可以指定一个安装目录

640?wx_fmt=png


一路enter即可。

配置

安装完成之后,打开文件/etc/profile.在文件最后添加下面的配置项

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-arm64/
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib.dt.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
打开终端,执行命令:source /etc/profile。进入安装目录/home/deepin/SPECjvm2008.执行一下测试程序,查看配置是否正常:

./run-specjvm.sh startup.helloworld -ikv
执行成功

640?wx_fmt=png


开始测试

上面的helloworld测试程序能够跑通的话,说明配置没有问题,那么就可以进行全量测试了。
执行下面的命令:

java -jar SPECjvm2008.jar

测试用例说明

startup.helloworld 测试helloworld程序从运行开始到结束所需的时间

startup.compiler.compiler 普通java编译所需要的时间

startup.compiler.sunflow 编译sunflow图像渲染引擎所需要的时间

startup.compress 测试压缩程序,单次压缩所需的时间

startup.crypto.aes 测试AES/DES加密算法,单次加解密所需的时间输入数据长度为 100 bytes , 713KB

startup.crypto.rsa测试RSA加密算法,单次加解密需要的时间输入数据长度为 100 bytes, 16KB

startup.crypto.signverify 测试单次使用MD5withRSA, SHA1withRSA, SHA1withDSA, SHA256withRSA来签名,识别所需要的时间。输入数据长度为 1KB, 65KB, 1MB

startup.mpegaudio 单次mpeg音频解码所需的时间

startup.scimark.fft 单次快速傅立叶变换所需的时间

startup.scimark.lu 单次LU分解所需的时间

startup.scimark.monte_carlo 单次运行蒙特卡罗算法所需的时间

startup.scimark.sor 单次运行jacobi逐次超松弛迭代法所需的时间

startup.scimark.sparse 单次稀疏矩阵乘积所需的时间

startup.serial 单次通过socket传输java序列化对象到对端反序列化完成所需的时间(基于jboss serialization benchmark)

startup.sunflow 单次图片渲染处理所需的时间

startup.xml.transform 单次xml转换所需的时间,转换包括dom,sax,stream方式

startup.xml.validation 单次xml schema校验所需的时间

compiler.compiler 在规定时间内,多线程迭代测试普通java编译,得出 ops/m

compiler.sunflow 在规定时间内,多线程迭代测试sunflow图像渲染,得出 ops/m

compress 在规定时间内,多线程迭代测试压缩,得出 ops/m

crypto.aes 在规定时间内,多线程迭代测试AES/DES加解密算法,得出 ops/m

crypto.rsa 在规定时间内,多线程迭代测试RSA加解密算法,得出 ops/m

crypto.signverify 在规定时间内,多线程迭代测试使用MD5withRSA, SHA1withRSA, SHA1withDSA, SHA256withRSA来签名,识别,得出 ops/m

derby 在规定时间内,迭代测试数据库相关逻辑,包括数据库锁,BigDecimal计算等,最后得出 ops/m

mpegaudio 在规定时间内,多线程迭代mpeg音频解码,得出 ops/m

scimark.fft.large 在规定时间内,多线程迭代测试快速傅立叶变换,使用32M大数据集,最后得出 ops/m

scimark.lu.large 在规定时间内,多线程迭代测试LU分解,使用32M大数据集,最后得出 ops/m

scimark.sor.large 在规定时间内,多线程迭代测试jacobi逐次超松弛迭代法,使用32M大数据集,最后得出 ops/m

scimark.sparse.large 在规定时间内,多线程迭代测试稀疏矩阵乘积,使用32M大数据集,最后得出 ops/m

scimark.fft.small 在规定时间内,多线程迭代测试快速傅立叶变换,使用512K小数据集,最后得出 ops/m

scimark.lu.small 在规定时间内,多线程迭代测试LU分解,使用512KB小数据集,最后得出 ops/m

scimark.sor.small 在规定时间内,多线程迭代测试jacobi逐次超松弛迭代法,使用512KB小数据集,最后得出 ops/m

scimark.sparse.small 在规定时间内,多线程迭代测试稀疏矩阵乘积,使用512KB小数据集,最后得出 ops/m

scimark.monte_carlo 在规定时间内,多线程迭代测试蒙特卡罗算法,得出 ops/m

serial 在规定时间内,多线程迭代测试通过socket传输java序列化对象到对端反序列化(基于jboss serialization benchmark),得出 ops/m

sunflow 在规定时间内,利用sunflow多线程迭代测试图片渲染,得出 ops/m

xml.transform 在规定时间内,多线程迭代测试xml转换,得出 ops/m

xml.validation 在规定时间内,多线程迭代测试xml schema验证,得出 ops/m

与[转帖]SPECjvm测试工具详解相似的内容:

[转帖]SPECjvm测试工具详解

ARM服务器测试大纲中指定了要使用specjvm测试Java虚拟机性能,所以就上网找开源的测试套。 简介 SPECjvm2008(java虚拟机基准测试)是用来测试java运行环境(JRE)性能的基准测试套件,其中包含几个核心的JAVA功能实现的基准测试程序。该测试套测试了处理器和内存子系统的性能,

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地

[转帖]awk提取某一行某一列的数据

https://www.jianshu.com/p/dbcb7fe2da56 1、提取文件中第1列数据 awk '{print $1}' filename > out.txt 2、提取前2列的文件 awk `{print $1,$2}' filename > out.txt 3、打印完第一列,然后打

[转帖]awk 中 FS的用法

https://www.cnblogs.com/rohens-hbg/p/5510890.html 在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /

[转帖]Windows Server 2022 简体中文版、英文版下载 (updated Oct 2022)

https://sysin.org/blog/windows-server-2022/ Windows Server 2022 正式版,2022 年 10 月更新,VLSC Posted by sysin on 2022-10-27 Estimated Reading Time 8 Minutes