Skip to main content

Platform Overview

The Virtual Client is a unified workload and system monitoring platform for running customer-representative scenarios on virtual machines or physical hosts/blades in the Azure Cloud. The platform supports a wide range of different industry standard/benchmark workloads used to measuring various aspects of the system under test (e.g. CPU, I/O, network performance, power consumption). The platform additionally provides the ability to capture important performance and reliability measurements from the underlying system. The platform supports all business-critical Azure environments including guest/VM systems, host/blade systems and data center/DC lab systems. The platform additionally supports both x64 and ARM64 compute architectures.

Team Contacts

Downloads

Release versions of the Virtual Client are available on public NuGet.org. Note that versions that are not tagged as 'Release' are considered beta quality. Production quality releases will be tagged appropriately.

Platform/Architectures

In the workload and profile sections below, the following designations are used to indicate the OS platform and CPU architecture on which the workloads are supported:

  • linux-x64 The workload is supported on the Linux operating system for Intel and AMD x64 architectures.

  • linux-arm64 The workload is supported on the Linux operating system for ARM64/AARCH64 architectures.

  • win-x64 The workload is supported on the Windows operating system for Intel and AMD x64 architectures.

  • win-arm64 The workload is supported on the Windows operating system for ARM64/AARCH64 architectures.

Supported Workloads/Benchmarks

The following list of workloads are used by Virtual Client profiles to exercise the system components in a consistent way required to measure performance baselines and differences.

VirtualClient handles the installation and execution of various tools. Individual license files are not prompted for each workload. By using VirtualClient, users accept the license of each of the benchmarks individually, comply to the terms for the tool you are using, and take responsibility for using them.

Workload/BenchmarkSpecializationSupported Platforms/ArchitecturesLicense(s)
7zipCompressionlinux-x64, linux-arm64GNU LGPL
AspNetBenchASP.NET Web Server.linux-x64, linux-arm64, win-x64, win-arm64MIT (ASP.NET)
MIT (Bombardier)
BlenderBenchmarkGPU/Graphics Rendering Performancewin-x64GNU LGPL
CoreMarkCPU Performancelinux-x64, linux-arm64Apache+Custom
CoreMark ProPrecision CPUlinux-x64, linux-arm64, win-x64, win-arm64Apache+Custom
CPSNetwork Connection Reliabilitylinux-x64, linux-arm64, win-x64, win-arm64Microsoft-Developed
DCGMIGPU Qualificationlinux-x64Apache-2.0
DeathStarBenchDocker Swarm/Container Microserviceslinux-x64, linux-arm64, win-x64, win-arm64Apache-2.0
DiskSpdDisk I/O Performancewin-x64, win-arm64MIT
Flexible IO Tester (FIO)Disk I/O Performancelinux-x64, linux-arm64, win-x64GPL-2.0
GeekBench5CPU Performancelinux-x64, win-x64, win-arm64End User License Required
Graph5003D Simulationlinux-x64, linux-arm64Custom
GzipCompressionlinux-x64, linux-arm64GPL
HPCGHigh Performance Compute (HPC)linux-x64, linux-arm64Custom
HPLinpackLinear Equationslinux-x64, linux-arm64IBM
LAPACKLinear Equationslinux-x64, linux-arm64, win-x64, win-arm64Custom
LatteNetwork Latencieswin-x64, win-arm64MIT
LMbenchMemory Performancelinux-x64, linux-arm64GPL-2.0
LZBenchCompression/Streaminglinux-x64, linux-arm64, win-x64, win-arm64None
MemcachedIn-Memory Data Cachelinux-x64, linux-arm64BSD-3 (Memcached)
GPL-2.0 (Memtier)
MLPerfMachine Learninglinux-x64Custom
NAS ParallelHigh Performance Compute (HPC)linux-x64, linux-arm64NASA-1.3
Network ICMP PingNetwork Latencieslinux-x64, linux-arm64, win-x64, win-arm64MIT
NTttcpNetwork Bandwidthlinux-x64, linux-arm64, win-x64, win-arm64MIT
OpenFOAMComputational Fluid Dynamicslinux-x64, linux-arm64Custom
OpenSSLCryptography/Encryptionlinux-x64, linux-arm64, win-x64Apache-2.0
Pbzip2Compressionlinux-x64, linux-arm64BSD
PostgreSQLRelational Database Performancelinux-x64, linux-arm64, win-x64PostgreSQL
Prime95CPU Stresslinux-x64Custom
RedisIn-Memory Data Cachelinux-x64, linux-arm64BSD-3 (Redis)
GPL-2.0 (Memtier)
SockPerfNetwork Latencieslinux-x64, linux-arm64Custom
SPEC CPU 2017, SPECrate IntegerPrecision CPU, Integer Calculationslinux-x64, linux-arm64End User License Required
SPEC CPU 2017, SPECrate Floating PointPrecision CPU, Floating-point Calculationslinux-x64, linux-arm64End User License Required
SPEC CPU 2017, SPECspeed IntegerPrecision CPU, Integer Calculationslinux-x64, linux-arm64End User License Required
SPEC CPU 2017, SPECspeed Floating PointPrecision CPU, Floating-point Calculationslinux-x64, linux-arm64End User License Required
SPEC JBB 2015, SPECjbbJava Serverlinux-x64, linux-arm64, win-x64, win-arm64End User License Required
SPEC JVM 2008, SPECjvmJava Runtime Performancelinux-x64, linux-arm64, win-x64, win-arm64SPEC
SPEC Power 2008, SPECpowerHigh precision, steady-state CPU usagelinux-x64, linux-arm64, win-x64, win-arm64End User License Required
SPECviewperf 2020, SPECview3D graphics performancewin-x64SPEC
StressapptestFault Tolerancelinux-x64, linux-arm64Apache-2.0
Stress-ngFault Tolerancelinux-x64, linux-arm64GPL-2.0
SuperBenchMachine Learninglinux-x64MIT
Sysbench OLTP w/MySQLRelational Database Performancelinux-x64, linux-arm64GPL-2.0 (Sysbench)
GPL-2.0 (MySQL)

Supported System Monitoring Facilities

The platform supports capturing information from the system in the background while workloads are running. The following list of monitoring facilities are available in the Virtual Client.

Certain monitoring facilities are only available on specific hardware because they expect specific tools/hardware on the system (e.g. ipmiutil, nvidia monitors).

MonitorSpecializationSupported Platforms/ArchitecturesLicense(s)
Nvidia SMINvidia GPUslinux-x64, linux-arm64
Performance CountersPerformance Counterslinux-x64, linux-arm64, win-x64, win-arm64

Data Collection Notice

The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.