diff --git a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/_index.md index 710d54fcf6..75351eaac2 100644 --- a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/_index.md @@ -7,10 +7,10 @@ cascade: minutes_to_complete: 30 -who_is_this_for: This introductory topic is for software developers interested in migrating their Envoy workloads from x86_64 platforms to Arm-based platforms, specifically on Google Axion–based C4A virtual machines. +who_is_this_for: This is an introductory topic is for software developers interested in migrating their Envoy workloads from x86_64 servers to Arm-based servers, specifically on Google Axion–based C4A virtual machines. learning_objectives: - - Start an Arm virtual machine on Google Cloud Platform (GCP) using the C4A Google Axion instance family with RHEL 9 as the base image + - Start an Arm virtual machine on Google Cloud Platform (GCP) using the C4A Google Axion instance - Install and configure Envoy on Arm-based GCP C4A instances - Validate Envoy functionality through baseline testing - Benchmark Envoy performance on Arm diff --git a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/baseline-testing.md b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/baseline-testing.md index 16b53ba8c6..ec16a99ec4 100644 --- a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/baseline-testing.md +++ b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/baseline-testing.md @@ -7,16 +7,16 @@ layout: learningpathall --- -Since Envoy is installed successfully on your GCP C4A Arm virtual machine, follow these steps to validate that the Envoy is running. +With Envoy installed successfully on your GCP C4A Arm virtual machine, you will proceed to validate that the Envoy is running as expected. ## Validate Envoy installation with a baseline test -In this section, we covered how to create a minimal Envoy config, start Envoy with it, and verify functionality using `curl`. -The test confirmed that Envoy listens on port **10000**, forwards requests to `httpbin.org`, and returns a successful **200 OK** response. +In this section, you will learn how to create a minimal Envoy config, start Envoy with it, and verify functionality using `curl`. +The test will confirm that Envoy listens on port **10000**, forwards requests to `httpbin.org`, and returns a successful **200 OK** response. ### Create a Minimal Configuration File -Using a file editor of your choice, create a file named `envoy_config.yaml`, and add the below content to it. This file configures Envoy to listen on port **10000** and forward all traffic to `http://httpbin.org`. The host_rewrite_literal is essential to prevent 404 Not Found errors from the upstream server. +Using a file editor of your choice, create a file named `envoy_config.yaml`, and add the below content to it. This file configures Envoy to listen on port **10000** and forward all traffic to `http://httpbin.org`. The `host_rewrite_literal` is essential to prevent 404 Not Found errors from the upstream server. ```YAML static_resources: @@ -72,7 +72,7 @@ static_resources: ### Run and Test Envoy This is the final phase of functional validation, confirming that the proxy is operational. -Start the Envoy proxy using your configuration file. This command will keep the terminal occupied, so you will need a new terminal for the next step. +Start the Envoy proxy using your configuration file as shown on your current terminal: ```console envoy -c envoy_config.yaml --base-id 1 @@ -90,12 +90,12 @@ The output should look similar to: [2025-08-21 11:53:51.599][67137][info][config] [source/common/listener_manager/listener_manager_impl.cc:930] all dependencies initialized. starting workers ``` -Now, **Send a test request** from another terminal window to the Envoy listener using `curl`. +Now, open a new terminal and send a test request to the Envoy listener using `curl`. ```console curl -v http://localhost:10000/get ``` -The `-v` flag provides verbose output, showing the full request and response headers. A successful test will show a **HTTP/1.1 200 OK** response with a JSON body from httpbin.org. +The `-v` flag provides verbose output, showing the full request and response headers. A successful test will show a **HTTP/1.1 200 OK** response with a JSON body from `httpbin.org`. The output should look similar to: @@ -133,9 +133,9 @@ The output should look similar to: ``` #### Summary of the curl Output -- **Successful Connection:** The **curl** command successfully connected to the Envoy proxy on **localhost:10000**. -- **Correct Status Code:** Envoy successfully forwarded the request and received a healthy **200 OK** response from the upstream server. -- **Host Header Rewrite:** The **Host** header was correctly rewritten from **localhost:10000** to **httpbin.org** as defined in the configuration. +- **Successful Connection:** The `curl` command successfully connected to the Envoy proxy on `localhost:10000`. +- **Correct Status Code:** Envoy successfully forwarded the request and received a successful `200 OK` response from the upstream server. +- **Host Header Rewrite:** The Host header was correctly modified from `localhost:10000` to `httpbin.org` as defined in the configuration. - **End-to-End Success:** The proxy is fully operational, proving that requests are correctly received, processed, and forwarded to the intended backend. -This confirms the end-to-end flow is working correctly. +This confirms the end-to-end flow with Envoy server is working correctly. diff --git a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/benchmarking.md b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/benchmarking.md index 530ee5ce12..e74e355e36 100644 --- a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/benchmarking.md +++ b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/benchmarking.md @@ -8,9 +8,10 @@ layout: learningpathall ## How to run Envoy benchmarks with Siege on Arm64 in GCP -**Siege** is a lightweight HTTP load testing and benchmarking tool that simulates concurrent users making requests to a target service. It is useful for **Envoy benchmarking** because it measures availability, throughput, response time, and failure rates under load—helping evaluate Envoy’s performance as a proxy under real-world traffic conditions. +**Siege** is a lightweight HTTP load testing and benchmarking tool that simulates concurrent users making requests to a target service. It is useful for Envoy benchmarking because it measures availability, throughput, response time, and failure rates under load, thus helping evaluate Envoy’s performance as a proxy under real-world traffic conditions. + +Follow the steps outlined to run Envoy benchmarks using Siege. -Follow the steps outlined to run Envoy benchmarks using the Siege. ### Install Siege(Build from Source) 1. Install required build tools @@ -29,7 +30,7 @@ cd siege-4.1.6 make sudo make install ``` -These commands prepare Siege for your system, build (compile) it, and then install it so you can run it from anywhere. +You have now successfully built and installed Seige on your Arm-based machine. 3. Verify installation @@ -47,16 +48,15 @@ FOR A PARTICULAR PURPOSE. ``` ### Envoy Benchmarking -1. Ensure Envoy is Running +1. To start, make sure Envoy is up and running with your config file (listening on port 10000): -To make sure your Envoy proxy is up with your config file (listening on port 10000 for example): ```console envoy -c envoy_config.yaml --base-id 1 ``` This runs the Envoy proxy with your configuration file (envoy_config.yaml) so it can start listening for requests. -2. Verify with curl from the another terminal: +2. On another terminal, verify that envoy is running as expected with curl: ``` curl -v http://127.0.0.1:10000/get @@ -65,1030 +65,16 @@ Running from another terminal returns a **200 OK** status, confirming that Envoy 3. Run a Time-based Load Test -Benchmark for a fixed time instead of request count: +There are different ways you can setup your benchmark tests. Here you will run a Benchmark for a fixed time instead of using request count: ```console siege -c30 -t10S http://127.0.0.1:10000/get ``` This runs a load test where 30 users hit Envoy continuously for 10 seconds. After this, Siege will show performance results. -The output should look similar to: +The output should show a list of HTTP requests and responses followed by a summary as shown: ```output -** SIEGE 4.1.6 -** Preparing 30 concurrent users for battle. -The server is now under siege... -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.17 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.25 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.32 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.32 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.21 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.34 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.34 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.35 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.36 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.19 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.32 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.32 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.36 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.45 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.42 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.02 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.32 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.55 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.30 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.68 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.33 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.27 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.54 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.56 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.47 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.40 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.46 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.86 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.92 secs: 383 bytes ==> GET /get -HTTP/1.1 502 0.07 secs: 122 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.29 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.77 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.79 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.24 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.18 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.80 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.99 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.46 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.74 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.38 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.62 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.44 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.43 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.32 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.21 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.68 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.34 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.95 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.91 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.17 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.19 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.38 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.87 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.26 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.48 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.61 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.40 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.42 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.52 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.52 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.37 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.20 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.61 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.96 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.57 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.48 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.47 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.83 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.28 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.65 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.88 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.59 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.20 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.66 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.23 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.62 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.41 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 2.21 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.48 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.55 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.25 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.90 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.70 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.98 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.64 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.30 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.22 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.62 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.43 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.70 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.42 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.79 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.15 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.67 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.54 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.81 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.59 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.34 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.69 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.86 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.55 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.53 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.43 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.28 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.15 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.28 secs: 383 bytes ==> GET /get -HTTP/1.1 200 2.55 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.58 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.63 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.27 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.25 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.36 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.45 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.67 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.43 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 2.27 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.15 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.28 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.12 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.63 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.58 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.65 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.98 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.23 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.63 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.34 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.21 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.54 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.00 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.11 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.23 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.49 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.31 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.25 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.11 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.38 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.41 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.60 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.81 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.31 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.36 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.62 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.46 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.18 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.46 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.82 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.89 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.38 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.51 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.80 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.44 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.63 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.62 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.23 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.02 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.37 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.61 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.57 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.83 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.49 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.66 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.34 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.22 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.19 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.52 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.63 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.19 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.19 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.81 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.80 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.48 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.66 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.68 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.33 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.80 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.83 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.57 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.29 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.49 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.23 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.58 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.18 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.34 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.19 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.28 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.31 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.43 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.45 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.48 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.15 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.29 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.58 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.75 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.60 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.18 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.68 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.11 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.78 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.96 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.41 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.29 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.47 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.42 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.75 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.84 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.60 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.02 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.95 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.23 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.59 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.23 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.12 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.20 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.54 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.81 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.25 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.36 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.76 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.15 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.84 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.50 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.11 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.76 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.56 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.69 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.18 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.68 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.56 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.58 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.64 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 502 0.36 secs: 122 bytes ==> GET /get -HTTP/1.1 200 0.54 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.57 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.66 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.31 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.12 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.69 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.49 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.79 secs: 383 bytes ==> GET /get -HTTP/1.1 200 2.81 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.25 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.62 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.78 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.69 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.72 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.40 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.66 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.62 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.93 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.59 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.17 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.18 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.43 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.51 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.54 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.11 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.23 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.29 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.75 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.32 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.64 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.15 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.84 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.28 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.58 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.54 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.59 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.93 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.93 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.51 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.96 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.44 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.57 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.33 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.46 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.89 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.60 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.31 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.44 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.36 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.46 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.31 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.36 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.35 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.33 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.74 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.24 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.42 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.09 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.33 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.12 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.23 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.33 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.53 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.21 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.56 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.92 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.68 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.18 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.16 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.34 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.27 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.65 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.18 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.66 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.20 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.36 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.25 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.02 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.66 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.36 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.47 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.59 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.40 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.22 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.57 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.17 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.48 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.74 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.32 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.06 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.24 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.14 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.69 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 2.35 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.83 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.67 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.55 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.60 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.73 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.28 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.28 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.56 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.73 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.53 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.33 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.12 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.78 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.57 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.61 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.49 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.90 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.13 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.02 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.26 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.45 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.20 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.98 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.53 secs: 383 bytes ==> GET /get -HTTP/1.1 200 2.10 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.27 secs: 383 bytes ==> GET /get -HTTP/1.1 200 2.45 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.74 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.46 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.31 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.39 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.48 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.99 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.26 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.53 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.12 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.02 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.80 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.67 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.37 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.07 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.26 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.21 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.38 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.53 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.20 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.64 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 2.89 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.20 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.04 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 1.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.08 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.64 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.46 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.81 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.51 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.61 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.35 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.91 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.35 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.91 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.05 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.53 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.51 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get -HTTP/1.1 200 0.37 secs: 383 bytes ==> GET /get HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get HTTP/1.1 200 0.03 secs: 383 bytes ==> GET /get @@ -1131,7 +117,7 @@ Shortest transaction: 0.02 - **Shortest Transaction**: Minimum response time observed for a single request. ### Benchmark summary on x86_64: -The following benchmark results were collected by running the same benchmark on a c3-standard-4 (4 vCPU, 2 core, 16 GB Memory) x86_64 virtual machine in GCP, running RHEL 9. +To compare the benchmark results, the following results were collected by running the same benchmark on a `c3-standard-4` (4 vCPU, 2 core, 16 GB Memory) x86_64 virtual machine in GCP, running RHEL 9. | Metric | Value | Metric | Value | |-------------------------|--------------|---------------------------|-----------------| @@ -1155,9 +141,9 @@ Results from the earlier run on the c4a-standard-4 (4 vCPU, 16 GB memory) Arm64 | Longest transaction | 2.89 secs | Shortest transaction | 0.02 secs | ### Envoy performance benchmarking comparison on Arm64 and x86_64 -When you compare the benchmarking results you will notice that on the Google Axion C4A Arm-based instances: +When you compare the benchmarking performance results between the two instance types with the same vCPUs, you will notice that on the Google Axion C4A Arm-based instances: + +- You have more successful transactions, fewer failures. +- Lower response times, higher transaction rate, better throughput. -- Achieved **1019 successful transactions** with only **2 failures**, ensuring **99.80%** availability. -- Delivered a strong **transaction rate of 98.17 trans/sec** and throughput of **0.04 MB/sec**. -- Maintained low **response times (0.29 secs average)**, with a shortest transaction of **0.02 secs**. -- Demonstrated **stable concurrency handling (28.07)** and controlled latency, with the longest transaction completing in **2.89 secs.** +You have successfully learned how to use Siege to benchmark Envoy on your Arm-based Axion Google cloud instance, validating both performance and reliability against similar x86 instances. diff --git a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/deploy.md b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/deploy.md index 72adb14d9f..b932b53b36 100644 --- a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/deploy.md +++ b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/deploy.md @@ -8,7 +8,7 @@ layout: learningpathall ## How to deploy Envoy on a Google Axion C4A Arm virtual machine -This guide shows you how to install Envoy Proxy v1.30.0 on a Google Cloud Axion C4A virtual machine running RHEL 9. You’ll install the basic tools, download the official static Arm64 Envoy binary, give it executable permissions, and check the version. By the end, Envoy will be installed and ready to use on your GCP virtual machine — without needing Docker or building from source. +In this section you will learn how to install Envoy Proxy v1.30.0 on a Google Cloud Axion C4A virtual machine running RHEL 9. You will install the dependencies, download the official static Arm64 Envoy binary and check the installed version. 1. Install Dependencies @@ -27,7 +27,7 @@ pip3 install virtualenv 2. Install Envoy (Static Arm64 Binary) -This step downloads and installs the Envoy binary. +You will now download and install the Envoy binary on your Arm-based instance. Download the binary directly to **/usr/local/bin/envoy**. The `-L` flag is crucial as it follows any redirects from the download URL. ```console @@ -35,7 +35,7 @@ sudo curl -L \ -o /usr/local/bin/envoy \ https://github.com/envoyproxy/envoy/releases/download/v1.30.0/envoy-1.30.0-linux-aarch_64 ``` -Make it executable so the system can run the binary as a command. +Change the permissions on the downloaded binary to make it an executable: ```console sudo chmod +x /usr/local/bin/envoy @@ -47,11 +47,10 @@ envoy --version ``` This confirms the binary is correctly placed and executable. -You should see an output similar to: +The output should look like: ```output envoy version: 50ea83e602d5da162df89fd5798301e22f5540cf/1.30.0/Clean/RELEASE/BoringSSL ``` -This confirms the binary is correctly placed and executable. - -Envoy installation is complete. You can now proceed with the baseline testing ahead. +This confirms the installation of Envoy. +You can now proceed with the baseline testing in the next section. diff --git a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/instance.md b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/instance.md index aa39cf2bf1..87db47d57e 100644 --- a/content/learning-paths/servers-and-cloud-computing/envoy-gcp/instance.md +++ b/content/learning-paths/servers-and-cloud-computing/envoy-gcp/instance.md @@ -8,13 +8,13 @@ layout: learningpathall ## How to create a Google Axion C4A Arm VM on Google Cloud -In this section, you learn how to provision a **Google Axion C4A Arm virtual machine** on Google Cloud Platform (GCP) using the **c4a-standard-4 (4 vCPUs, 16 GB memory)** machine type in the **Google Cloud Console**. +In this section, you will learn how to provision a Google Axion C4A Arm virtual machine on Google Cloud Platform (GCP) using the **c4a-standard-4 (4 vCPUs, 16 GB memory)** machine type in the Google Cloud Console. -For background on GCP setup, see the Learning Path [Getting started with Google Cloud Platform](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/google/). +For details on GCP setup, refer to the [Getting started with Google Cloud Platform](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/google/) Learning Path. ### Create a Google Axion C4A Arm VM in Google Cloud Console -To create a virtual machine based on the C4A Arm architecture: +To create a virtual machine based on the C4A instance type: 1. Navigate to the [Google Cloud Console](https://console.cloud.google.com/). 2. Go to **Compute Engine > VM Instances** and select **Create Instance**. 3. Under **Machine configuration**: