SPECjbb
SPECjbb 2015
官方 PDF:SPECjbb2015 User Guide
三个部分:
- Controller (Ctr): 分发请求;
- Transaction Injector(s) (TxI): 转发请求;
- Backend(s) (BE): 处理请求。
后两者组合称为一个 group,一般来说 Controller 只有一个,TxI 和 BE 都可以有多个,所以把不同个数的 TxI 和 BE 组合称为一个 group。Composite 模式下不需要 group,只有在 MultiJVM 模式下才需要 group。
SPECjbb running modes / Composite, MultiJVM, Distributed
run_composite.sh
, run_multi.sh
和 run_distributed_ctrl_txI
/ run_distributed_sut
.
- Composite 表示所有组件使用一个 JVM 实例,只需要使用
-m composite
指定就可以了。 - MultiJVM 表示使用多个 JVM 实例,需要起三个 JVM,每一个 JVM 分别指定下面的模式:
-m multicontroller
,-m txinjector
,-m backend
。
SPECjbb 2015 MultiJVM 模式
可以有以下几种模式。具体怎么执行可以在这里找到:
[!PDF|annotate] [[SPECjbb 2015 User Guide.pdf#page=13&selection=92,0,94,73&color=annotate|SPECjbb 2015 User Guide, p.13]] 5.5.3. Example Multi-JVM run for 1 Group with 1 TxI / Backend (or 1 TxI / Group)
![[SPECjbb 2015 User Guide.pdf#page=14&rect=106,628,349,721&color=annotate | SPECjbb 2015 User Guide, p.14]] |
![[SPECjbb 2015 User Guide.pdf#page=14&rect=107,351,334,473&color=annotate | SPECjbb 2015 User Guide, p.14]] |
![[SPECjbb 2015 User Guide.pdf#page=15&rect=108,587,305,721&color=annotate | SPECjbb 2015 User Guide, p.15]] |
![[SPECjbb 2015 User Guide.pdf#page=15&rect=108,112,346,289&color=annotate | SPECjbb 2015 User Guide, p.15]] |
SPECjbb 2015 Distributed 模式
只在我们要测试的机器跑 BE,Ctr 和 TxI 跑在其他机器上,能够避免影响。
[!PDF|annotate] [[SPECjbb 2015 User Guide.pdf#page=16&selection=37,0,39,73&color=annotate|SPECjbb 2015 User Guide, p.16]] 5.6.1. Example distributed run for 1 Group with 1 TxI / Backend (or 1 TxI/Group)
如何执行 SPECjbb 2015 测试?
The benchmark user needs to populate:
- the template file with HW/SW details,
- the property file for run configuration(对执行过程的一些配置), and
- launch script to specify intended run category(workload 怎么跑,).
Benchmark kit has templates for each of these.
有一个文件夹 config/
,目录下的文件:
config/
# benchmark 跑的时候,下面三个文件不会用到,是执行结束后
# controller 调用 reporter 会把他们作为输入用来生成 HTML report 的。
template-C.raw # for SPECjbb2015-Composite
template-M.raw # for SPECjbb2015-MultiJVM
template-D.raw # for SPECjbb2015-Distribute
# 这个文件用来指导 specjbb 的运行的参数,也可以通过 command line option
# command line option 会覆盖这里面定义的默认参数。这个一个总的文件,
# Ctr, TxI, BE 乃至 Composite 和 multijvm 用到的属性都可以直接定义在这个文件里。
SPECjbb2015.prop
整体是这么执行的:
java <options> -jar specjbb2015.jar <argument> [<value>] …
Properties
-
specjbb.group.count
: 指定组的数量;