VMmark Users Guide 4.0.2 2024-10-11
VMmark Users Guide 4.0.2 2024-10-11
VMmark 4.0.2
October 11, 2024
VMmark User’s Guide
You can find the most up-to-date technical documentation on the VMware website at:
http://www.vmware.com/support/
The VMware Web site also provides the latest product updates.
If you have comments about this document, submit your feedback to:
[email protected]
VMware by Broadcom
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
Copyright © 2007-2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
For more information, go to https://www.broadcom.com. All trademarks, trade names, service marks, and logos referenced
herein belong to their respective companies.
Revision: 20241011
2 Broadcom
Contents
Overview 11
Why Virtualization? 11
Why a Multi-Host Virtual Machine Benchmark? 11
Why a new version of VMmark? 12
Intended Audience 12
Legal Notice 12
Broadcom 3
VMmark User’s Guide
4 Broadcom
Contents
Troubleshooting 71
Benchmark Provisioning Issues 71
CNS Naming in vCenter 8.0 Update 3 71
Error: “Requested number of processors 4 is more than 1 processors this virtual machine is configured
for” 71
Warning: “Line -1: Unsupported value 'pciBridgeN.present'” 71
Benchmark Execution Issues 72
Keyboard and mouse become unresponsive in a VM 72
Error “All required properties are not set in /root/VMmark4/VMmark4.properties, provisioning failed.
Exiting...” 72
Error Similar to “Could not properly start the data services for run 1-0. Exiting.” 72
Delete Weathervane PVCs Before Removing Kubernetes Cluster 72
Empty “Please wait” Popup Box When Opening STAX 73
No Score in the Score_n_Tile_Test.txt file / “Error: Turbo mode disabled but Duration (Runtime) = 180
seconds. Rerun with -T/--turbo” 73
Warning “Failed to find principal: VSPHERE.LOCAL\WorkloadStorage” 73
Error: “Failed - Feature ‘cpuid.mwait’ was 0, but must be 1.” 73
Cancel a Benchmark Run 73
Manually Cancel a Benchmark Run 74
Automatically Cancel on Error 74
Delete VMmark 4 Tiles 74
Using the VMmark4-ConfigChecker Script 75
Manually Running the VMmark Reporter Scripts 76
Manually Running the Reporter Script 76
How to Enable and Analyze esxtop Performance Data 77
Obtain a Tool to View the esxtop Performance Data 77
Enable esxtop Performance Data Collection in VMmark 77
Capture the esxtop Performance Data 77
Open the esxtop Performance Data for Analysis 77
Example esxtop Performance Data Analysis: CPU Utilization 78
Broadcom 5
VMmark User’s Guide
6 Broadcom
Quick Start Guide
This quick start guide outlines the steps typically required to install, configure, and run the VMmark
benchmark. This is only an outline; most of the steps in this section include a link to detailed instructions
provided later in the book.
Setting up a VMmark environment for the first time typically takes about 30 minutes of hands-on time and
several hours of hands-off time, while VMmark finishes creating application workloads.
1 Make sure your environment will meet the minimum requirements detailed in Chapter 2, “VMmark
Benchmark Requirements.”.
2 Install a version of vSphere vCenter Server supported by VMmark 4 (for details and configuration options
see “Install vSphere vCenter Server” on page 40).
3 Install and configure VMware ESXi on all hosts in your VMmark environment, add those hosts to your
vCenter Server, and make sure they can all reach the same shared storage (see “Install and Configure
VMware ESXi” on page 41).
4 Configure vSphere vCenter (see “Configure vCenter Server” on page 41):
a Create a datacenter.
b Create a VMmark systems under test (SUT) cluster in the datacenter, activate DRS for the cluster, set
it to Fully Automated, and set the Migration Threshold to 4, and add your SUT hosts to the cluster.
c Create a VMmark client cluster in the datacenter and add your client host(s) to the cluster.
d If the vCenter Server instance that will be used for the VMmark benchmark isn’t already on a host in
the client cluster, migrate it there.
5 Configure two networks on the ESXi hosts in each cluster. You can achieve this with two physical NICs in
each ESXi host and two vSwitches or with a single NIC with two port groups (see “Configure
Networking” on page 43).
The first network is the external network; this will generally be VM Network, the default network
configured when installing vSphere.
The second network is a “private” network; all VMmark workload traffic will use this network.
Broadcom 7
VMmark User’s Guide
6 Configure the vCenter server and the ESXi hosts in both the SUT and client clusters to an NTP server (or
server pool) external to the SUT (for detailed requirements see “Configure Time Synchronization on the
vCenter Server and the ESXi Hosts” on page 44).
8 Use ovftool to deploy the VMmark template to the SUT cluster using a command similar to the
following, but customized for your environment:
ovftool --diskMode=thin --noSSLVerify --acceptAllEulas --datastore=[datastore_name]
/path/to/VMmark-4.*.*-nnn.ova vi://[email protected]:[VC
password]@[VC IP]/[Datacenter name]/host/[SUT cluster name]/
Alternately, use the vSphere Client to deploy the VMmark template (see “Use the vSphere Client to
Deploy the VMmark Template” on page 46).
9 Verify VMware Tools time synchronization is activated (i.e., that there are check marks for both the
Synchronize at startup and resume (recommended) and Synchronize time periodically options) and
change the default passwords if desired (both tasks described in “Configure the VMmark Template” on
page 47).
11 Power on the prime client VM and use the remote console to log in (credentials: root and vmmark) and
perform the following tasks (as detailed in “Configure the Prime Client” on page 48):
a Connect the first NIC to the external network and configure it as needed for your network
environment.
b Connect the second NIC to the private network and configure it as needed.
NOTE To use the default private IP address for the prime client, select Method Manual, then click
Add. Use Address 198.18.4.251 and Netmask 255.255.0.0; leave Gateway blank. Using these
values will reduce the amount of input required later for provisioning and running.
d Convert this virtual machine into the prime client by running the make-prime script:
make-prime.sh primeclient_private_ip_address
(replace primeclient_private_ip_address with the private IP address for the prime client).
e Make sure the prime client is configured for the correct time zone.
12 Configure your vSphere environment to allow passwordless SSH from the prime client to each ESXi host
in the two clusters and the vCenter Server (as detailed in “Configure Passwordless SSH” on page 49).
13 Deploy and run the benchmark using the new Quick Start mode in interactive mode, which prompts for
the minimum set of parameters required:
vmmark4service --mode quick_start --vcenter_ip <IP> --vcenter_password '<password>'
(for more details and other options, see “Use Quick Start to Deploy and Run the Benchmark” on page 50).
15 Use the GUI to start a VMmark run (for alternate methods or more detail see “Perform a Full One-Tile
VMmark Run” on page 52):
8 Broadcom
Quick Start Guide
Point XML Job File > Local Machine > Filename to:
/root/VMmark4/source/vmmark4_main.xml
The run should launch and complete. Troubleshooting and additional information can be found
throughout the rest of this book and in Appendix B, “Troubleshooting.”
1 Create additional tiles, as described in “Add Tiles to the VMmark Environment” on page 54:
b Copy the vmmark4service command you used for the Quick Start process, but with the following
For example:
OUTPUT=provision-second-tile.txt
nohup vmmark4service --mode provision --vcenter_ip <ip_addr> \
--vcenter_password '<password>' --datacenter <datacenter> --cluster <cluster> \
--client_cluster <cluster2> --tile_number 2 --provisioning_source <template-VM> \
--datastore <datastore_name> --client_datastore <client_datastore> \
--infra_datastore '<different_datastore>' --network_label 'testbed' > $OUTPUT 2>&1 &
c Double check the /etc/hosts file on your prime client to ensure everything is configured correctly.
a Calculate the number of simultaneous infrastructure operations (see “Calculate the Number of
Simultaneous Infrastructure Operations” on page 54).
b Make copies of the VMmark template for infrastructure operations (see “Make Copies of the
VMmark Template for Infrastructure Operations” on page 55).
3 Use the GUI to start a VMmark run (for alternate methods or more detail see “Start a VMmark Run” on
page 57):
Point XML Job File > Local Machine > Filename to:
/root/VMmark4/source/vmmark4_main.xml
Broadcom 9
VMmark User’s Guide
10 Broadcom
Overview
This document describes the VMmark® virtual infrastructure benchmarking utility, it provides instructions for
configuring a system for VMmark testing, it details the steps required to perform such a test, and it discusses
the interpretation of the data acquired.
Why Virtualization?
Server virtualization is the process of running multiple virtual computer systems (called “virtual machines”)
on a single physical server.
Virtualization can increase IT agility, flexibility, and scalability while creating significant cost savings.
Workloads get deployed faster, performance and availability increase, and operations can be automated,
resulting in IT that’s simpler to manage and less costly to own and operate.
In the years since the introduction of VMmark 2 and VMmark 3, the demands on modern data centers have
increased. New technologies have become commonplace in the data center, while more mature technologies
continue to evolve. Traditional relational database workloads coexist with NoSQL applications and
workloads. Virtual machine based architectures coexist with containerized workloads and Kubernetes
orchestration. In addition, social network style interactions are commonplace for employee communication for
everything from Human Resources tasks to IT Services, and even employee networks. VMmark 4 was created
with this innovation and data center evolution in mind. However, although VMmark 4 represents and
incorporates the increased complexity seen in today’s data centers, we’ve simplified the benchmarker
experience. You’ll see easier initial installation, faster initial deployment times, and an “automation first”
mindset for faster time-to-value in your performance characterization endeavors.
Broadcom 11
VMmark User’s Guide
Intended Audience
This document is written for users with a relatively advanced understanding of system administration.
However, familiarity with virtualization software and with benchmarking methodology is not assumed.
Legal Notice
This documentation contains information including but not limited to the installation and operation of the
Software. Modifications, additions, deletions or other updates (“Modifications”) to the information may be
incorporated in future releases.
VMware®, Inc., its affiliates or subsidiaries (“VMware”) are not responsible for any Modifications made to the
published version of this documentation unless performed by VMware. All information is provided “as is”
and is believed to be accurate at the time of publication. VMware shall not be liable for any damages arising
out of or in connection with the information and recommended actions provided herein (if any), including
direct, indirect, consequential damages, loss of business profits or special damages, even if VMware has been
advised of the possibility of such damages.
12 Broadcom
What is the VMmark Benchmark? 1
This chapter provides an overview of the VMmark Benchmark and describes how it works. The chapter
consists of the following sections:
The unit of work for a benchmark of virtualized consolidation environments can be naturally defined as a
collection of virtual machines executing a set of diverse workloads. The VMmark 4.x Benchmark follows the
convention of previous VMmark versions and refers to this unit of work as a tile. The total number of VMmark
tiles a multi-host platform can accommodate gives a coarse-grain measure of that platform's consolidation
capacity. This concept is similar to some server benchmarks, such as TPC-C (see http://www.tpc.org/tpcc), that
scale the workload in a step-wise fashion to increase the system load.
Tiles are relatively heavyweight objects that cannot by themselves capture small variations in platform
performance. To address this, both the number of tiles and the performance of each individual workload
determine the overall benchmark score.
Each workload within a tile is constrained to execute at less than full utilization of its virtual machine.
However the performance of each workload can vary to a degree with the speed and capabilities of the
underlying platform. The addition of a fast disk array, for example, might result in disk-centric workloads
producing a more favorable score. These variations can capture system improvements that do not warrant the
addition of another tile. However the workload throttling forces the use of additional tiles for large jumps in
platform performance.
Broadcom 13
VMmark User’s Guide
When a tile is added, the performance of the workloads in existing tiles might decrease. If the system has not
been overcommitted, however, and the minimum quality-of-service metrics are met, the aggregate score,
including the new tile, should increase. The result is a flexible benchmark metric that provides a measure of
the total number of workloads that can be supported by a particular multi-host platform as well as the overall
performance level within the workload virtual machines.
Virtual machine migration, clone and deploy, storage migration, and vMotion without shared storage
operations are repeatedly performed on a set of the workload virtual machines to simulate the additional
resource demands typical in production data centers. Additionally, automated load balancing is enabled to
ensure application-level workloads are relocated to satisfy their resource needs as the computational loads
vary among the individual hosts over time.
VMmark is designed to benchmark the performance of the virtualization software and hardware and is not
designed as a benchmark of any other software component.
14 Broadcom
Chapter 1 What is the VMmark Benchmark?
Standby system
E-Commerce simulation
Database workload
Rather than develop workloads from scratch, existing workloads or benchmarks were used where possible.
This reduces implementation effort and provides a well-understood foundation upon which to build.
The workloads chosen for use in VMmark are representative of popular applications commonly run by
VMware customers.
VMmark leverages components of these application workload virtual machines to perform some common
virtualization procedures, which we call infrastructure workloads, including:
These application and infrastructure workloads, along with their virtual machine names and virtual
hardware, are summarized in Table 1-1.
Scalable Web Weathervane AuctionWebA Ubuntu 22.04.2 64-bit, 4 vCPU, 12GB RAM, 50GB disk
Simulation (VMs) AuctionWebB
AuctionWebC
AuctionWebDNosql Ubuntu 22.04.2 64-bit, 4 vCPU, 20GB RAM, 50GB & 83GB
disks
AuctionWebEDB Ubuntu 22.04.2 64-bit, 4vCPU, 16GB RAM, 50GB & 24GB
disks
Scalable Web Weathervane AuctionKA Ubuntu 22.04.2 64-bit, 8 vCPU, 32GB RAM, 50GB disk
Simulation (containers) AuctionKB Distributed across the Kubernetes cluster: 100GB PVC, 20GB
AuctionKC PVC, six 6GB PVCs
AuctionKD
E-Commerce DVD Store 3.5 DS35WebA Ubuntu 22.04.2 64-bit, 6 vCPU, 0.5GB RAM, 50GB disk
Simulation DS35WebB
DS35WebC
DS35DB Ubuntu 22.04.2 64-bit, 24 vCPU, 48GB RAM, 50GB base disk,
250GB data disk
Social DeathStarBench SocialNetwork Ubuntu 22.04.2 64-bit, 36 vCPU, 16GB RAM, 50GB base disk,
Network 50GB data disk
Broadcom 15
VMmark User’s Guide
Database NoSQLBench NoSQLBenchA Ubuntu 22.04.2 64-bit, 8 vCPU, 8GB RAM, 50GB disk
Simulation NoSQLBenchB
NoSQLBenchC
Standby None Standby Ubuntu 22.04.2 64-bit, 1 vCPU, 2GB RAM, 50GB disk
Deploy None Deploy Ubuntu 22.04.2 64-bit, 4 vCPU, 16GB RAM, 10GB, 20GB, &
50GB disks
Prime Client None PrimeClient Ubuntu 22.04.2 64-bit, 4 vCPU, 32GB RAM, three 50GB disks
Client None Client Ubuntu 22.04.2 64-bit, 64 vCPU, 96GB RAM, 50GB disk
The following sections discuss each of these application and infrastructure workloads.
In VMmark 4.x, Weathervane runs with two workload variants: one workload that runs the application and
service processes on virtual machines, a second workload that runs the application and services in Docker
containers on Kubernetes nodes (VMs). The elements of these two variants are performed across 13 workload
virtual machines running on the system under test (detailed in Table 1-1). Load is generated by drivers
running on a client virtual machine simulating users interacting with the Weathervane Auction application.
The Kubernetes nodes (i.e., VMs) running the Weathervane workload containers use vSphere Container
Storage to store persistent data. During provisioning, the VMmark harness creates Persistent Volume Claims
(PVCs) on the CSI datastore configured for that tile. There are limitations to managing VMs that use PVCs. The
Kubernetes Node VMs (AuctionKA, AuctionKB, AuctionKC, and AuctionKD) can’t be moved off the cluster
or datastore on which they were created. Instead, the VMmark tile should be deleted cleanly (as described
below) and reprovisioned on the new cluster or datastore. For this reason, you should create tiles on the cluster
and datastore where you’ll be performing the VMmark benchmark runs. Deletion of VMmark 4 tiles should
be done not through vCenter using the GUI or PowerShell, but should instead be done using the VMmark 4
service as described in “Delete VMmark 4 Tiles” on page 74.
QoS requirements specify 99th-percentile response-time for each operation and a required mix of operations
performed by all users.
DVD Store Version 3.5 (DS35) is a complete online e-commerce test application with a back-end database
component, a web application layer, and driver programs (see http://github.com/dvdstore/ds35 for additional
information). The DS35 driver simulates users logging into a web server and browsing a catalog of products
using basic queries. Users may select items for purchase then proceed to check out or continue shopping. Users
are also able to read reviews, rate reviews, provide new reviews, and join as a premium member. Each web
server communicates with a database server that maintains user account and inventory data.
Though not necessary in order to use it as part of VMmark, additional information about DS35 is available at
http://github.com/dvdstore/ds35.
16 Broadcom
Chapter 1 What is the VMmark Benchmark?
The DS35 workload used in VMmark 4.x utilizes four virtual machines in each tile—three web servers and one
database server—all running 64-bit Ubuntu 22.04. The three virtual machines in the DS35 web tier
(DS35WebA, DS35WebB, and DS35WebC) each run the Apache 2.4.52 web server and have 6 vCPUs and 0.5GB
of memory. The DS35 database tier runs the PostgreSQL database on a virtual machine with 24 vCPUs and
48GB of memory.
One of the web servers delivers a constant load to the database throughout each benchmark interval. The other
two web servers deliver periodic load to the database during the benchmark interval to create a bursty overall
load profile and varying resource demands. For VMmark 4.x, each web server is driven by 64 driver threads
when active. The performance metric for this workload is the total number of transactions per minute.
Minimum quality-of-service metrics must also be met.
The Social Network application consists of a number of Docker containers, including a frontend NGINX web
server, middle-tier logic services, a backend of memcached and Redis for in-memory caching and storage, as
well as MongoDB database instances to store users, posts, timelines, etc.
In VMmark 4.x, the Social Network application runs on a virtual machine with 36 vCPUs and 16GB of memory.
The Social Network client generates an HTTP workload with a predefined number of threads, connections,
and throughput. The performance metric for this workload is number of transfers per second.
In VMmark 4.x NoSQLBench has been configured to run as a workload on a 3-node Cassandra clustered
NoSQL database. The three virtual machines (NoSQLBenchA, NoSQLBenchB, and NoSQLBenchC) each have
8 vCPUs and 8GB of memory. The NoSQLBench client uses the cql-keyvalue workload profile (one of the
profiles included with NoSQLBench). Results are determined in terms of request throughput and response
time, which are obtained from the NoSQLBench results files.
This infrastructure workload clones the VMmark template virtual machine, powers-on and pings the clone,
takes a snapshot, performs a hot add of CPU and memory, takes another snapshot, creates a small MySQL
database, then reverts the snapshots, again pings the clone, and finally deletes it. The benchmark then waits
40 seconds and repeats this process, continuing for the duration of the benchmark period. The number of
concurrent clone and deploy operations increases with the number of tiles and the number of hosts in the
benchmark cluster. The performance metric used is the number of clone and deploy operations per hour.
Broadcom 17
VMmark User’s Guide
This infrastructure workload acts on one of the Standby virtual machines selected in a round-robin fashion
from among all the tiles. A destination host is selected at random from among all hosts in the benchmark
cluster (other than the virtual machine’s current host), the virtual machine is moved to the destination host,
left there for two minutes, then returned to its original host. VMmark then waits another two minutes and
repeats this process, continuing for the duration of the benchmark period. The number of concurrent
relocation operations increases with the number of tiles and the number of hosts in the benchmark cluster. The
performance metric used is the number of relocations per hour.
In this infrastructure workload, VMmark relocates a virtual machine's disk files to a maintenance partition,
then returns them to their original location. This round-trip approach models an administrator temporarily
evacuating a disk partition, performing maintenance on the storage system, then returning the system to its
initial state.
This infrastructure workload acts on one of the AuctionWebF virtual machines selected in a round-robin
fashion from among all the tiles. The virtual machine’s files are moved to the maintenance partition, left there
for two minutes, then moved back to their original location. VMmark then waits another two minutes and
repeats this process, continuing for the duration of the benchmark period. The number of concurrent storage
relocation operations increases with the number of tiles and the number of hosts in the benchmark cluster. The
performance metric used is the number of relocations per hour.
In this infrastructure workload, VMmark uses vMotion to relocate a virtual machine while simultaneously
invoking the storage relocation of the same virtual machine's disk files to a maintenance partition. After 2
minutes the virtual machine is returned to its original host and the files are returned to their original location.
VMmark then waits another 5 minutes and repeats the process. This workload models an administrator
temporarily evacuating a host and disk partition, performing maintenance on the host and/or storage system,
then returning the system to its initial state.
This infrastructure workload acts on one of the DS35WebA virtual machines selected in a round-robin fashion
from among all the tiles. The number of concurrent relocation operations increases with the number of tiles
and the number of hosts in the benchmark cluster. The performance metric used is the number of relocations
per hour.
18 Broadcom
Chapter 1 What is the VMmark Benchmark?
VMmark requires that DRS be enabled and running at (or above) a specific level to ensure that rebalancing
occurs in a timely manner when utilizations are high. This should improve overall performance by addressing
load imbalances occurring during the benchmark interval.
Broadcom 19
VMmark User’s Guide
The client systems must run in a vSphere cluster that is not part of the system under test.
NOTE Running the client systems in the same cluster as the SUT might work; however, doing so is
unsupported and any results obtained on such a configuration would be non-compliant.
VMmark Harness
The VMmark Harness is a utility run on the prime client system that can start and stop the applications
running on the workload virtual machines and can report the results of a test run.
The VMmark Harness is based on the open-source Software Testing Automation Framework (STAF, see
http://staf.sourceforge.net/index.php) and its companion execution engine, STAX. These tools support the
development and running of distributed coordinated tests across heterogeneous machines and operating
systems.
The VMmark Harness consists of several STAX XML modules, the VMmark4.properties file, and several
workload-specific configuration files. The main STAX module, vmmark4_main.xml, processes the
VMmark4.properties file to configure the test to be run. Each workload has its own
<workload>_functions.xml module that contains the workload-specific code needed to initialize the test,
run the test, and collect the results.
The VMmark4.properties file defines the actual test, identifying all the clients and server virtual machines
involved in the test, the number of tiles to be run, and the workloads within each tile.
After the VMmark4.properties file has been processed, the VMmark Harness performs pre-run system and
timing validation and initiates the setup phase for the VMmark infrastructure operations and for each
workload in each tile. After the setup has completed, the VMmark Harness simultaneously initiates the
individual workloads in all the tiles. When the workload runs have completed, the harness again validates the
timing, then collects the results into a results directory.
NOTE VMware updates the VMmark Run and Reporting Rules from time to time. Before performing a
VMmark test, you should confirm that you have the latest available version.
20 Broadcom
Chapter 1 What is the VMmark Benchmark?
After a VMmark benchmark test run completes, each individual application and infrastructure workload
reports its relevant performance metric. These performance metrics are shown in Table 1-2.
NOTE The standby server workload does not produce a metric that affects the benchmark score. However the
standby server needs to answer to a periodic heartbeat request in order for the VMmark test to be considered
compliant. Likewise, DRS must be enabled to allow the platform to automatically balance resources during
the benchmark run. DRS does not produce a metric but will affect the performance of other workloads by
managing the overall resource allocations to improve performance and provide stability.
The DVD Store implementation in VMmark 4.x is a multi-tier workload containing three web server virtual
machines with varying load patterns accessing a single database virtual machine. For scoring purposes, each
web server generates a separate results file to be processed independently from the others. This approach
provides a clearer understanding of platform behavior.
The Weathervane workload in VMmark 4.x uses two independent instances of the Weathervane Auction
application, one running in VMs, the other in containers. Because in today's data centers it's increasingly
common to have self-scaling applications that dynamically add and remove resources to meet demands, the
container instance takes advantage of Weathervane's elasticity-related capabilities to add and remove an
application server and a web server throughout the run. This elastic component (along with the cyclical
application profile generated by DVD Store 3.5) allows VMmark 4.x to more accurately represent today's
bursty environments.
These metrics are collected at frequent intervals during the course of the run. The standard VMmark 4.x
workload is designed to run for at least 3 hours with workload metrics reported every 60 seconds. This means
that rather than having a single number upon completion of a test run, the user will have a series of numbers
for each of the workloads. The series of data points for each workload is averaged to generate a single score
for that workload which is then listed in the VMmark results file (Score_N_Tile_Test.txt).
Broadcom 21
VMmark User’s Guide
Normalization allows the integration of the different component metrics into an overall score. A reference
system is commonly used for normalization when computing benchmark scores. For example, SPEC CPU
2017 (see http://www.spec.org/cpu2017/) took this approach, using a Sun Fire V490 with 2100 MHz
UltraSPARC-IV+ processors as its reference platform. VMmark 4.x measures consolidation workloads within
virtual environments and therefore requires a reference platform capable of successfully running a single tile.
The steady state for the benchmark is defined as the middle two hours of the three-hour run. The first and last
half hours are the ramp-up and ramp-down times, respectively. The steady state is further divided into three
40-minute phases. For each of the 40-minute phases we compute the overall result for the platform and select
the median score of the three as the reported score.
After a valid run, the metrics of the application workloads within each tile are computed and aggregated into
a score for that tile. This aggregation is performed by first normalizing the different performance metrics (such
as Actions/minute and operations/minute) with respect to a reference platform. Then a geometric mean of the
normalized scores is computed as the final score for the tile. The resulting per-tile scores are then summed to
create the application-workload portion of the final metric.
The metrics for the infrastructure workloads are aggregated separately using the same mathematical
technique of normalization with respect to a reference platform followed by the computation of the geometric
mean. Unlike the application workloads, the infrastructure workloads are not scaled explicitly by the user.
Consequently, the infrastructure workloads are compiled as a single group and no multi-tile sums are
required.
The final benchmark score is then computed as a weighted average of the application-workload component
and the infrastructure-workload component. VMmark 4.x gives weights of 80% to the application-workload
component and 20% to the infrastructure-workload component. These weights were chosen to reflect the
relative contribution of infrastructure and application workloads to overall resource demands.
The benchmark helps measure the virtualization overheads of the individual workloads as well as the
scalability of the entire system. Therefore results for multi-tile runs are reported as the aggregate score for all
tiles, the individual scores for each of the tiles, and the scores for the workloads within the tiles as well as the
individual scores for each infrastructure workload.
If any of the workloads within any tile fails to run, produces errors during a run, or fails its minimum
quality-of-service requirement, that entire VMmark run is considered to be invalid. This applies to programs
running on both the servers and the client systems. Also, the configuration of the workloads, the versions of
the benchmarks, operating systems, tools, and all other software used must conform to the specifications in
the VMmark documentation.
To illustrate the scoring methodology, consider the following two examples. The first example demonstrates
how to compute the score for a single-tile benchmark run, while the second example demonstrates how to
compute the scores for a multiple-tile benchmark run.
For these examples, assume the reference system had the scores shown in Table 1-3.
22 Broadcom
Chapter 1 What is the VMmark Benchmark?
vMotion 10 VM migrations/hour
XvMotion 10 VM migrations/hour
Table 1-4. Single-Tile Example Test System Workload Scores (Artificial Data)
Workload Name Score
vMotion 11 VM migrations/hour
XvMotion 8 VM migrations/hour
To compute the score for this tile, you first compute each workload's normalized scores by dividing the score
for each workload by the reference score for that workload:
Broadcom 23
VMmark User’s Guide
You would then combine the normalized scores for the application workloads using a geometric mean:
(0.94 * 0.91 * 1.02 * 0.98 * 0.97 * 1.10 * 1.15 * 1.12 * 0.97)^(1/9) = 1.01
Next, you would combine the normalized scores for the infrastructure workloads using a geometric mean:
Finally, you would combine these two geometric means using a weighted average (80% for application
workloads, 20% for infrastructure workloads):
The VMmark score for this tile is 0.99. For reporting, the VMmark results file will include this score as well as
the individual scores for all the workloads (both raw and normalized).
Table 1-5. Multiple-Tile Example Test System Workload Scores (Artificial Data)
Workload Name Tile 1 Score Tile 2 Score Tile 3 Score Tile 4 Score
vMotion 22
Storage vMotion 11
24 Broadcom
Chapter 1 What is the VMmark Benchmark?
Table 1-5. Multiple-Tile Example Test System Workload Scores (Artificial Data)
Workload Name Tile 1 Score Tile 2 Score Tile 3 Score Tile 4 Score
XvMotion 26
The geometric means of the normalized scores for the application workload tiles would be:
Geometric mean of
normalized scores: Tile 1: 1.00 Tile 2: 1.03 Tile 3: 0.99 Tile 4: 1.04
The application workload portion of the VMmark score would be the sum of these geometric means:
Geometric mean of
normalized scores: 1.91
The overall VMmark score for the system would be the weighted average of these two numbers:
Along with the overall VMmark score of 3.62, the VMmark results file will include both the individual tile
scores and the workload scores (both raw and normalized).
Broadcom 25
VMmark User’s Guide
Reference Scores
The VMmark 4.x reference scores were obtained using the environment detailed in Table 1-6.
Processors Two AMD EPYC™ 9354P 3.25 GHz 32-core processors per server
Four processors total
Cores 32 cores per processor; 64 cores per server; 128 cores total
Storage
Infrastructure storage One HPE SN1610E 32Gb 2-port FC HBA per server, two total (connected at 16Gb)
connectivity
vSAN storage devices Eight HPE 1.6TB NVMe MU SCN U.3 PM1735a SSDs per server, 16 total
Network
Client
Processors Two AMD EPYC™ 9354P 3.25 GHz 32-core processors per server
Four processors total
Cores 32 cores per processor; 64 cores per server; 128 cores total
Storage connectivity One HPE SN1610E 32Gb 2-port FC HBA per server, two total (connected at 16Gb)
Software
Data center management VMware vCenter Server 8.0 Update 2a, build 22617221
The reference scores obtained on this system are shown in Table 1-7.
26 Broadcom
Chapter 1 What is the VMmark Benchmark?
XvMotion 13 VM migrations/hour
Broadcom 27
VMmark User’s Guide
VMmark 4.0.2
VMmark 4.0.2 contains updates to improve workload stability, logging, and error handling as well as
improved result post-processing, examples, and documentation. VMmark 4.0.2 benchmark scores are
considered directly comparable to VMmark 4.0 and 4.0.1 benchmark scores.
VMmark 4.0.1
VMmark 4.0.1 corrects an issue with deploy operation automatic calculations, improves the restore process for
multiple application workloads, and includes minor updates for ancillary scripts and documentation.
VMmark 4.0.1 benchmark scores are considered directly comparable to VMmark 4.0 benchmark scores.
VMmark 4.0
VMmark 4.0 adds new NoSQLBench and Social Network workloads, an updated Weathervane workload that
now runs in both virtual machines and Docker containers on Kubernetes nodes, an updated DVD Store 3.5
workload that uses PostgreSQL, higher overall workload levels, support for partial tiles, a completely new
Quick Start mode, an automated disclosure creator, message and results delivery via Slack or Google Chat, and
a variety of other updates and improvements. Since there are new workloads and significantly higher load
levels in VMmark 4.0 as compared to VMmark 3.x, the benchmark scores are in no way considered
comparable.
VMmark 3.1.1
VMmark 3.1.1 fixes a bug in the Weathervane VMmark workload. VMmark 3.1.1 benchmark scores are
considered directly comparable to VMmark 3.0 and 3.1 benchmark scores (though see the VMmark Run and
Reporting Rules for limitations on comparisons between results with different security vulnerability
mitigations).
VMmark 3.1
VMmark 3.1 contains updates to improve workload scalability and enhance security as well as including new
requirements regarding security vulnerability mitigations. VMmark 3.1 benchmark scores are considered
directly comparable to VMmark 3.0 benchmark scores (though see the VMmark Run and Reporting Rules for
limitations on comparisons between results with different security vulnerability mitigations).
VMmark 3.0
VMmark 3.0 provided a completely new, highly-automated benchmark installation process; it used free or
open-source software throughout, eliminating the need to purchase any software; it replaced DVD Store 2
with DVD Store 3 and added Weathervane, a new application-level cloud performance benchmark; and it
added XvMotion as a new infrastructure workload. The workloads and load levels of VMmark 3.0 were
completely changed from VMmark 2.x and the benchmark scores were in no way considered comparable.
VMmark 2.5.2
VMmark 2.5.2 was a minor maintenance release. It included an updated VMmark Benchmarking Guide.
VMmark 2.5.2 benchmark scores were considered directly comparable to VMmark 2.0, 2.1, 2.1.1, 2.5, and 2.5.1
benchmark scores.
28 Broadcom
Chapter 1 What is the VMmark Benchmark?
VMmark 2.5.1
VMmark 2.5.1 was a minor maintenance release. It included an updated VMmark Benchmarking Guide.
VMmark 2.5.1 benchmark scores were considered directly comparable to VMmark 2.0, 2.1, 2.1.1, and 2.5
benchmark scores.
VMmark 2.5
VMmark 2.5 added support for optional power monitoring, support for client systems running additional
versions of Windows Server 2008, support for the VMware vCenter Server® Appliance™, a new Turbo Mode,
message and results delivery via Growl/Prowl, and a variety of other updates and improvements. VMmark
2.5 benchmark scores were considered directly comparable to VMmark 2.0, 2.1, and 2.1.1 benchmark scores.
VMmark 2.1.1
VMmark 2.1.1 was a minor maintenance release. VMmark 2.1.1 benchmark scores were considered directly
comparable to VMmark 2.0 and 2.1 benchmark scores.
VMmark 2.1
VMmark 2.1 added support for client systems running certain versions of Windows Server 2008 (in addition
to Windows Server 2003, which was supported in VMmark 2.0) as well as support for virtualized clients
(subject to certain conditions). The benchmark harness now scales the storage relocation workload in the same
fashion as the other infrastructure workloads. The VMmark Benchmarking Guide is updated to reflect these
changes. VMmark 2.1 benchmark scores were considered directly comparable to VMmark 2.0 benchmark
scores.
VMmark 2.0
While VMmark 1.x was designed as a single-system consolidation benchmark consisting of six isolated
single-tier workloads, VMmark 2.0 was designed as a multi-host benchmark reflecting typical, modern-day
usage of virtualized infrastructure. VMmark 2.0 consisted of two single-tier application workloads, two
multi-tier application workloads, and four infrastructure-level workloads. The workloads and load levels of
VMmark 2.0 were completely changed from VMmark 1.x and the benchmark scores were in no way
considered comparable.
VMmark 1.1.1
VMmark 1.1.1 was a minor maintenance release. It included updates to the VMmark Benchmarking Guide,
updated reporting script and disclosure template, and new versions of the Run and Reporting Rules and
Review Panel Guidelines and Procedures. VMmark 1.1.1 benchmark scores were considered directly
comparable to VMmark 1.0 and 1.1 benchmark scores.
VMmark 1.1
In order to reflect the increasing use of 64-bit operating systems in data centers, VMmark 1.1 used 64-bit
operating systems and applications in three of the workload virtual machines (Java server, Web server, and
Database server). The workloads and load levels were unchanged from VMmark 1.0, however, and the
VMmark 1.0 and 1.1 benchmark scores were thus considered directly comparable.
VMmark 1.0
This was the initial release of VMmark.
Broadcom 29
VMmark User’s Guide
30 Broadcom
VMmark Benchmark Requirements 2
This chapter describes the hardware and software required in order to perform VMmark benchmark testing.
It consists of the following sections:
Both VMware vCenter® and VMware ESXi™ versions must be Publicly Available or planned to be
Publicly Available within 90 days (using the definition of “Publicly Available” in the VMmark Run and
Reporting Rules).
The systems under test must be running ESXi version 8.0 Update 2 or later.
The virtualization environment used must include Distributed Resource Scheduler (DRS) as a supported
feature. Such environments include VMware Cloud Foundation (VCF) and VMware vSphere Foundation
(VVF). Note that vSphere Standard does not include DRS.
The DRS migration threshold on the SUT cluster must be set to the most aggressive or the second-most
aggressive setting.
Broadcom 31
VMmark User’s Guide
NOTE The first VMmark tile also uses an additional 4 vCPUs for a deploy VM. Depending on the number of
tiles and hosts in your VMmark run, additional deploy VMs might be required, each of which uses an
additional 4 vCPUs. See “Calculate the Number of Simultaneous Infrastructure Operations” on page 54 for
more details.
NOTE The first VMmark tile also allocates an additional 16GB of memory for a deploy VM. Depending on the
number of tiles and hosts in your VMmark run, additional deploy VMs might be required, each of which
allocates an additional 16GB of memory. See “Calculate the Number of Simultaneous Infrastructure
Operations” on page 54 for more detail.
NOTE The first VMmark tile also uses an additional 96GB of storage for a deploy VM. Depending on the
number of tiles and hosts in your VMmark run, additional deploy VMs might be required, each of which uses
an additional 96GB of storage. See “Calculate the Number of Simultaneous Infrastructure Operations” on
page 54 for more detail.
NOTE In order to provide source and target datastores for the storage relocation operations that are part of
the benchmark, VMmark requires a minimum of two datastore partitions.
NOTE If your VMmark runs will use VMware vSAN™ as the primary storage solution, a secondary storage
solution is needed for infrastructure operations. This secondary storage could be any one of a variety of
storage types, including a traditional SAN, an NFS share, iSCSI, or VMware vSAN HCI Mesh. For one NFS
option, see “Add an NFS Datastore for Infrastructure Operations” on page 67.
Additionally, the benchmark requires that all ESXi hosts used in a test have access to the same shared storage.
NOTE Some vSAN configurations, such as two-node vSAN clusters, require a witness host. For VMmark the
vSAN witness function must be performed by a dedicated virtual appliance running on the VMmark client
hardware. For more information about vSAN witness appliances, see the following resources: What Are vSAN
Two-Node Clusters, vSAN 2-node Cluster Guide, and Deploying a vSAN Witness Appliance.
The VMmark benchmark needs high-throughput, low-latency storage. While the exact bandwidth
requirements will vary based on other aspects of the environment, a single VMmark tile can drive about 50,000
IOPS (Input/Output Operations Per Second), with additional tiles typically each driving somewhat less. The
latency requirements will also vary based on other aspects of the environment; a review of published VMmark
results will provide a sense of the storage solutions that work with VMmark. Thus in addition to ensuring that
you have enough storage capacity, you should also make sure your storage system will have adequate
performance.
VMmark can be used with any storage hardware type that meets the above requirements.
32 Broadcom
Chapter 2 VMmark Benchmark Requirements
The client virtual machines must not use resources that are part of the system being tested. This means
they must not be run on the same ESXi servers as the benchmark workloads and ideally should use
separate storage resources.
All tile clients in a VMmark deployment must have identical resource, scheduling, and tuning
configurations.
The servers hosting the VMmark client virtual machines must be running VMware ESXi 8.0 Update 2 or
later.
The servers hosting the VMmark client virtual machines must be enterprise-class hardware.
The CPUs in the servers hosting the prime and tile client virtual machines must not be overcommitted.
NOTE This means the sum of the vCPUs configured for all the virtual machines running on a host must
not exceed the number of logical CPUs that host contains.
Each hyper-threaded core can be considered two CPUs when calculating the level of CPU commitment.
In order not to affect the VMmark score, we recommend that the hosts’ physical processors be equivalent
to or faster than AMD EPYC™ 9004 Series (“Genoa”).
NOTE As a very rough approximation, client systems will need about half as much processing power per
tile as the systems under test. In addition, compute resources must be allocated for the single prime client.
If desired, users can increase the vCPU count for the prime client virtual machine.
If desired, users can increase the vCPU count for the tile client virtual machines (provided all tile clients
are provisioned identically).
The memory in the servers hosting the client virtual machines must not be overcommitted.
NOTE This means the sum of the memory allocated to all the virtual machines running on a host must
not exceed the amount of physical memory that host contains.
If desired, users can increase the memory for the prime client virtual machine.
If desired, users can increase the memory for the tile client virtual machines (provided all tile clients are
provisioned identically).
Broadcom 33
VMmark User’s Guide
Each tile client requires 146GB of storage for its disks and paging files.
The physical storage used for the virtual clients should be typical of a modern data center and should offer
performance sufficient to meet the client virtual machines’ resource requirements without introducing
delays that might affect the benchmark results.
NOTE The vCenter Server virtual machine must be on a client host. See “Install vSphere vCenter Server” on
page 40.
Network Requirements
VMmark tests require a network between the server system and the client systems as well as a separate
dedicated vMotion network for infrastructure operations. Some configurations might need multiple network
links for optimal performance.
We recommend that the VMmark systems be on dedicated private networks and that the server and client
systems be connected with links of at least 25 Gb/s speed.
For compliant benchmark runs, IP addresses must be statically assigned. There must be no DHCP server
reachable from any of the workload virtual machines.
NOTE Although VMmark can be run with DHCP-assigned IP addresses for the workload and client virtual
machines, such deployments are not supported and can not be used to generate compliant benchmark runs.
Network Performance
The physical network infrastructure should be typical of a modern data center and should offer performance
sufficient to meet the virtual machines’ resource requirements without introducing delays that might affect
the benchmark results.
Network bandwidth requirements can vary significantly with different environments, but each VMmark tile
can potentially consume 11 Gb/s of network bandwidth.
Network Topology
The most accurate benchmark results can be obtained when the VMmark environment is on a private network
and, during the VMmark tests, neither the client systems nor the SUT systems are connected to any other
network, whether an internal company network or the external Internet. Use of a completely private network
ensures that extraneous network traffic does not impact the VMmark tests. However, the VMmark prime client
can be connected to a company-wide network in order to provide user access to the VMmark installation.
For compliant benchmark runs, configure the ESXi servers, each workload virtual machine, and each client
virtual machine with a static IP address. The prime client can, in addition to the private network connection,
also be configured with a DHCP-assigned IP address on a company-wide network. (VMmark can be run with
DHCP-assigned IP addresses for the workload and client virtual machines, but such deployments can not be used
to generate compliant benchmark runs.)
34 Broadcom
Chapter 2 VMmark Benchmark Requirements
Figure 2-1. Sample VMmark Benchmark Network Configuration (Not Shown: vCenter Server, Clients,
Dedicated vMotion Network)
Broadcom 35
VMmark User’s Guide
36 Broadcom
Prepare the Infrastructure for
VMmark 4.0 Benchmark Tests 3
This document describes the steps required in order to prepare the infrastructure for VMmark 4.0 tests. It
consists of the following sections:
“Obtain the VMmark Template and Create the Prime Client” on page 46
Broadcom 37
VMmark User’s Guide
zlib1g-1:1.2.13.dfsg-1 CVE-2023-45853
Linux-Pam-v1.5.2 CVE-2022-28321
OpenJPEG-v2.4.0 CVE-2021-3575
linux-libc-dev-6.1.76-1 CVE-2024-26584
38 Broadcom
Chapter 3 Prepare the Infrastructure for VMmark 4.0 Benchmark Tests
NOTE VMmark and the benchmark hardware and software components (vCenter, ESXi, and the VMmark
template, clients, workload virtual machines, systems under test, storage, etc.) must be used only in an isolated
test environment. None of the benchmark hardware or software components can ever be connected to a
production network or transitioned to a production environment.
NOTE Don’t include spaces or special characters in vSphere names (usernames, datacenters, clusters, etc.).
Figure 3-1. Example 1-Tile VMmark 4 Deployment (Note: actual template name might differ)
Broadcom 39
VMmark User’s Guide
NOTE This instance of vCenter Server must be run on the VMmark client cluster, which you’ll create in
“Configure vCenter Server” on page 41. You can thus save a step by putting it on a host that will become part
of that cluster.
VMmark 4.0 is designed to run with vCenter Server 8.0 Update 2 or later. In order for a VMmark
benchmarking run to be compliant, the installed version of vCenter Server must either be Publicly Available
(using the definition of “Publicly Available” in the VMmark Run and Reporting Rules) or must meet the
pre-release requirements detailed in the VMmark Run and Reporting Rules. Make sure that all relevant
updates and patches are installed.
Make note of the vCenter Server user credentials, which need to be specified in the VMmark4.properties file.
This user doesn’t need to be [email protected], but must have administrative privileges.
NOTE All ESXi hosts must be able to reach the same shared storage in order to allow the VMmark
infrastructure operations.
Proceed to the appropriate section below, “Install VMware vCenter Server using the OVF Tool” or “Configure
an Existing VMware vCenter Server.”
NOTE The vCenter Server Appliance .ova can be found under the vcsa directory of the .iso, and ovftool
is under the ovftool subdirectory.
NOTE You’ll need to replace the variables in the above example (IP addresses, network labels, passwords, VM
names, etc.) with values from your own environment.
40 Broadcom
Chapter 3 Prepare the Infrastructure for VMmark 4.0 Benchmark Tests
a In the vCenter Server Appliance Management Interface, click Access, and click Edit.
NOTE When the GUI is used to enable the Bash Shell, the change doesn’t persist, so we don’t make
that change here.
2 Set Bash as the default shell by running this command on the prime client:
ssh -o PubkeyAuthentication=no root@[vCenter IP] "shell chsh -s /bin/bash root"
You should be prompted for the root password, then you should see this message:
Shell access is granted to root
NOTE The vCenter Server UI might report the Bash Shell is disabled; this is expected.
Make sure that hardware on which you are installing ESXi meets the requirements outlined in “System Under
Test Hardware Requirements” on page 33, including the datastore capacity and vMotion compatibility.
Use the vSphere Client to add all the ESXi hosts you plan to use in the test to the vCenter Server.
NOTE If your vCenter Server already has a datacenter, you can optionally use that one instead.
NOTE Don’t include spaces or special characters in vSphere names (usernames, datacenters, clusters,
etc.).
2 Create a VMmark systems under test (SUT) cluster in the datacenter as follows:
a Still in the Hosts and Clusters view, right-click on the new datacenter and select New Cluster....
i Enter a name for the cluster (recording the name for later use; this will be
vCServerVMmark4Cluster in the VMmark4.properties file).
Broadcom 41
VMmark User’s Guide
3 With the newly created cluster selected, click on the Configure, then click on vSphere DRS.
ii In Edit Cluster Settings, under Automation, make sure the Automation Level is set to Fully
Automated.
iii Set Migration Threshold, move the slider to the second-most aggressive setting (this is the
fourth position counting from the left, as shown in Figure 3-2).
NOTE Those wishing to further increase the DRS aggressiveness can, optionally, set the
Migration threshold slider to the most aggressive setting (this is the fifth—or rightmost—
position).
4 Add hosts to your systems under test cluster by right clicking on the cluster name and selecting Add
Host....
5 In order to allow VMmark to perform infrastructure operations, make sure that all the ESXi hosts in your
systems under test cluster can reach the same shared storage.
NOTE We recommend that the ESXi hosts not be connected to any storage resources that aren’t part of
the same VMmark installation. This is to avoid potential problems caused by identically named virtual
machines on different VMmark installations.
42 Broadcom
Chapter 3 Prepare the Infrastructure for VMmark 4.0 Benchmark Tests
NOTE If your VMmark runs will use vSAN storage as the primary storage solution, a secondary storage
solution is needed for infrastructure operations. This secondary storage could be any one of a variety of
storage types, including a traditional SAN, an NFS share, iSCSI, or VMware vSAN HCI Mesh. For one
NFS option, see “Add an NFS Datastore for Infrastructure Operations” on page 67.
6 Make sure that all hosts can vMotion to all other hosts within the systems under test cluster.
7 Create a VMmark client cluster in the data center (recording the name for later use; this will be
vCServerClientCluster in the VMmark4.properties file) and add one or more ESXi hosts to it.
NOTE Optionally, you can activate DRS for this client cluster and set it to any aggressiveness level you
choose.
8 If the vCenter Server instance that will be used for the VMmark benchmark isn’t already on a host in the
client cluster, migrate it there now.
Configure Networking
Configure two networks each on both the SUT cluster and the client cluster.
NOTE This document is written for environments with two prime client NICs. Configuring the prime client
with only one NIC (connected to the private network) is not covered in this User's Guide but is nevertheless a
compliant configuration for benchmarking purposes.
NOTE Some VMmark 4 workloads use Docker containers, which by default are configured to use IP addresses
in the ranges 172.17.*.* or 172.18.*.*. You must therefore not use these IP address ranges for either of the two
networks described in this section.
The first network must be an external network; this is generally VM Network, the default network configured
when installing vSphere.
NOTE Though referred to as an “external network,” this network must not be connected to production
systems.
The second network must be a “private” network; all VMmark workload traffic uses this network.
You can achieve these two networks in either of the following ways:
with two physical NICs in each ESXi host and two vSwitches, or
with a single NIC in each ESXi host with two port groups.
If you use a distributed vSwitch, it needs to be configured with ephemeral port bindings. See Add a
Distributed Port Group for more information.
For guidance on configuring a network in vSphere 8.0, see Create a vSphere Standard Switch or Create a
vSphere Distributed Switch.
Broadcom 43
VMmark User’s Guide
Configure Time Synchronization on the vCenter Server and the ESXi Hosts
The time on the vCenter Server and the ESXi hosts (in both the systems under test and client clusters) must be
synchronized to a single NTP server or a pool of NTP servers (such as pool.ntp.org). In either case, the NTP
server (or server pool) must be external to the SUT. (Client and workload virtual machines must use VMware
Tools to set their clocks from their ESXi host.)
NOTE In addition:
If using a pool of NTP servers, variations of more than a few seconds between the servers in that pool
could negatively impact benchmark results.
The vCenter Server, the workload and client ESXi hosts, and the workload and client virtual machines
(described later) must all be set to the USA standard date and time format (that is, month/day/year) as
opposed to the UK standard (that is, day/month/year).
The vCenter Server and the workload and client virtual machines (described later) must all be set to the
same time zone.
http://kb.vmware.com/kb/57147
To confirm that NTP is working correctly, run the following command from each ESXi host:
ntpq -p
If NTP is working correctly on the ESXi host, you’ll see something similar to the following:
remote refid st t when poll reach delay offset jitter
==============================================================================
*118.163.81.61 198.18.0.3 2 u 841 1024 377 1.967 0.414 0.362
If NTP is not working correctly on the ESXi host, you’ll see something more like this:
remote refid st t when poll reach delay offset jitter
==============================================================================
193.168.1.100 .INIT. 16 u - 1024 0 0.000 0.000 0.000
If you don’t see an asterisk (“*”) in the “remote” column, as shown above, NTP is likely not working correctly.
Other indications of trouble include a “-” in the “when” column and zeros in many of the other columns.
http://kb.vmware.com/kb/57146
NOTE vSphere Cluster Services (vCLS) agent VMs are approved for use in compliant benchmark runs.
44 Broadcom
Chapter 3 Prepare the Infrastructure for VMmark 4.0 Benchmark Tests
For questions about non-VMmark virtual machines in the VMmark systems under test cluster, contact
VMware at [email protected].
Broadcom 45
VMmark User’s Guide
NOTE VMmark and the benchmark hardware and software components (vCenter, ESXi, and the VMmark
template, clients, workload virtual machines, systems under test, storage, etc.) must be used only in an isolated
test environment. None of the benchmark hardware or software components can ever be connected to a
production network or transitioned to a production environment.
http://www.vmware.com/products/vmmark.html
1 From the vSphere Client, in the inventory pane, select Hosts and Clusters.
2 If needed, expand the tree on the left hand side to show your clusters.
4 Select Actions on the top bar, then select Deploy OVF Template.
5 Under Select template, click Local file, browse to select the .ova template file, then click Next.
6 Under Select name and location, leave the Name: field at the default, select the folder to which you’d like
to deploy the template, then click Next.
NOTE The VMmark 4 template must be placed in the systems under test cluster.
7 Under Select a resource, select where you’d like to run the template, then click Next.
9 Under Select storage, change the virtual disk format if desired, select the datastore where you’d like to
deploy the .ova, then click Next.
NOTE The disk type (that is, Thin, Thick Lazy, or Thick Eager) of the primary disk for provisioned VMs
will be equivalent to the selection used for the template.
The disk type (that is, Thin, Thick Lazy, or Thick Eager) of any additional disks for provisioned VMs is
controlled by the value of the extra_disk_mode parameter in the VMmark4.properties file.
10 Under Select networks, select your external network (which is VM Network by default), then click Next.
46 Broadcom
Chapter 3 Prepare the Infrastructure for VMmark 4.0 Benchmark Tests
NOTE Though this virtual machine is referred to as the “VMmark template,” it should be left as a virtual
machine as opposed to converting it to a template in vCenter.
a From the vSphere Client, right-click on the newly-deployed VMmark template and select Edit
Settings....
d Make sure time synchronization is activated by placing marks in the check boxes for both the
Synchronize at startup and resume (recommended) and Synchronize time periodically options.
e Click OK.
2 If desired, change the passwords for the VMmark template’s root and vmmark4 accounts. These changes
propagate from the VMmark template to the VMmark prime client and to the tiles provisioned by that
prime client.
1 From the vSphere Client, right click on the newly-deployed VMmark-4.*.*-nnn virtual machine and select
Clone > Clone to Virtual Machine….
2 Under Select a name and folder enter PrimeClient, select the location for the prime client, then click
Next.
3 Under Select a compute resource, expand the tree and select your VMmark client cluster (and, if DRS is
not activated for the client cluster, select an ESXi host), then click Next.
4 Under Select storage, select your desired datastore to provision the prime client, then click Next.
NOTE You can also change the virtual disk format and/or the VM storage policy if desired.
5 Under Select clone options, don’t select any options (remove the check from Customize the virtual
machine’s hardware if it’s checked), then click Next.
7 Once the clone process is complete, edit the prime client’s settings as follows:
a Right click on the prime client virtual machine and select Edit Settings....
Broadcom 47
VMmark User’s Guide
NOTE This disk is used to store benchmark test results; making it larger provides room to store more
test results. The size of each test result directory depends on various factors, such as the number of
tiles, the number of hosts, inclusion of esxtop data, etc. Each result might take 1GB or more.
e Click OK.
NOTE This document is written for environments with two prime client NICs (as described above).
Configuring the prime client with only one NIC (connected to the private network) is not covered in this User's
Guide but is nevertheless a compliant configuration for benchmarking purposes.
4 Configure the network settings for the first network adapter, which will connect to the external network:
a Click Applications (in the upper left corner), select Settings, then select Advanced Network
Configuration.
b Select the first network adapter, then click the Settings wheel.
d Select IPv4 Settings, select a method, and configure other network settings as needed (i.e., Address,
Netmask, Gateway, DNS, etc.) for a public IP address.
e Click Save.
5 Configure the network settings for the second network adapter, which will connect to a private network:
a Click Applications (in the upper left corner), select Settings, then select Advanced Network
Configuration.
b Select the second network adapter (typically VM Network or VMware Ethernet), then click the
Settings wheel.
d Select IPv4 Settings, select a method, and configure other network settings as needed (i.e., Address,
Netmask, Gateway, DNS, etc.) for a private IP address.
NOTE To use the default private IP address for the prime client, select Method Manual, then click
Add. Use Address 198.18.4.251 and Netmask 255.255.0.0; leave Gateway blank. Using these
values will reduce the amount of input required later for provisioning and running.
e Click Save.
f Restart the virtual machine. One way to accomplish this is by opening a terminal entering the
command reboot now.
48 Broadcom
Chapter 3 Prepare the Infrastructure for VMmark 4.0 Benchmark Tests
6 Convert this virtual machine into the prime client by running the make-prime script:
a Click Applications (in the upper left corner) and select Terminal emulator.
Follow these steps to make sure the prime client is configured for the correct time zone:
NOTE The prime client, tile clients, and all workload virtual machines must be set to the same time zone.
This step describes how to set the time zone for the prime client. This does not, however, set the time zone
for the tile clients and the workload virtual machines. You can set those time zones during tile
provisioning, as described in “Use Quick Start to Deploy and Run the Benchmark” on page 50.
NOTE Though you can change the default time zone from America/Los_Angeles to suit your
environment, the prime client, tile clients, and all workload virtual machines must be left at their default
US localization, which ensures that the time and date are in the format expected by the VMmark harness.
a In a terminal window on the prime client, run the date command to determine the prime client’s
current time zone. If it outputs the default time zone of America/Los_Angeles, and that is correct for
your environment, skip ahead to “Configure Passwordless SSH”.
b List the available time zones, and locate the correct one for your environment:
timedatectl list-timezones
d Make a note of what time zone you set in this section; you will need to set the same time zone when
you later use Quick Start mode to provision the first tile and again when you add additional tiles.
e Restart the virtual machine. One way to accomplish this is by opening a terminal and entering the
command:
reboot now
1 Activate SSH for all SUT and client ESXi hosts as described in Enable ESXi Shell and SSH Access with the
Direct Console User Interface.
2 Open a Web Console or Remote Console to the prime client VM and log in as root.
(Default root password: vmmark4.)
3 Click Applications (in the upper left corner) and select Terminal emulator.
4 In the terminal window run the following script for each SUT and client ESXi host and the vCenter Server:
VMmark4-Configure-Passwordless-SSH.exp HOSTNAME ‘PASSWORD’
(replacing HOSTNAME with each hostname and PASSWORD with the password for that host, and ensuring
that the password is enclosed in single quotes.)
For example:
VMmark4-Configure-Passwordless-SSH.exp esx-sut-host1 'password!'
VMmark4-Configure-Passwordless-SSH.exp esx-sut-host2 'password!'
VMmark4-Configure-Passwordless-SSH.exp esx-client-host1 'password!'
Broadcom 49
VMmark User’s Guide
5 Still on the prime client, confirm that passwordless SSH works by using SSH to remotely run the “date”
command on each ESXi host and the vCenter Server:
ssh ESXihost date
You should see the date displayed without being prompted for a password. If you are prompted for a
password, double-check that all of the commands above were entered correctly.
WARNING Once a VMmark tile is provisioned, it should not be deleted using vCenter, either through the GUI
or PowerShell. Doing so will leave orphaned Persistent Volume Claim entities (PVCs) in Kubernetes that will
take up space on the datastore and are difficult to identify. Instead, delete tiles by following the instructions in
“Delete VMmark 4 Tiles” on page 74.
NOTE As an alternative to Quick Start mode, users can manually provision the benchmark, as described in
“Manually Provision the Benchmark” on page 69.
NOTE In previous versions of VMmark, users might have used vMotion or Storage vMotion to move VMmark
tiles off the cluster or datastore where they were originally created.
In VMmark 4, the tiles include Weathervane Kubernetes workloads. These workload virtual machines use
vSphere Container Storage; they can’t be moved off the cluster or datastore on which they were created.
Instead, the VMmark tile should be deleted as described in “Delete VMmark 4 Tiles” on page 74, and later
reprovisioned.
For this reason, you should create tiles on the cluster and datastore where you’ll be performing the VMmark
benchmark runs.
NOTE If you have set your prime client to a time zone other than the default of America/Los_Angeles, you’ll
also need to set the time zone using the --time_zone parameter in vmmark4service.
Parameters can also be included in a Quick Start mode command and vmmark4service will prompt for any
missing required parameters. Note that some vmmark4service parameter defaults can be overwritten by
supplying that parameter to allow Quick Start mode to operate in a wider variety of environments. Quick Start
can completely provision one or more tiles, update the /etc/hosts file, generate a
VMmark4-quickstart.properties file, and perform a benchmark run.
50 Broadcom
Chapter 3 Prepare the Infrastructure for VMmark 4.0 Benchmark Tests
NOTE If you have set your prime client to a time zone other than the default of America/Los_Angeles, you’ll
also need to set the time zone using the --time_zone parameter in vmmark4service.
Example use of Quick Start mode (including some optional parameters described in the following section):
OUTPUT=quickstart-test1.txt
nohup vmmark4service --mode quick_start --vcenter_ip '<ip_addr>' \
--vcenter_password '<password>' --datacenter '<datacenter>' --cluster '<cluster>' \
--client_cluster '<cluster2>' --tile_number 1 --provisioning_source '<template-VM>' \
--datastore '<datastore_name>' --client_datastore '<client_datastore>' \
--infra_datastore '<different_datastore>' \
--network_label 'testbed' > $OUTPUT 2>&1 & \
--network_switch_type 'dvswitch' \
--time_zone ‘US/Central’
NOTE For more example uses of vmmark4service, including powering on VMs and deleting a tile, see:
/root/VMmark4/examples/
NOTE If you will use non-default values for any of the standard parameters in your VMmark environment
(the prime client IP address, the static IP address range for VMs, etc.), these should be passed to the
VMmark4-quickstart.properties file using the quick_start_options parameter even if they were
included as Quick Start parameters.
Alternatively, you can create your own VMmark4.properties file using the provision mode.
By default, VMmark masks the vCenter password within the VMmark results files. To change this behavior,
the mask_password parameter can be set to 0 (default 1) to include the password in these files. For example,
you could include in the quick_start_options:
--mask_password = 0
The default provisioning_mode for quick_start is one datastore. If this is not the provisioning_mode
selected, you need to add the --csi_datastore parameter. See the vmmark4service help for details.
Broadcom 51
VMmark User’s Guide
If you are using a distributed vSwitch for your VMmark network, add to your Quick Start command:
--network_switch_type 'dvswitch'
NOTE If you will be using a distributed vSwitch, it needs to be configured with ephemeral port bindings.
Optionally, you can modify the runtime_seconds parameter to change from the default Quick Start run
duration of 30 minutes. For details see “Set the runtime_seconds Parameter” on page 69.
If the previous Quick Start command created VMmark VMs but did not complete successfully, use the
vmmark4service mode delete_all_vmmark4 to delete all VMmark VMs except for the prime client.
VMmark VMs should be deleted using the vmmark4service mode delete_all_vmmark4, not using the
vCenter Server Client user interface.
Example delete_all_vmmark4 command which will delete 1 tile:
/root/VMmark4/tools/vmmark4service --mode delete_all_vmmark4 \
--vcenter_ip <ip_addr> --vcenter_username <vc_username> \
--vcenter_password <password> --datacenter <datacenter> \
--cluster <sut_cluster> --datastore <datastore> --csi_datastore <datastore> \
--tile_number 1 | tee <output_file>
After using delete_all_vmmark4, run the Quick Start command again with corrected values.
4 If there was an error during execution of the benchmark that isn't shown in the workload .wrf file, the
VMmark4-STAX*.log might be helpful. From the relevant results directory run:
less VMmark4-STAX*
2 Modify the VMmark4.properties file as needed. Because you provisioned one tile in the previous step,
use the parameter Tiles = 1 in VMmark4.properties.
52 Broadcom
Chapter 3 Prepare the Infrastructure for VMmark 4.0 Benchmark Tests
3 You can start the benchmark either using a GUI or through command line options. To use the GUI, start
STAX by double-clicking the VMmark4-STAX icon on the desktop. (You can also start STAX by entering
VMmark4-STAX.sh from a terminal window.)
NOTE Alternately, to start a benchmark run via the command line, enter the following:
VMmark4-STAX-console.py -c <path to vmmark4 properties> -j <job_name>
For more information on this topic, see “Start a VMmark Run Without a GUI” on page 58.
4 If the XML Job File is not already be pre-populated, within the STAX UI:
c Browse to /root/VMmark4/source/vmmark4_main.xml.
d Optionally, to use a properties file with a different filename than the default VMmark4.properties:
NOTE The default VMmark4.properties filename is used throughout this User’s Guide and other
VMmark documentation. If you chose to use an alternate properties filename, be sure to substitute
the alternate name as required.
iv Specify the full path to the alternate properties filename, and click Save.
6 A completed run results in an output or terminal window containing something similar to:
STAX Job Monitor Machine:local JobID:1 <Completed>
8 If there was an error during execution of the benchmark that isn't shown in the workload .wrf file, the
VMmark4-STAX*.log might be helpful. From the relevant results directory run:
less VMmark4-STAX*
Broadcom 53
VMmark User’s Guide
1 Confirm that you have sufficient disk space and other resources for the number of tiles you plan to add.
For details, see “VMmark Benchmark Requirements” on page 31.
3 Copy the vmmark4service command you used for the Quick Start process, but with the following
changes:
For example:
OUTPUT=provision-second-tile.txt
nohup vmmark4service --mode provision --vcenter_ip <ip_addr> \
--vcenter_password '<password>' --datacenter <datacenter> --cluster <cluster> \
--client_cluster <cluster2> --tile_number 2 --provisioning_source <template-VM> \
--datastore <datastore_name> --client_datastore <client_datastore> \
--infra_datastore '<different_datastore>' --network_label 'testbed' > $OUTPUT 2>&1 &
4 Double check the /etc/hosts file on your prime client to ensure everything is configured correctly.
In addition to these baseline infrastructure operations, additional instances of these infrastructure operations
are performed in larger environments. If your VMmark system under test cluster contains four or more hosts
and you run four or more tiles, VMmark performs these additional instances of infrastructure operations. The
number of simultaneous infrastructure operations is half of the smaller of either the number of hosts or the
number of tiles, rounded down to an integer; that is:
Calculate this number, then record it for use later in the preparation process. (This number will determine how
many copies of the template you’ll need to make and how many instances will be required to be entered in the
DeployVMinfo parameter in the VMmark4.properties file.)
2 Any 1
3 Any 1
4 Up to 3 1
4 4+ 2
54 Broadcom
Chapter 3 Prepare the Infrastructure for VMmark 4.0 Benchmark Tests
5 Up to 3 1
5 4+ 2
6 Up to 3 1
6 4-5 2
6 6+ 3
Create enough additional copies of the VMmark template for all the simultaneous infrastructure operations
your environment will need (as calculated in “Calculate the Number of Simultaneous Infrastructure
Operations” on page 54), naming the copies with the template name, a hyphen, and a sequential number. For
example, if the original template was named VMmark-4.0.0-100, you’d name these copies
VMmark-4.0.0-100-2, VMmark-4.0.0-100-3, VMmark-4.0.0-100-4, and so on.
Note the names of these copies for later use, to be entered under Deploy/Templates when you edit the
VMmark4.properties file.
Changes that could cause problems include, but are not limited to, installing, updating, or removing software.
a Click Applications (in the upper left corner), select Settings, then select Display.
NOTE To set the resolution to anything above 1280x768, the prime client virtual machine’s video card
Total video memory needs to be increased from its default of 4MB (16MB would be a reasonable value).
a Install PowerShell:
https://learn.microsoft.com/en-us/powershell/scripting/install/install-ubuntu?view=powershell-7.4
b Install PowerCLI:
https://developer.broadcom.com/powercli/installation-guide
NOTE If any of the changes in this section are made, those changes must be made to all workload VMs of the
same type, across all tiles.
Broadcom 55
VMmark User’s Guide
NOTE VMware is aware of a potential issue in which the numeric value for resource shares shown within the
vCenter user interface and the resulting VC cluster report text files might not reflect the actual values.
We recommend reviewing the corresponding virtual machine .vmx files to confirm what share values are
actually configured.
NOTE Upgrading the virtual hardware version is supported; downgrading the virtual hardware version is
not supported.
One virtual disk can be replaced with one virtual persistent memory (PMem) device.
If any such replacements are made, you can also install in the guest operating system any supporting software,
such as drivers or configuration tools, required to support those devices.
Mem.BalancePeriod
Mem.SamplePeriod
The disk type (that is, Thin, Thick Lazy, or Thick Eager) of any additional disks for provisioned VMs is
controlled by the value of the extra disk mode parameter in the VMmark4.properties file or passed
to vmmark4service.
56 Broadcom
Run the VMmark Benchmark 4
This chapter describes the process of running the VMmark benchmark. It consists of the following sections:
NOTE When performing a benchmarking run, it's best to have powered on only those VMs that are being used
in the run.
To power off tiles in an environment, open a terminal window on the prime client and run:
cd ~/VMmark4
vmmark4service -m power_vmmark4_tiles -c VMmark4.properties -t n --tile_state off
(where n is the number of tiles to power off; for example, if n=3, tiles 0, 1, and 2 will be powered off).
To power on tiles in an environment, open a terminal window on the prime client and run:
cd ~/VMmark4
vmmark4service -m power_vmmark4_tiles -c VMmark4.properties -t n
(where n is the number of tiles to power on; for example, if n=2, tiles 0 and 1 will be powered on).
1 From the prime client’s Web or vSphere Client console, start STAX using one of these methods:
To start STAX using the GUI, double click on the VMmark4-STAX icon on the desktop.
To start STAX using the command line, open a terminal window and enter the following:
VMmark4-STAX.sh
Broadcom 57
VMmark User’s Guide
b In the Job Info tab, local machine should be selected and Filename: should already be filled in. If
they’re not:
XML Job File > local machine > Filename
Browse... to /root/VMmark4/source/vmmark4_main.xml
c In the STAX 3 Job Monitor window, under the Job Info tab, under Job Options, enter a job name.
d Optionally, to use a properties file with a different filename than the default VMmark4.properties:
NOTE The default VMmark4.properties filename is used throughout this User’s Guide and other
VMmark documentation. If you chose to use an alternate properties filename, be sure to substitute
the alternate name as required.
NOTE Before proceeding, we strongly recommend changing the display resolution to higher than
the default 800x600 so the Job Wizard window is fully visible. This can be accomplished by following
the steps in the “Optional Configuration Changes to the VMmark Environment” on page 55.
iv Specify the full path to the alternate properties filename, and click Save.
The STAX Job Monitor window opens and STAX starts the VMmark harness. The current status of the
running workloads is shown in this window.
NOTE After the above information has been entered, you can use the Resubmit Previous Job button. The
names entered are remembered across restarts of the Monitor. STAX locates the latest VMmark4.properties
file and the XML Harness code each time.
58 Broadcom
Chapter 4 Run the VMmark Benchmark
Broadcom 59
VMmark User’s Guide
The benchmark captures the 60-second throughput measurements for each workload and stores them in files
with the .wrf (Workload Results File) suffix in the Results_<datestamp> directory. At the end of a compliant
test run, the average throughput scores for each workload are recorded in the Score_N_Tile_Test.txt file
(where N is the number of tiles in the test) along with the normalized scores and the composite VMmark metric.
The Score_N_Tile_Test.txt file, a sample of which is included below, contains additional details of the test,
such as duration, start time, and end time as well as:
TILE_N_Scores: The actual workload scores for each VM during each of the three test phases (p0, p1, and
p2).
For DVD Store workloads, this metric represents average application latencies in milliseconds. When
the average application latencies exceed the workload's QoS limit, the run is marked non-compliant,
as indicated by an asterisk for the test phase in question.
For Weathervane Auction (VM) and Weathervane Auction (Kubernetes), two metrics are displayed,
separated by a bar:
The metric to the left of the bar represents the normalized average response times for all the
various operation types Weathervane performs during a run. Each operation’s response time is
normalized against that operation’s QoS limit.
When any Weathervane operation type’s 99th percentile response time exceeds that operation’s
QoS limit, an asterisk on the relevant test phase marks the run as non-compliant.
The metric to the right of the bar is related to the percentage of operations that failed QoS
requirements. VMmark calculates the percentage of operations within each operation type that
failed QoS requirements then displays in this position the maximum percentage across any
operation type. When this value is greater than 0.5, an asterisk (*) on the relevant test phase
marks the run as non-compliant.
Additionally, to ensure benchmark consistency from run to run, the proportion of each operation
type in the overall mix of operations must match a proportion requirement. When this
proportion is violated, a plus sign (+) on the relevant test phase marks the run as non-compliant.
The composite VMmark score at the bottom of the Score_N_Tile_Test.txt file is the median of the sums
of each phase’s geometric mean per tile.
The VMmark4-Graph-Throughput.html file plots the application throughput of each VMmark workload over
time for each tile. The VMmark4-Graph-QoS.html file plots the quality of service (QoS) of each VMmark
workload over time for each tile. The VMmark4-Graph-Infrastructure-Ops.html file plots the time it took
for the infrastructure operations to complete over the duration of the run. These graphs help provide an
in-depth and visually intuitive look at performance during the run.
The STAX_Job_N_User.log uses a default format that can be awkward to read. An easier-to-read processed
version, VMmark4-STAX_Job_N_User-Parsed.log, is included in the results directory. The only difference
between the two is their format.
60 Broadcom
Chapter 4 Run the VMmark Benchmark
p0_score = 1.04
p1_score = 1.05
p2_score = 1.05
Warnings Messages::
p0 : WVAuctionVM0 Exceptions : 59
p0 : WVAuctionK8S0 Exceptions : 14
p1 : WVAuctionVM0 Exceptions : 58
p1 : WVAuctionK8S0 Exceptions : 11
p2 : WVAuctionVM0 Exceptions : 75
p2 : WVAuctionK8S0 Exceptions : 14
rampdown : WVAuctionVM0 Exceptions : 37
rampdown : WVAuctionK8S0 Exceptions : 35
Summary ::
Broadcom 61
VMmark User’s Guide
Run_Is_Compliant
Median_Phase : p2
Unreviewed_VMmark4_Applications_Score : 1.05
Unreviewed_VMmark4_Infrastructure_Score : 1.03
Unreviewed_VMmark4_Score : 1.05 @ 1 Tiles
62 Broadcom
Chapter 4 Run the VMmark Benchmark
Make sure your prime client is configured to log in without a password to your vCenter Server and every
ESXi hosts in your VMmark environment, as described in “Configure Passwordless SSH” on page 49.
Verify the Reporter is enabled and set the Disclosure Settings in the VMmark4.properties file, then run
a compliant test.
Verify the Reporter is enabled and set the Disclosure Settings in the
VMmark4.properties file, then run a compliant test
When you are satisfied with your benchmark run and are ready to submit the results, you need to run a full
test with the Reporter enabled. You can also optionally set the Disclosure Settings in the VMmark4.properties
file. To do so:
2 (This step is optional, but recommended) Still in the VMmark4.properties file, go to the bottom,
uncomment the lines that start with # Disclosure/, and change them to suite your environment. For
example:
Before:
# String Disclosure/TestedBy : Default empty : Specifies who ran the benchmark test.
# Disclosure/TestedBy = <TesterName>
# String Disclosure/SUTAvailabilityDate : Default MM-DD-YYYY : Specifies the date
when all components of the SUT are publicly available
# Disclosure/SUTAvailabilityDate = <MM-DD-YYYY>
(etc.)
After:
# String Disclosure/TestedBy : Default empty : Specifies who ran the benchmark test.
Disclosure/TestedBy = Broadcom
# String Disclosure/SUTAvailabilityDate : Default MM-DD-YYYY : Specifies the date
when all components of the SUT are publicly available
Disclosure/SUTAvailabilityDate = 12-31-2024
(etc.)
The VMmark harness automatically gathers information about the workload virtual machines, the ESXi
virtualization hosts, and the vCenter server, and places that information in the results directory.
Broadcom 63
VMmark User’s Guide
NOTE If your prime client is not connected to the Internet, you may see warning messages about not
being able to download files/updates. These are expected and can be ignored.
2 Copy the template disclosure.html file from the tools directory to the results directory:
cp ~/VMmark4/tools/disclosure.html .
NOTE If you used disclosure_creator, many fields will have been automatically filled in, thus the fields
below will already be populated. Nevertheless, all fields must be reviewed for accuracy.
1 Replace ### @ ### Tiles with the score and tile count from the VMmark4-Results-Table.html file.
2 In the section titled Performance, replace ### with the contents of the VMmark4-Results-Table.html
file.
3 Search for all remaining instances of ### and replace ### with the appropriate details of your system
configuration and data about the benchmark run. Keep in mind the following points:
For vSAN results specify in the storage section whether this result used vSAN OSA (Original Storage
Architecture) or vSAN ESA (Express Storage Architecture).
For benchmark runs with non-identical servers, make additional copies of the relevant sections of the
template disclosure.html file as needed to describe the servers.
Networking Notes must disclose assignment of virtual machines and vmnics to virtual switches.
In the Primary Storage section, provide details of the storage used for the application workload
virtual machines. For benchmark runs using multiple storage solutions, list all such solutions in the
Primary Storage section and number each one.
64 Broadcom
Chapter 4 Run the VMmark Benchmark
If the infrastructure target storage (that is, the storage used for the Storage vMotion, Cross-host
Storage vMotion, and deploy targets) or the deploy template are located somewhere other than on
the primary storage hardware, the details for that other storage must be included in the Storage Notes
section.
All disclosures of non-default values or settings must also disclose the default value or setting:
<parameter> = <non-default value> (default <default value>)
The Virtualization Software Notes section must state the DRS Migration threshold. To find this value,
in your results folder open the VC-ClusterReport.txt file. Under the heading VMmark4 Cluster
Information, you'll see DRS Threshold N (where N is your DRS threshold). Disclose this value in the
Virtualization Software Notes section as follows:
DRS Migration threshold set to level N
(substituting your DRS threshold for N).
NOTE There is a potential point of confusion between the DRS Migration threshold values
displayed in the vSphere Client GUI and the values shown in the above-mentioned file. The
correct values for the disclosure are those in the above-mentioned file.
MM-DD-YYYY strings are included in the template as examples and must be replaced with the relevant
month, day, and year.
Broadcom 65
VMmark User’s Guide
66 Broadcom
Optional Configurations and Settings A
This appendix provides information about optional configurations for many of the programs and utilities used
to perform the VMmark benchmarking tests.
This section describes how to configure a copy of the VMmark 4 template as an NFS datastore. This is not
required if you already have a second datastore available.
2 Configure networking to the NFS server VM so that it can communicate with the SUT ESXi hosts.
e Grant access to the client system from all the ESXi hosts in the SUT cluster:
i Open /etc/exports for editing.
ii Update /etc/exports to include individual entries for each host from which you’ll want to
mount the newly created NFS share (changing the IP addresses for your environment):
/mnt/nfs_share 10.159.208.6(rw,async,no_subtree_check)
/mnt/nfs_share 10.159.208.7(rw,async,no_subtree_check)
.
.
Broadcom 67
VMmark User’s Guide
i Make sure the NFS server starts up every time the VM is powered on:
sudo systemctl enable nfs-kernel-server
5 Once the NFS server VM is up and running, create an NFS datastore using this server:
a In your vCenter navigate to Actions --> <SUT Cluster> --> Storage --> New Datastore.
b In the New Datastore pop up, select the option to Create an NFS datastore on an NFS share over the
network.
The name of the folder you created when configuring the NFS server (for example,
/mnt/nfs_share).
The server (the NFS server virtual machine’s IP address you configured in Step 2, above).
e Select the hosts from which you want the NFS datastore to be accessible (this is typically all the hosts
in the SUT cluster).
f Click Finish.
68 Broadcom
Appendix A Optional Configurations and Settings
NOTE The above example uses a non-default IP address scheme to show the relevant options. If the default
IP address scheme (198.18.4.*) is used, the options above with 192.168.1.* IP addresses could be omitted.
The default value for the runtime_seconds parameter is 120. When Quick Start encounters this default value,
it takes the following actions:
If quick_start mode is used and the runtime_seconds parameter is left at the default (120 seconds):
TurboMode = 1 (in addition to any other parameters the user adds) is pushed into the automatically
created VMmark4-quickstart.properties file.
If quick_start mode is used and the runtime_seconds parameter is set by the user to some value other than
120 (to 10800, for example):
Broadcom 69
VMmark User’s Guide
NOTE For each full tile and for any partial tile all application workloads must be powered on, regardless of
whether or not all of those workloads will be used. Thus, for example, running 2.2 tiles requires three full tiles
to be provisioned and powered on, even though from the third tile only the SocialNetwork workload will be
run.
You will get a notice in the Score file that the run is non-compliant and it will have only an application score
rather than a full VMmark 4 score, but you’ll otherwise have a complete test.
70 Broadcom
Troubleshooting B
This appendix provides assistance in troubleshooting the VMmark Benchmarking tests.
We expect this issue to be fixed in a future patch for vCenter 8.0 Update 3.
Until a patch is released, a workaround is, prior to the first VMmark 4 tile provisioning, delete the conflicting CNS
role(s) from vCenter (assuming those roles are not being used by an existing wcpsvc or vSphere Cloud Native
Storage configuration, including an existing VMmark 4 tile).
The initial provision following role deletion should create the roles with compatible names such that
subsequent provisions do not encounter issues.
Broadcom 71
VMmark User’s Guide
Error Similar to “Could not properly start the data services for run 1-0. Exiting.”
If you encounter STAX output such as:
“Could not complete Setup for the following 1 Wklds: Auction Tile0 failed setup”
and an error in restorefiles/ConfigAuction_0.txt similar to:
“Could not properly start the data services for run 1-0. Exiting.”
you might have inadvertently deleted the files backing the Persistent Volume Claim entities (PVCs) in
Kubernetes from your vSphere datastore. If this happens, you can delete the PVCs in Kubernetes (as described
in “Delete Weathervane PVCs Before Removing Kubernetes Cluster” on page 72), thus allowing Weathervane
to create new PVCs, or you can reprovision the VMmark tile.
The following PowerShell script can be used to list and remove such PVCs.
CAUTION This script will remove all PVCs accessible by the user, not just the leftover ones and not just those
created by VMmark. For this reason the removal code is commented out in the script below.
<#
#>
Write-host "Connecting to vCenter server.."
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
-DisplayDeprecationWarnings:$false -Scope User
Connect-VIServer -Server <ip_address> -User [email protected] -Password '<password>'
72 Broadcom
Appendix B Troubleshooting
If you see Timed out waiting for server response errors, continue with the steps below.
If you don't see any errors, this is not the issue. For questions, contact VMware at
[email protected].
3 Verify that your VMmark environment meets the requirements listed in “Client Hardware Requirements”
on page 33.
4 NoSQLBench errors on the clients can be resolved by increasing the number of vCPUs on your client VMs,
for example from the default of 64 vCPUs to 72 vCPUs. If you make this change, be sure to apply it to all
client VMs.
5 Reboot your client VMs and rerun the benchmark to see if the issue is resolved.
Sometimes the Maximum Performance setting in BIOS can disable MWAIT by default. It should nevertheless
be possible to enable MWAIT in BIOS (where it might be called MONITOR/MWAIT).
Broadcom 73
VMmark User’s Guide
1 Go to the STAX Monitor window and right-click on the active job. Select Terminate Job.
For example:
bash VMmark4-CancelTest.sh /root/VMmark4/results/Results_testrun-2tiles-R1
/root/VMmark4/VMmark4.properties
This script stops the test’s running processes on all client and workload VMs and attempts to copy each
tile’s workload output files (.wrf) into the specified results directory.
Check that the Storage vMotioned and XvMotioned VMs (AuctionWebF and DS35WebA) are on their
original datastore, rather than on the SVMotionLUN or XVMotionLUN specified in the
VMmark4.properties file.
Reboot all workload virtual machines and all clients except the prime client.
After a benchmark run cancels automatically, do the following to prevent issues with subsequent runs:
Check that the Storage vMotioned and XvMotioned VMs (AuctionWebF and DS35WebA) are on their
original datastore, rather than on the SVMotionLUN or XVMotionLUN specified in the
VMmark4.properties file.
Reboot all workload virtual machines and all clients except the prime client.
NOTE Specifying 1 here indicates the first tile, which is tile 0; 2 indicates the second tile, which is tile 1,
and so on.
What is not supported is deleting tiles using vCenter through the GUI or PowerShell. This is discussed in more
detail in “Delete Weathervane PVCs Before Removing Kubernetes Cluster” on page 72.
74 Broadcom
Appendix B Troubleshooting
NOTE The VMmark4-ConfigChecker script supports only results run on vSphere 8.0 Update 2 or later.
The script is supplied as part of the VMmark benchmark (in the ~/VMmark4/tools directory).
3 Review the output of the script. The detailed results of each check are written to the
vmmarkconfigchecker-results subdirectory.
NOTE The script decompresses reporter files (with the .tar.xz extension) in the results directory, which
creates subdirectories for the vCenter Server and all ESXi hosts. Once you’re ready to submit your results, run
VMmark4ConfigChecker.pl --cleanup to delete the reporter and vmmarkconfigchecker-results
subdirectories.
Additional points:
For help, a list of configuration details that are checked, and command line options, run:
VMmark4-ConfigChecker.pl -h
You are encouraged to extend the mechanisms utilized in the script to add additional functionality. If you
need assistance extending the script, please contact VMware at [email protected].
Broadcom 75
VMmark User’s Guide
Run only the reporter script that is needed to replace the one that did not complete correctly. Before running
the VMmark reporter script manually, ensure that:
the testbed configuration is the same as it was during the test run,
all the virtual machines that were powered on during the test was run are powered on, and
no additional virtual machines (that were not on during the test run) are powered on.
For each ESXi host and/or vCenter Server for which the reporter bundle is needed, run this command,
replacing <hostname> with the hostname or IP address of the ESXi host and/or vCenter Server:
VMmark4-Reporter.sh <hostname> > Reporter-<hostname>-manual.out 2>&1
For example: VMmark4-Reporter.sh 10.211.197.12 > Reporter-10.211.197.12-manual.out 2>&1
The script will take a few minutes to complete and the new .tar.xz bundle,
Reporter-<hostname>manual.out and ReporterResult<hostname>.txt will be saved into the
/root/VMmark4/results/Reporter_Manual directory.
You can display the directions to run the reporter manually by running the following on the prime client:
VMmark4-Reporter.sh
76 Broadcom
Appendix B Troubleshooting
1 To enable esxtop collection on all SUT hosts, set the EsxtopCollection parameter to 1 in the
VMmark4.properties file:
EsxtopCollection = 1
2 Specify a LUN on which the esxtop file should be saved (it must be shared storage for the systems under
test):
EsxtopLUN = LUN-NAME
(where LUN-NAME is your datastore name).
3 To enable esxtop collection on all client hosts, set the ClientEsxtopCollection parameter to 1 in the
VMmark4.properties file:
ClientEsxtopCollection = 1
4 Specify a LUN on which the esxtop file should be saved (it must be shared storage for the systems under
test):
ClientEsxtopLUN = LUN-NAME
(where LUN-NAME is your datastore name).
1 Run VMmark.
2 Transfer the VMmark results folder to wherever you put the NMONVisualizer .jar file.
3 The VMmark results folder will include files like HOSTNAME-Esxtop-SUT.csv.gz and
HOSTNAME-Esxtop-Client.csv.gz. Unzip these .gz files.
NOTE When unzipped, these files can be very large (200MB or more).
3 Browse to the VMmark results folder where you unzipped the .gz file. In that folder, locate a .csv file. It
will be something like HOSTNAME-Esxtop-SUT.csv or HOSTNAME-Esxtop-Client.csv.
Broadcom 77
VMmark User’s Guide
4 Click Parse.
NOTE This operation can be slow. If loading freezes, you might need to increase the amount of system
memory allowed for NMONVisualizer. For example, to set the maximum size of the memory allocation
pool to 10GB, open NMONVisualizer use the command:
java -Xmx10g -jar NMONVisualizer_.jar*
% Core Util Time is the metric typically used to represent CPU utilization, though there are several other
metrics available that measure utilization slightly differently.
The bottom pane in NMONVisualizer shows the average, minimum, maximum, and so on over the interval.
Note that this interval includes the benchmark ramp-up, not just the steady state. If you want to see just the
utilization over the steady state, the start and end time of the steady state period can be found in
Score_N_Tile_Test.txt on the lines Steady_state_start and Steady_state_end. ESXi hosts use the
UTC timezone, so use the UTC timezone timestamps on that line in reference to the esxtop files.
In addition to CPU utilization, all the other performance metrics are in the same file and can be analyzed in a
similar manner.
78 Broadcom
Potential Security Vulnerabilities C
VMmark uses a wide variety of open source software. In some cases, that software has known security
vulnerabilities. The VMmark team believes that the risks of using VMmark are minimal due to the
non-sensitive nature of the data VMmark contains and creates as well as it being run within an isolated,
non-production environment. However, each organization must make their own risk assessment. To assist in
doing so, this Appendix provides details of the known security vulnerabilities with a CVSS3 score of 9.0 or
greater contained in the latest release of VMmark 4.0.
Broadcom 79
VMmark User’s Guide
Package Name:
zlib1g-1:1.2.13.dfsg-1
Vulnerability: CVE-2023-45853
CVSS3 Base Score: 9.8
Description:
MiniZip in zlib through 1.3 has an integer overflow and resultant heap-based buffer overflow in
zipOpenNewFileInZip4_64 via a long filename, comment, or extra field. NOTE: MiniZip is not a supported
part of the zlib product.
80 Broadcom
Appendix C Potential Security Vulnerabilities
Package Name:
GNU C Library-2.32
Vulnerability: CVE-2019-1010022
CVSS3 Base Score: 9.8
Description:
DISPUTED ** GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass stack
guard protection. The component is: nptl. The attack vector is: Exploit stack buffer overflow vulnerability and
use this bypass vulnerability to bypass stack guard. NOTE: Upstream comments indicate "this is being treated
as a non-security bug and no real threat."
Vulnerability: CVE-2021-33574
CVSS3 Base Score: 9.8
Description:
The mq_notify function in the GNU C Library (aka glibc) has a use-after-free. It may use the notification thread
attributes object (passed through its struct sigevent parameter) after it has been freed by the caller, leading to
a denial of service (application crash) or possibly unspecified other impact.
Vulnerability: CVE-2021-35942
CVSS3 Base Score: 9.1
Description:
The wordexp function in the GNU C Library (aka glibc) through 2.33 may crash or read arbitrary memory in
parse_param (in posix/wordexp.c) when called with an untrusted, crafted pattern, potentially resulting in a
denial of service or disclosure of information. This occurs because atoi was used but strtoul should have been
used to ensure correct calculations.
Vulnerability: CVE-2022-23218
CVSS3 Base Score: 9.8
Description:
The deprecated compatibility function svcunix_create in the sunrpc module of the GNU C Library (aka glibc)
through 2.34 copies its path argument on the stack without validating its length, which may result in a buffer
overflow, potentially resulting in a denial of service or (if an application is not built with a stack protector
enabled) arbitrary code execution.
Vulnerability: CVE-2022-23219
CVSS3 Base Score: 9.8
Description:
The deprecated compatibility function clnt_create in the sunrpc module of the GNU C Library (aka glibc)
through 2.34 copies its hostname argument on the stack without validating its length, which may result in a
buffer overflow, potentially resulting in a denial of service or (if an application is not built with a stack
protector enabled) arbitrary code execution.
Vulnerability: CVE-2023-0687
CVSS3 Base Score: 9.8
Broadcom 81
VMmark User’s Guide
Description:
A vulnerability was found in GNU C Library 2.38. It has been declared as critical. This vulnerability affects the
function __monstartup of the file gmon.c of the component Call Graph Monitor. The manipulation leads to
buffer overflow. It is recommended to apply a patch to fix this issue. VDB-220246 is the identifier assigned to
this vulnerability. NOTE: The real existence of this vulnerability is still doubted at the moment. The inputs that
induce this vulnerability are basically addresses of the running application that is built with gmon enabled.
It's basically trusted input or input that needs an actual security flaw to be compromised or controlled.
82 Broadcom
Appendix C Potential Security Vulnerabilities
Package Names:
busybox-1.30.1, busybox-initramfs-1:1.30.1-7ubuntu3, busybox-static-1:1.30.1-7ubuntu3
Vulnerability: CVE-2022-48174
CVSS3 Base Score: 9.8
Description:
There is a stack overflow vulnerability in ash.c:6030 in busybox before 1.35. In the environment of Internet of
Vehicles, this vulnerability can be executed from command to arbitrary code execution.
Broadcom 83
VMmark User’s Guide
Package Names:
php8.1-8.1.2-1ubuntu2.13, php8.1-readline-8.1.2-1ubuntu2.14, php8.1-opcache-8.1.2-1ubuntu2.14,
php8.1-common-8.1.2-1ubuntu2.14, php8.1-cli-8.1.2-1ubuntu2.14, php8.1-8.1.2-1ubuntu2.14,
libapache2-mod-php8.1-8.1.2-1ubuntu2.14
Vulnerability: CVE-2016-9138
CVSS3 Base Score: 9.8
Description:
PHP through 5.6.27 and 7.x through 7.0.12 mishandles property modification during _wakeup processing,
which allows remote attackers to cause a denial of service or possibly have unspecified other impact via
crafted serialized data, as demonstrated by Exception::toString with DateInterval::_wakeup.
84 Broadcom
Appendix C Potential Security Vulnerabilities
Package Names:
apparmor-3.0.4-2ubuntu2.2, libapparmor1-3.0.4-2ubuntu2.3
Vulnerability: CVE-2016-1585
CVSS3 Base Score: 9.8
Description:
In all versions of AppArmor mount rules are accidentally widened when compiled.
Broadcom 85
VMmark User’s Guide
Package Name:
libarchive13-3.6.0-1ubuntu1, libarchive-3.6.0
Vulnerability: CVE-2022-36227
CVSS3 Base Score: 9.8
Description:
In libarchive before 3.6.2, the software does not check for an error after calling calloc function that can return
with a NULL pointer if the function fails, which leads to a resultant NULL pointer dereference. NOTE: the
discoverer cites this CWE-476 remark but third parties dispute the code-execution impact: "In rare
circumstances, when NULL is equivalent to the 0x0 memory address and privileged code can access it, then
writing or reading memory is possible, which may lead to code execution."
86 Broadcom
Appendix C Potential Security Vulnerabilities
Package Names:
libc6-2.31-13+deb11u5, GNU C Library-2.36.9000 libc6-dev-2.36-9+deb12u4 libc6-2.36-9+deb12u4,
libc-dev-bin-2.36-9+deb12u4 libc-bin-2.36-9+deb12u4
Vulnerability: CVE-2019-1010022
CVSS3 Base Score: 9.8
Description:
DISPUTED ** GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass stack
guard protection. The component is: nptl. The attack vector is: Exploit stack buffer overflow vulnerability and
use this bypass vulnerability to bypass stack guard. NOTE: Upstream comments indicate "this is being treated
as a non-security bug and no real threat."
Vulnerability: CVE-2023-0687
CVSS3 Base Score: 9.8
Description:
A vulnerability was found in GNU C Library 2.38. It has been declared as critical. This vulnerability affects the
function __monstartup of the file gmon.c of the component Call Graph Monitor. The manipulation leads to
buffer overflow. It is recommended to apply a patch to fix this issue. VDB-220246 is the identifier assigned to
this vulnerability. NOTE: The real existence of this vulnerability is still doubted at the moment. The inputs that
induce this vulnerability are basically addresses of the running application that is built with gmon enabled.
It's basically trusted input or input that needs an actual security flaw to be compromised or controlled.
Broadcom 87
VMmark User’s Guide
Package Name:
github.com/moby/buildkit-v0.12.1
Vulnerability: CVE-2024-23652
CVSS3 Base Score: 9.1
Description:
BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable
manner. A malicious BuildKit frontend or Dockerfile using RUN --mount could trick the feature that removes
empty files created for the mountpoints into removing a file outside the container, from the host system. The
issue has been fixed in v0.12.5. Workarounds include avoiding using BuildKit frontends from an untrusted
source or building an untrusted Dockerfile containing RUN --mount feature.
Vulnerability: CVE-2024-23653
CVSS3 Base Score: 9.8
Description:
BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable
manner. In addition to running containers as build steps, BuildKit also provides APIs for running interactive
containers based on built images. It was possible to use these APIs to ask BuildKit to run a container with
elevated privileges. Normally, running such containers is only allowed if special `security.insecure`
entitlement is enabled both by buildkitd configuration and allowed by the user initializing the build request.
The issue has been fixed in v0.12.5. Avoid using BuildKit frontends from untrusted sources.
88 Broadcom
Appendix C Potential Security Vulnerabilities
Package Name:
OpenJPEG-v2.4.0
Vulnerability: CVE-2021-3575
CVSS3 Base Score: 7.8
Description:
A heap-based buffer overflow was found in openjpeg in color.c:379:42 in sycc420_to_rgb when decompressing
a crafted .j2k file. An attacker could use this to execute arbitrary code with the permissions of the application
compiled against openjpeg.
Broadcom 89
VMmark User’s Guide
Package Name:
Linux-Pam-v1.5.2
Vulnerability: CVE-2022-28321
CVSS3 Base Score: 9.8
Description:
The Linux-PAM package before 1.5.2-6.1 for openSUSE Tumbleweed allows authentication bypass for SSH
logins. The pam_access.so module doesn't correctly restrict login if a user tries to connect from an IP address
that is not resolvable via DNS. In such conditions, a user with denied access to a machine can still get access.
NOTE: the relevance of this issue is largely limited to openSUSE Tumbleweed and openSUSE Factory; it does
not affect Linux-PAM upstream.
90 Broadcom
Appendix C Potential Security Vulnerabilities
Package Name:
linux-libc-dev-6.1.76-1
Vulnerability: CVE-2024-26584
CVSS3 Base Score: N/A
Description:
In the Linux kernel, the following vulnerability has been resolved: net: tls: handle backlogging of crypto
requests Since we're setting the CRYPTO_TFM_REQ_MAY_BACKLOG flag on our requests to the crypto API,
crypto_aead_{encrypt,decrypt} can return -EBUSY instead of -EINPROGRESS in valid situations. For
example, when the cryptd queue for AESNI is full (easy to trigger with an artificially low
cryptd.cryptd_max_cpu_qlen), requests will be enqueued to the backlog but still processed. In that case, the
async callback will also be called twice: first with err == -EINPROGRESS, which it seems we can just ignore,
then with err == 0. Compared to Sabrina's original patch this version uses the new tls_*crypt_async_wait()
helpers and converts the EBUSY to EINPROGRESS to avoid having to modify all the error handling paths. The
handling is identical.
Broadcom 91
VMmark User’s Guide
Package Names:
Linux Kernel-5.17.6, Linux Kernel-v5.15.15, Linux Kernel-v5.16.18
Vulnerability: ZDI-23-979
CVSS Score: 5.9
Description:
This vulnerability allows remote attackers to create a denial-of-service condition on affected installations of
Linux Kernel. Authentication is not required to exploit this vulnerability, but only systems with ksmbd
enabled are vulnerable.
The specific flaw exists within the handling of chained requests. The issue results from dereferencing a NULL
pointer. An attacker can leverage this vulnerability to create a denial-of-service condition on the system.
Vulnerability: CVE-2022-43945
CVSS3 Base Score: 7.5
Description:
The Linux kernel NFSD implementation prior to versions 5.19.17 and 6.0.2 are vulnerable to buffer overflow.
NFSD tracks the number of pages held by each NFSD thread by combining the receive and send buffers of a
remote procedure call (RPC) into a single array of pages. A client can force the send buffer to shrink by sending
an RPC message over TCP with garbage data added at the end of the message. The RPC message with garbage
data is still correctly formed according to the specification and is passed forward to handlers. Vulnerable code
in NFSD is not expecting the oversized request and writes beyond the allocated buffer space.
Vulnerability: CVE-2022-47939
CVSS3 Base Score: 9.8
Description:
An issue was discovered in ksmbd in the Linux kernel 5.15 through 5.19 before 5.19.2. fs/ksmbd/smb2pdu.c
has a use-after-free and OOPS for SMB2_TREE_DISCONNECT.
Vulnerability: CVE-2023-5178
CVSS3 Base Score: 9.8
Description:
A use-after-free vulnerability was found in drivers/nvme/target/tcp.c` in `nvmet_tcp_free_crypto` due to a
logical bug in the NVMe/TCP subsystem in the Linux kernel. This issue may allow a malicious user to cause
a use-after-free and double-free problem, which may permit remote code execution or lead to local privilege
escalation.
Vulnerability: CVE-2023-38428
CVSS3 Base Score: 9.1
Description:
An issue was discovered in the Linux kernel before 6.3.4. fs/ksmbd/smb2pdu.c in ksmbd does not properly
check the UserName value because it does not consider the address of security buffer, leading to an
out-of-bounds read.
Vulnerability: CVE-2023-38430
CVSS3 Base Score: 9.1
92 Broadcom
Appendix C Potential Security Vulnerabilities
Description:
An issue was discovered in the Linux kernel before 6.3.9. ksmbd does not validate the SMB request protocol
ID, leading to an out-of-bounds read.
Vulnerability: CVE-2023-38431
CVSS3 Base Score: 9.1
Description:
An issue was discovered in the Linux kernel before 6.3.8. fs/smb/server/connection.c in ksmbd does not
validate the relationship between the NetBIOS header's length field and the SMB header sizes, via pdu_size in
ksmbd_conn_handler_loop, leading to an out-of-bounds read.
Vulnerability: CVE-2023-38432
CVSS3 Base Score: 9.1
Description:
An issue was discovered in the Linux kernel before 6.3.10. fs/smb/server/smb2misc.c in ksmbd does not
validate the relationship between the command payload size and the RFC1002 length specification, leading to
an out-of-bounds read.
Vulnerability: CVE-2023-40791
CVSS3 Base Score: 6.3
Description:
extract_user_to_sg in lib/scatterlist.c in the Linux kernel before 6.4.12 fails to unpin pages in a certain situation,
as demonstrated by a WARNING for try_grab_page.
Vulnerability: CVE-2024-26584
CVSS3 Base Score: N/A
Description:
In the Linux kernel, the following vulnerability has been resolved: net: tls: handle backlogging of crypto
requests Since we're setting the CRYPTO_TFM_REQ_MAY_BACKLOG flag on our requests to the crypto API,
crypto_aead_{encrypt,decrypt} can return -EBUSY instead of -EINPROGRESS in valid situations. For
example, when the cryptd queue for AESNI is full (easy to trigger with an artificially low
cryptd.cryptd_max_cpu_qlen), requests will be enqueued to the backlog but still processed. In that case, the
async callback will also be called twice: first with err == -EINPROGRESS, which it seems we can just ignore,
then with err == 0. Compared to Sabrina's original patch this version uses the new tls_*crypt_async_wait()
helpers and converts the EBUSY to EINPROGRESS to avoid having to modify all the error handling paths. The
handling is identical.
Broadcom 93
VMmark User’s Guide
94 Broadcom