Jonathan Block ha scritto un bel post dove spiega come scalare un servizio su EC2 e arrivare a servire fino a 30000 utenti simultanei.

La struttura iniziale del servizio e' la seguente:





E questi i consigli:

  • Usare la funzione di APC di PHP: la opcode cache di PHP e' un requisito fondamentale.
  • Mettere tutto ciò che non è una richiesta Php su un CDN: Non servire i file statici dal vostro web server. Mettere tutto su S3 e utilizzate CloudFront come CDN.
  • Non effettuare connessioni ad altri server nel codice PHP: I collegamenti ad altri server bloccano il server e rallentano l'elaborazione. Utilizzate il key/value storage di APC per la memorizzazione dei dati e Varnish per il caching di intere pagine.
  • Utilizzare Varnish: Come sopra, varnish fa la differenza.
  • Utilizzare un c1.xlarge: Il c1.xlarge ha 8 CPU, e sotto carico si nota la differenza con l'm1.medium che ha solo 1 CPU per elaborare le richieste.

Per i dettagli, vi rimando all'articolo originale.