PHP: 5 piccoli suggerimenti per gestire fino a 30000 utenti contemporanei
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:
Per i dettagli, vi rimando all'articolo originale.
La struttura iniziale del servizio e' la seguente:
- Zend Framework 2
- Due instanze m1.medium per i server web
- ELB per dividere il carico
- Database MySQL master/slave
- Prove di carico effettuate con Siege
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.