Introducing the Ampere® Performance Toolkit to Optimize Software
Ampere Performance Toolkit (APT) automates benchmarking across cloud and on-prem platforms, making performance testing fast, repeatable, and easy.
Overview
The use of practical tools to evaluate performance in consistent, predictable ways across various platform configurations is necessary to optimize software. Ampere’s open-source availability of the Ampere Performance Toolkit (APT) enables customers and developers to take a systematic approach to performance analysis.
The Ampere Performance Toolkit provides an automated way to run and benchmark important application data. The toolkit makes it faster and easier to set up, run, and repeat performance tests across bare metal and various clouds leveraging a mature, automated framework for utilizing best known configurations, a simple YAML file input for configuring resources for cloud-based tests, and numerous examples running common benchmarks including Cassandra, MySQL, and Redis on a variety of cloud vendors or internally provisioned platforms.
This blog summarizes the rationale and function of the APT, the basics for getting started, and how you may contribute. We invite you to explore deeper in the Ampere Performance Toolkit Repository.
How APT Works
Test topology: APT currently runs two types of tests: single-system and client-server. Single-system tests run all necessary commands on the system under test and return the results directly from that system. Networking may not be a factor in this scenario. Client-server tests have different commands. The client system will have a separate set of automated instructions to prepare the load generator that stresses the server over a network.
Type of provisioning: APT automates the provisioning of virtual machines provided that the user is authenticated to the appropriate cloud service provider and able to authenticate correctly for the automated commands used to create the machines, network, disks, and other resources necessary to run benchmarks. Alternatively, a user can define machines either running in a cloud service provider or on-prem machines.
Automation steps occur in five discrete stages that enable a user to pass a simple command-line to run a benchmark.
- Provision: Provision resources necessary to run the test. This step is skipped when machines are statically defined.
- Prepare: Installs necessary dependencies that enable the application to run.
- Run: Application run stage where the test is active on the server. Tests will also parse and save run results once the test finishes.
- Cleanup: Removes all dependency packages used by the application.
- Teardown: Removes provisioned resources from the cloud service provider. A step is skipped in the case of static machines.
Getting Started
There are prerequisites before a user begins running their first test. All the documentation for setting up these requirements is outlined in the project’s README.
Prerequisites for static virtual machine tests:
- Passwordless SSH must be configured for all systems being used for tests.
- Client-server test must have passwordless SSH configured for both systems.
- Passwordless sudo must be granted for the defined user running the test.
- E.g., user “apt” has passwordless sudo to run MySQL.
For cloud-based tests:
-
APT automates the creation of all resources necessary to set up tests, provided that the defined YAML file is correct, and all necessary permissions are granted to the user to provision cloud resources.
Dependencies:
- Python 3.11 or greater.
- User must create a virtual environment for all pip-installed APT dependencies.
Check out the full Ampere article collection here.

Comments