I want to troubleshoot slow performance issues on my Amazon Elastic Compute Cloud (Amazon EC2) Windows instances.
Short description
The following issues can affect the performance of your EC2 Windows instances:
- High CPU
- High memory
- Depleted credits on a burstable instance.
- High I/O to Amazon Elastic Block Store (Amazon EBS) volumes
- Outdated AWS drivers
- Network bandwidth issues
Resolution
Use the AWSSupport-TroubleshootWindowsPerformance runbook to identify the root cause of performance issues
Prerequisites: Make sure that your AWS Identity and Access Management (IAM) user or role has the required permissions to run the runbook. To upload the runbook's logs to an Amazon Simple Storage Service (Amazon S3) bucket, your instance profile must have the required permissions. For more information, see the Required IAM permissions on AWSSupport-TroubleshootWindowsPerformance.
To run the runbook, see Instructions on AWSSupport-TroubleshootWindowsPerformance. It's a best practice to run the runbook when the performance issue occurs.
The runbook's output provides a summary of performance metrics that you can use to identify the processes that use the most resources.
Check for high CPU and memory usage
Note: Make sure to choose an instance type that adheres to your workload requirements, such as CPU, memory, and storage. If you use a burstable instance type such as T2, T3, T3a, or T4g, then you might experience performance issues because of CPU credit exhaustion.
To identify high resource usage, see How do I diagnose high CPU utilization on my EC2 Windows instance when my CPU doesn't throttle? To manually check for high memory processes in Task Manager and Process Explorer, sort by the Memory column. If a process uses higher memory than expected, then troubleshoot that specific application. If all applications uses the expected memory, but memory is still high, then change your instance type to one with more memory.
To troubleshoot high CPU usage, see How do I troubleshoot high CPU usage on an Amazon EC2 Windows instance?
Check your Amazon EBS metrics
If your instance has low CPU or memory usage, but is still slow, then check the metrics for the instance's Amazon EBS volumes. Make sure that your EBS volume is the right size based on your input/output operations per second (IOPS). Also, make sure to evenly distribute your workload across volumes. For more information, see How do I resolve a slow, unresponsive, or inaccessible Amazon EC2 instance?
Update your AWS drivers
Outdated AWS drivers might cause performance issues on your instance. To troubleshoot this issue, upgrade your AWS drivers to the latest version.
Monitor your network traffic to identify issues
Use Amazon CloudWatch to check the NetworkIn and NetworkOut for your instance and identify instance network bandwidth issues.
To increase your network bandwidth and packet-per-second (PPS) performance and consistently decrease your latency, activate enhanced networking for your instance.
Related information
How can I resolve high CPU utilization on my T2 or T3 EC2 Windows instance if my CPU is being throttled?