Ampere Computing Logo
Contact Sales
Ampere Computing Logo

Introducing the Ampere® Performance Toolkit to Optimize Software

image
Team Ampere
27 September 2024
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 for the APT, the basics to get started, and how you may contribute. We invite you to explore deeper at: Ampere Performance Toolkit Repository.

How APT works

Test topology: APT presently runs two types of tests: single-system tests and client-server tests. Single system tests run all the necessary commands on the system under test and return the results from that system directly. 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 test. This step is skipped when machines are statically defined.
  • Prepare: Installs necessary dependencies that enable application to run.
  • Run: Application run stage where test is active on server. Tests will also parse and save run results once test finishes.
  • Cleanup: Removes all dependency packages used by application.
  • Teardown: Removes provisioned resources from the cloud service provider. 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. Ampere Performance Toolkit Repository


Prerequisites for static virtual machine tests

  • Passwordless SSH must be configured for all systems being used for tests.

  • Client-server test must have passworldess ssh configured for both systems.

  • Passwordless sudo must be granted for defined user running test.

  • a. E.g. user “apt” has passwordless sudo to run a MySQL.


For cloud-based tests

  • APT automates the creation of all resources necessary to setup tests provided that the defined YAML file is correct, and all necessary permissions are granted to user to provision cloud resources.

Dependencies

  • Python 3.11 or greater.
  • User must create a virtual environment for all pip installed APT dependencies.
Created At : September 24th 2024, 9:02:39 pm
Last Updated At : September 27th 2024, 7:21:15 pm
Ampere Logo

Ampere Computing LLC

4655 Great America Parkway Suite 601

Santa Clara, CA 95054

image
image
image
image
image
 |  |  | 
© 2024 Ampere Computing LLC. All rights reserved. Ampere, Altra and the A and Ampere logos are registered trademarks or trademarks of Ampere Computing.
This site runs on Ampere Processors.