Who is this for?

This is an advanced topic for software developers who want to use Envoy on Arm.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Tune Envoy by Transparent Huge Pages (THP)
  • Tune Envoy with profile-guided optimization (PGO)
  • Learn about kernel parameters that can impact Envoy performance
  • Learn about compiler and libraries that can impact Envoy performance

Prerequisites

Before starting, you will need the following:

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll tune Envoy on an Arm-based Ubuntu server with THP and PGO. First, you’ll inspect the kernel configuration, confirm THP support, and configure memory management for Envoy. Then, you’ll build Envoy with current Bazel and LLVM and Clang toolchains, identifying the kernel parameters and compiler choices that influence performance.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
How do I check the kernel configuration on Ubuntu before tuning THP?
Run cat /boot/config-$(uname -r) to inspect the configuration for the running kernel. Use this command to confirm that the necessary options for THP are present.
Do I need an existing Envoy deployment before running these tuning steps?
Yes. You need a cloud or bare-metal Envoy service in place. If you don’t already have Envoy set up, complete the Learn how to deploy Envoy Learning Path.
Which compiler should I use when building Envoy with PGO?
Use the latest available version of LLVM and Clang when building Envoy with Bazel.
Should I build Bazel from source for the PGO workflow?
Build Bazel from the most recent source code. Doing so aligns your build with the latest LLVM and Clang toolchains.
What result should I expect after enabling THP or applying PGO?
The reported example shows an 18% enhancement from THP and a 10% enhancement from PGO. Actual results depend on how you apply the techniques to your Envoy deployment.
Next