Richiedi Informazioni

Confrontiamo le performance: hosting dedicati a wordpress

Nel precedente post, vi ho dato qualche suggerimento su come effettuare e leggere i risultati dei test di carico. Adesso voglio spingermi un po più in là e, prendendo spunto da questo post  (in lingua inglese, sorry), vorrei fare alcuni ragionamenti sulle performance degli hosting dedicati a wordpress e lo farò partendo esattamente dai grafici di carico resi pubblici.

Iniziamo, tanto per settare una baseline, dalle performance del sito di Level iP, si tratta di un template wordpress (molto poco) customizzato e derivato dal tema html5-blank. Il test è stato effettuato utilizzando Load Impact.

performance server dedicati loadimpact

Come già visto nello scorso post, il test di carico indica che il server regge bene fino a cica 40 connessioni per secondo. Si tratta di un numero importante, perchè a 40 connessioni al secondo questo sito potrebbe servire un paio di milioni di visualizzazioni nel corso della giornata anche se, ovviamente, non tutte insieme.

Attualmente il sito web di Level iP gira su una virtual machine in cloud dedicato, sui server allocati ai miei servizi di infrastruttura, e la VM ha in dotazione 2 processori virtuali e 1GB di RAM. A tutti gli effetti si tratta di un piccolo VPS privato. E non fatevi ingannare dalla pendenza della linea dei tempi, come potete notare servo il sito in 250ms come baseline, che è un tempo accettabile per un piccolo VPS.

Queste performance non sono malaccio per un singolo blog e, se vendessi VPS shared, il limite maggiore di questa macchina sarebbe il consumo di banda e non il carico. Infatti, considerando che la home page di Level iP pesa circa 350Kb, se effettivamente facessi 40 connessioni per secondo il consumo di banda sarebbe di circa 112 Mbit/s, ben superiore ai 100Mbit/s Flat che molti provider dichiarano e per due motivi:

1) Lo stack tcp-ip ha un peso in Kilobytes e quindi a fronte di una connessione a 100Mbit/s il massimo erogabile non è mai cento ma, più facilmente, ottanta.

2) I provider italiani si collegano, tipicamente e in qualche modo, al Milan Internet eXchange (MIX). Se vai a dare uno sguardo alle connessioni in fibra dei vari operatori nazionali (tra cui si sono anche io), noterai che molti di questi si connettono, quando va bene, a 10Gbit/s.

Questo significa che un operatore che ha 10Gbit/s (100 x Connessioni da 100Mbit/s), se offrisse *veramente* 100Mbit/s flat ad ogni VPS che crea, potrebbe avere solo 100 clienti prima di dover (potenzialmente) comprare altra banda per il rischio che tutti e cento i clienti si mettano a sparare 100Mbit/s.

Nella pratica questo non succede mai, ma il Provider deve limitare il rischio, come lo fa? Diamo un occhio al prossimo grafico e commentiamolo insieme.

performance degli hosting dedicati a wordpress - godaddy

A quanto pare, questo provider (di cui non vi dico il nome, andatevi a leggere il post originale) taglia le connessioni in ingresso a 25 per secondo. Dopo quel numero di connessioni il server che, non fosse stato altrimenti stava rispondendo in modo ineccepibile e con un grafico tempi perfettamente orizzontale, ha smesso di rispondere.

Qualcosa mi dice che qui c’è un bel rate-limit a 25 connessioni per secondo. Se questo serva per tenere il server scarico, la banda libera o entrambi lo lascio decidere al lettore.

Cosa succeda poi, quando il template wordpress dovesse essere particolarmente pesante, non è dato saperlo. Verranno anche limitati gli IO/s verso MySQL? I cicli di clock della macchina? Questo sarebbe un test interessante da svolgere per il futuro.

Vediamo adesso che forma assume il grafico del test di carico quando il server che ospita il sito wordpress è particolarmente carico.

 performance hosting dedicati a wordpress

 In questo caso, il server parte già lento, le pagine vengono servite in circa un secondo, ma il bello viene all’aumentare del numero di connessioni contemporanee: il server perde di coerenza, le performance hanno una variabilità folle.

La macchina, che a 25 connessioni per secondo serviva le pagine in 10 secondi, sembra riprendersi a 30 connessioni per secondo e poi crolla di nuovo. Questo avviene solo quando un server è particolarmente carico e sensibile al traffico di tutti gli altri siti che sta servendo.

Considerazioni finali

Spero di avervi dato qualche suggerimento su come leggere i test di carico e di avervi spinto, ancor di più, ad effettuarli e ripeterli ad ogni deploy. Vi ricordo, infatti, che questi test evidenziano non solo le performance del server ma anche – se ripetuti frequentemente – l’evoluzione o l’involuzione delle performance dovute al vostro codice, specialmente se siete ospitati su un server dedicato.

In alcune circostanze questi test vi potrebbero indicare che il vostro VPS ha perso potenza di calcolo nel corso del tempo (ovvero, il nodo su cui è ospitato è carico) e questo, per contrasto, potrebbe spingervi a “riciclare” la vostra VM oppure passare ad un servizio di hosting differente.

Se poi avete bisogno di qualche suggerimento oppure di un servizio di hosting dedicato a wordpress solido e con consulenti preparati, provate a contattarci. Vi stupiremo.