I am planning to move from AWS to Linode mainly because of performance. My app is CPU intensive. I think for such apps you need to take high end EC2 instance.. I tried with small and medium instances but found them quite slow.
With linode 8 core small instances, I could handle 2-3 times the traffic. However from management perspective AWS rules.
I was in the same position not too long ago. While I don't think I can make any real recommendations because I don't know your specific requirements, I highly suggest checking out Hetzner and OVH dedicated servers. I found that the ping time from hetzner to customers in the US did not make a difference for my purposes, and I can get a much much beefier server at hetzner than linode.
To be fair, the negatives I have experienced so far are: hetzner's management console is pretty poor compared to linode's (but it gets the job done), and linode is a self-serve almost instant provisioning while hetzner seems to take about 12 hours.
I use linode as well and, given that I follow the industry at least as much as the average HN user, I'm very surprised I haven't heard of these 'disgraceful' practices.
With linode 8 core small instances, I could handle 2-3 times the traffic. However from management perspective AWS rules.