I'm running a swarm of T2 instances on AWS, each with an average lifespan of 5 minutes. I start an instance, do some workload, and then terminate it. I'm using my own AMI on a GP2 volume.
After launching around 150 instances, I've noticed that both the boot time and workload performance have degraded significantly. Normally, an instance boots and the SSH server becomes available within 30-40 seconds, but now it takes around 120 seconds. Additionally, the workload has become three times slower.
I suspect that the issue may be related to CPU or I/O credit accumulation, but I'm not sure how to verify this or what other factors could be contributing to the issue.

This screenshot shows a graph of CPU credit usage per instance on AWS. The graph displays CPU credits over time for a set of T2 instances. Each line on the graph represents a different instance, with the x-axis showing the time elapsed since the instance was launched and the y-axis representing the CPU credit balance. From the graph, it is apparent that newer instances have 0 CPU credits from the beginning and accrue credits over time.
Can anyone provide insight into what could be causing this performance degradation and suggest potential solutions or optimizations to improve the performance of my T2 instances?
Is it possible for an AWS account to have a global CPU credit balance that applies to all T2 instances launched within the account, rather than a separate balance for each individual instance?
Thank you in advance for your help.