Skip to main content

Windows EC2 Network Latency

Windows EC2 network latency causes a network packet delay on Windows VM for the target EC2 instance(s) using Clumsy.

  • It degrades the network without marking the EC2 instance as unhealthy (or unworthy) of traffic, which is resolved using a middleware that switches traffic based on SLOs (performance parameters).
  • It may stall the EC2 instance or get corrupted waiting endlessly for a packet.
  • It limits the impact (blast radius) to the traffic that you wish to test, by specifying the IP addresses.

Windows EC2 Network Latency

tip

When Clumsy is downloaded, the path is exported which is used while executing the experiment.

Use cases

Windows EC2 network latency:

  • Simulates the situation of network delay for dependent processes and microservices running on the application, which degrades their performance.
  • Helps verify the application's ability to handle network delays.
  • Determines the performance of the application (or process) running on the EC2 instances.
  • Simulates a consistently slow network connection between microservices (for example, cross-region connectivity between active-active peers of a given service or across services or poor cni-performance in the inter-pod-communication network).
  • Simulates jittery connection with transient latency spikes between microservices.
  • Simulates a slow response on specific third party (or dependent) components (or services), and degraded data-plane of service-mesh infrastructure.

Prerequisites

  • Ensure that the prerequisites are fulfilled before executing the experiment.
  • Verify that Clumsy is installed on the Windows VM.
  • The EC2 instance should be in a healthy state.

Mandatory tunables

Tunable Description Notes
EC2_INSTANCE_ID ID of the target EC2 instance. For example, i-044d3cb4b03b8af1f. For more information, go to EC2 instance ID.
NETWORK_LATENCY The network latency (or delay) that you want to introduce during chaos, in milliseconds. For example, 2000. For more information, go to network latency.
REGION The AWS region ID where the EC2 instance has been created. For example, us-east-1.

Optional tunables

Tunable Description Notes
TOTAL_CHAOS_DURATION Duration that you specify, through which chaos is injected into the target resource (in seconds). Default: 60s. For more information, go to duration of the chaos.
AWS_SHARED_CREDENTIALS_FILE Path to the AWS secret credentials. Default: /tmp/cloud_config.yml.
PATH_OF_CLUMSY Path of the Clumsy tool in the VM. For example, C:\Program Files\Clumsy\. For more information, go to path of Clumsy.
RAMP_TIME Period to wait before and after injecting chaos (in seconds). For example, 30 s. For more information, go to ramp time.

Network latency

The NETWORK_LATENCY environment variable specifies the delay induced, in milliseconds.

Use the following example to specify network latency:

apiVersion: litmuschaos.io/v1alpha1
kind: MachineChaosExperiment
metadata:
name: windows-network-latency
spec:
engineState: "active"
chaosServiceAccount: litmus-admin
experiments:
infraType: windows
steps:
- - name: windows-network-latency
tasks:
- definition:
chaos:
env:
- name: NETWORK_LATENCY
value: "2000"

Path of Clumsy

The PATH_OF_CLUMSY environment variable specifies the path of the Clumsy tool in the VM.

Use the following example to specify the path of Clumsy:

apiVersion: litmuschaos.io/v1alpha1
kind: MachineChaosExperiment
metadata:
name: windows-network-latency
spec:
engineState: "active"
chaosServiceAccount: litmus-admin
experiments:
infraType: windows
steps:
- - name: windows-network-latency
tasks:
- definition:
chaos:
env:
# Path of the Clumsy tool in the VM
- name: PATH_OF_CLUMSY
value: 'C:\\Program Files\\Clumsy\\'