SPECJVM2008的简单结果

specjvm2008,简单,结果 · 浏览次数 : 245

小编点评

**生成内容时需要带简单的排版** **1. 调整代码排版** - 使用缩短代码 - 使用空格缩进代码 - 使用代码行缩进代码 **2. 调整数据排版** - 使用缩短数据名称 - 使用空格缩进数据名称 - 使用代码行缩进数据名称 **3. 调整输入和输出数据格式** - 使用指定的数据类型 - 使用空格缩进数据类型 - 使用代码行缩进数据类型 **4. 调整代码格式** - 使用缩短代码 - 使用空格缩进代码 - 使用代码行缩进代码 **5. 调整代码排版** - 使用缩短代码 - 使用空格缩进代码 - 使用代码行缩进代码 **6. 调整输出格式** - 使用指定的数据类型 - 使用空格缩进数据类型 - 使用代码行缩进数据类型 **7. 调整输入和输出数据格式** - 使用指定的数据类型 - 使用空格缩进数据类型 - 使用代码行缩进数据类型

正文

SPECJVM2008的简单结果


摘要

前面两天学习了SPECJVM2008简单使用. 
今天进行一下简单的数据采集.
需要说明一下SPECJVM2008貌似仅兼容JDK1.8
更新的LTS版本都不兼容,比如JDK11和JDK17

背景

我这边先测试使用 startup 的测试脚本
startup 主要是单线程进行测试的. 
其他脚本后续进行
感觉这个工具更多的是在验证 单核心JVM的处理能力. 
并且 我增加了 -Xms和-Xmx的变量参数几乎有没有发生变化
所以计划还是用一个命令查看集中不同CPU的结果

另外发现虽然会形成 html的结果, 但是在最后也会暴露一个合计分值
感觉这个分值可以作为一定的测试结论得出. 
也可以单独跑某个具体的结果进行验证. 

结果信息

CPU型号 测试结果 ops/m 值越大越好
Intel 8369HB 3.30GHz 59.1
Intel 6150 2.70GHz 49.1
Intel E5-2682v4 2.50GHz 36.57
Kunpeng 920 2.6Ghz 32.34
飞腾2500 2.1Ghz 21.87

相同架构下不同JDK版本的验证

注意 需要先切换JDK的版本 具体方法可以如下:
然后 which java
如果是 usr 目录下的可以先改下名
mv /usr/bin/java /usr/bin/java2
然后执行
export JAVA_HOME=/javahome/Openjdk_adopt/
export PATH=$PATH:/javahome/Openjdk_adopt/bin/

确认 java版本
java -version

注意 本次采用 鲲鹏, 使用 毕昇和adopt相关进行验证

Jdk的版本 测试结果
OpenJDK 1.8.181 系统自带 32.64
AdoptOpenJDK 1.8.222 32.34
BishengJDK 1.8.352 33.87
BishengJDK 11.0.18 测试失败
BishengJDK 17.0.5 测试失败

并行测试验证

鲲鹏上面部分并行测试失败了
按照单核跑的方法谁失败就把谁移除了
这里选择时间进行跑. 
-wt 指定预热的时间 10秒
-it 指定预热的时间 10秒

java -jar SPECjvm2008.jar -ikv -wt 10 -it 10 scimark.fft.small compress scimark.sor.small crypto.aes scimark.sparse.small crypto.rsa scimark.monte_carlo crypto.signverify serial mpegaudio xml.transform scimark.fft.large xml.validation scimark.lu.large scimark.sor.large scimark.sparse.large

可以根据CPU的信息数进行对比 看看并发的测试的提升比率
比如我这边鲲鹏920的测试部分结果显示:
--- --- --- --- --- --- --- --- ---

  Benchmark:   crypto.aes
  Run mode:    timed run
  Test type:   multi
  Threads:     128
  Warmup:      10s
  Iterations:  1
  Run length:  10s

Warmup (10s) begins: Tue Mar 14 14:50:49 CST 2023
Warmup (10s) ends:   Tue Mar 14 14:51:15 CST 2023
Warmup (10s) result: 1108.99 ops/m
Iteration 1 (10s) begins: Tue Mar 14 14:51:15 CST 2023
Iteration 1 (10s) ends:   Tue Mar 14 14:51:42 CST 2023
Iteration 1 (10s) result: 1070.09 ops/m

Valid run!
Score on crypto.aes: 1070.09 ops/m

对应的 我单跑的测试结果为:
  Benchmark:   startup.crypto.aes
  Run mode:    static run
  Test type:   single
  Threads:     1
  Iterations:  1
  Run length:  1 operation

Iteration 1 (1 operation) begins: Tue Mar 14 14:52:15 CST 2023
Iteration 1 (1 operation) ends:   Tue Mar 14 14:52:21 CST 2023
Iteration 1 (1 operation) result: 10.94 ops/m

比率为: 1108.99/10.94 = 101倍左右
多核心时对单核心的单核算力比率为: 101/128 = 79% 左右

Intel 6150的部分验证

java -jar SPECjvm2008.jar -ikv -wt 10 -it 10 startup.crypto.aes
单核心的测试值为: 21.57 ops/m
多核心的测试值为: 1281.46 ops/m
比率为: 1281.46/21.57 = 59.4
按照物理核心的比率  59.4/72 = 82.5%
按照虚拟线程的比率  59.4/144 = 41.25%
感觉虚拟线程提升有限. 

不同测试指标的内容

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

与SPECJVM2008的简单结果相似的内容:

SPECJVM2008的简单结果

SPECJVM2008的简单结果 摘要 前面两天学习了SPECJVM2008简单使用. 今天进行一下简单的数据采集. 需要说明一下SPECJVM2008貌似仅兼容JDK1.8 更新的LTS版本都不兼容,比如JDK11和JDK17 背景 我这边先测试使用 startup 的测试脚本 startup 主

stress-NG 磁盘测试结果-全国产信创部分验证

# stress-NG 磁盘测试结果 ## 摘要 ``` 前几天分别还是用了redis-benchmark还有specjvm2008进行了多种系统的压测 得出了信创CPU的一些简单结论 但是一直还没有压测磁盘, 今天想着使用stress-NG压测一下不同架构的信创服务器的磁盘清空. 在网卡还没到打瓶

Specjvm2008的简单学习

Specjvm2008的简单学习 摘要 前期整理过很多需要通过编译指定命令进行性能测试的工具 但是这种工具无法充分模式JAVA应用. 并且无法模拟不同jvm版本的性能情况. 早上去北京出差路上看到了 铁流描述的 龙芯3C5000时用到的 SPECJVM2008工具,感觉可以直接值得一用. 所以本次进

[转帖]SPECjvm测试工具详解

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

申威3231_SPECJVM2008的测试结果与信创服务器对比验证

# 申威3231_SPECJVM2008的测试结果与信创服务器对比验证 ## 背景 ``` 周六找同事将在公司里的机器进行了开机. 然后验证了config.guess和config.sub 的确是可以通过复制/usr 下面的文件进行解决的 但是perl的很多model无法使用. 所以没办法, 准备测

SPECJVM2008 再学习

SPECJVM2008 再学习 摘要 昨天的太水了 感觉今天有必要再水一点.. 存在的问题 默认进行启动 sunflow 必定过不去. 一般的解决办法要求进行重新编译 但是我不知道怎么下载源码... 索性--绕过 学习的网站 https://spec.org/jvm2008/docs/UserGui

[转帖]SPEC测试arm服务器性能,SPECJVM2008测试处理器性能_服务器评测与技术-中关村在线...

首先,我们使用SPECJVM2008测试最新至强E5处理器的虚拟化性能。 SPECJVM2008是一种通用的多线程Java基准测试工具,它能够反映JRE(Java Runtime Environment)运行Java的环境集合(包含JVM标准实现及Java核心类库)性能表现。该套测试工具主要体现物理

[转帖]SPECjvm2008 User's Guide

SPECjvm2008 User's Guide https://spec.org/jvm2008/docs/UserGuide.html#UsePJA Version 1.0Last modified: April 16, 2008 1 Introduction 1.1 General Conce