From 6d9cfa111cfc1e8d5cac0074cd550472556356a1 Mon Sep 17 00:00:00 2001 From: jnativio Date: Sun, 15 Jul 2018 10:50:50 -0400 Subject: [PATCH] Update Realistic Benchmark section on docs (#1823) --- .spelling | 3 ++ .../performance-and-scalability/index.md | 28 +++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.spelling b/.spelling index cc6b7dcb8a..5d024a40d1 100644 --- a/.spelling +++ b/.spelling @@ -28,12 +28,14 @@ ANDed API APIs alt +Acmeair Ansible AppOptics args.yaml AuthPolicy Autoscalers BigQuery +BluePerf Bookinfo Budinsky CAP_NET_ADMIN @@ -154,6 +156,7 @@ VMs ValueType WeaveWorks WebSocket +WebSphere Webhooks X.509 X.509. diff --git a/content/docs/concepts/performance-and-scalability/index.md b/content/docs/concepts/performance-and-scalability/index.md index 0a87365ab9..ad20477137 100644 --- a/content/docs/concepts/performance-and-scalability/index.md +++ b/content/docs/concepts/performance-and-scalability/index.md @@ -72,9 +72,33 @@ You can learn more about [Fortio](https://github.com/istio/fortio/blob/master/RE ## Realistic application benchmark -For realistic application benchmarks we use [IBM's BluePerf](https://github.com/blueperf). +Acmeair (a.k.a, BluePerf) is a customer-like microservices application implemented in Java. This application runs on WebSphere Liberty and simulates the operations of a fictitious airline. -The results for each build are published automatically on the [Istio Regression Patrol](https://ibmcloud-perf.istio.io/regpatrol/) site. +Acmeair is composed by the following microservices: + +* **Flight Service** retrieves flight route data. It is called by the Booking service to check miles for the rewards operations (Acmeair customer fidelity program). + +* **Customer Service** stores, updates, and retrieves customer data. It is invoked by the Auth service for login and by the Booking service for the rewards operations. + +* **Booking Service** stores, updates, and retrieves booking data. + +* **Auth Service** generates JWT if the user/password is valid. + +* **Main Service** primarily consists of the presentation layer (web pages) that interact with the other services. This allows the user to interact directly with the application via browser, but it is not exercised during the load test. + +The diagram below represents the different pods/containers of the application in the Kubernetes/Istio environment: + +{{< image width="100%" ratio="80%" + link="https://ibmcloud-perf.istio.io/regpatrol/istio_regpatrol_readme_files/image004.png" alt="Acmeair microservices overview" + >}} + +The following table shows the transactions that are driven by the script during the regression test and the approximate distribution of the requests: + +{{< image width="100%" ratio="20%" + link="https://ibmcloud-perf.istio.io/regpatrol/istio_regpatrol_readme_files/image006.png" alt="Acmeair request types and distribution" + >}} + +The Acmeair benchmark application can be found here: [IBM's BluePerf](https://github.com/blueperf). ## Automation