We manage a number of systems on AWS - both large and small - with and without control panels. All of the instance types can be confusing.
The t-series systems use burstable CPUs. These are best suited for workloads that have low sustained CPU usage. They work on a CPU credit basis. Once you use up the CPU credits, the CPU will perform at the baseline level. This may only be at 20-30% of max capacity. For example, on t3.large, if your baseline CPU is over 30%, you system will start to use your burstable CPU credits. Once these are used, the system will be throttled if not set to unlimited.
You can see this condition on the server if %steal is high in top or sysstat. You can also see this in Cloudwatch under the CPU Credit Balance. If this is near 0, then you are constantly running above the baseline. If the system becomes throttled, you will see high concurrency and load averages. This usually results in a non-responsive server.
The M5/C5 instances do not use burstable credits.
For example, a 4 vCPU instance in C5 can run 24x7 at 100% CPU while a T3 4 vCPU can only use 30% of the CPU over the same period before it is throttled. If you set unlimited, then you will be billed for the % over the baseline. In these cases, C5/M5 can be cheaper. T3/M5 break even is 42.5% average CPU usage over 24 hours.
Unless we see swap, we have found that C5 works well for typical PHP applications. C5 instances have roughly half the RAM as T3 instances. M instances are roughly comparable to T instances except you get full vCPU performance.