Hi there! We have been using EC2 virtualized instances for hosting our crypto exchange. We are wondering if using EC2 metal instances would yield better performance. Is there anybody using EC2 metal instances? What's the performance like compared to virtualized instances, and what's your use case?
Your use-case does not sound like it needs control over C-states and P-states [1].<p>[1] <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html" rel="nofollow">https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processo...</a>
I was on a team that used them because we needed to run our own virtualization layer, which standard EC2 instances disallow. I don’t recall seeing any performance difference compared to a comparably sized virtualized instance, but we weren’t really looking.<p>Especially on Nitro or Firecracker instances, I wouldn’t expect the “virtualization tax” to be very high, and metal instances come with some very real drawbacks in terms of capacity. E.g., it can be difficult to launch a new instance on demand if you will only accept an entire machine, and this can make auto scaling pretty dicey.<p>EC2 instances have per-second billing, so I would encourage you to run some realistic benchmarks on a variety of metal and non-metal instance types to see what (if any) performance benefit they would offer your application