The very sensible tips that can handle 30,000 concurrent users per web server:
Use PHP's APC feature. APC is opcode cache that is “really a requirement in order for a website to have a chance at performing well.”
Put everything that's not a .php request on a CDN. Don't serve static files from your web server. They put everything on S3 and use CloudFront as their CDN. Recent CloudFront problems have caused them to serve directly from S3.
Don't make connections to other servers in your PHP code. Making connections to other servers blocks the server and slows down processing. Use the APC key/value store for data storage and Varnish for caching full pages.
Use Varnish. Using Varnish mage the single biggest difference to their performance under a load test.
Use a c1.xlarge. The c1.xlarge has 8 CPUs which really helps under load. The m1.medium has only 1 CPU for processing requests.
Pretty straightforward, yet good advice. The original article has many more details and is well worth reading.
Some readings