I server virtuali, oggi, sono una delle tipologie più diffuse nell’ambito delle scelte di servizi webhosting, si tratta di vere e proprie macchine virtuali che vengono fornite all’utente con diverse configurazioni, variabili a seconda delle esigenze e della fascia di servizio richiesta. Acquistarne uno non è difficile, gli hoster propongono soluzioni personalizzabili, per tutte le esigenze, professionali e non. Ma è possibile valutare se l’acquisto fatto è giusto? Certo. Ecco le conclusioni di Internet Magazine.
Ci sono dei parametri “trasversali” da osservare, comuni a tutte le offerte disponibili sul mercato. [Per il test è stato utilizzato un VPS Linux, nella versione Platinum.]
SOFTWARE E PIATTAFORMA
Una VPS è sostanzialmente una macchina virtuale creata all’interno di una specifica piattaforma di virtualizzazione, per questo è fondamentale per valutare il proprio acquisto comprendere su quale piattaforma è stato creato il nostro server. Nel caso della VPS presa in test ci troviamo su Vmware ESX, prodotto di punta di VMware e utilizzato in ambito professionale per via della completa virtualizzazione hardware fornita, oltre ad un ottimo isolamento interno delle VM.
La scelta della piattaforma è quasi sempre indicativa della fascia di servizio acquistata, piattaforme basate su VMware o prodotti simili, come Hyper-V o ancora altri hypervisor bare-metal, richiedono investimenti consi stenti in hardware certificato e licenze, e consentono al provider di erogare servizi con caratteristiche anche di high availability.
La prima informazione da reperire è pertanto quale sia il software di virtualizzazione utilizzato, oltre ai prodotti VMware vi sono VPS create all’interno di Virtuozzo (prodotto da Parallels) e altre ancora create tramite Xen, hypervisor opensource alla base anche di diverse soluzioni commerciali come XenServer di Citrix.
HARDWARE E STORAGE
Non dimentichiamo inoltre di chiedere su quale hardware viene erogato il servizio, i server destinati alla virtualizzazione sono solitamente macchine molto potenti, in cui giocano un ruolo chiave i valori di memoria RAM (non inferiore ai 4 GB solitamente, ma variabile a seconda del numero di VM ospitate) e la velocità dei dischi. Nel nostro caso la soluzione scelta è una delle migliori, i server infatti sono Dell equipaggiati con Intel Xeon QuadCore, mentre la parte di storage è affidata ad una SAN Clariion EMC, in sostanza uno storage esterno dedicato, collegato in fiberchannel al server che ospita la virtual machine. Questa di esternalizzare lo storage è una soluzione molto comune in servizi di fascia medio-alta, in virtù dei tempi di accesso molto ridotti e della possibilità per il provider di gestire al meglio le singole macchine virtuali sui nodi hardware.
Nel caso il nostro provider sia sprovvisto di storage esterno, verifichiamo che i dischi delle macchine non siano di fascia economica, soluzioni SATA sono ad esempio poco indicate in ambienti di fascia media.
Solitamente la scelta della piattaforma di virtualizzazione è indicativa anche della destinazione di utilizzo della VPS, soluzioni con virtualizzazione hardware sono generalmente destinate non solo al webhosting ma in generale all’utilizzo in qualsiasi altro ambiente, dall’erogazione di proprie applicazioni personalizzate fino all’utilizzo come macchina di puro calcolo o rielaborazione dati. Si tratta di parametri che dobbiamo valutare a priori e non certo dopo l’acquisto: solitamente l’hosting provider specifica chiaramente quale sia l’ambito di utilizzo della macchina, se destinata specificatamente al webhosting (come può avvenire come VPS Virtuozzo – www.parallels.com/virtuozzo o Open-VZ – http:// wiki.openvz.org) o se utilizzabile come vero e proprio server dedicato, indipendentemente dalle limitazioni apportate dalla virtualizzazione.
LA SCELTA DEL SISTEMA OPERATIVO
Verifichiamo infine la possibilità d’installare sulla nostra macchina il sistema operativo che desideriamo.
La maggior parte delle offerte giunge con una distribuzione (parliamo di Linux) già installata, nel caso di Hosting Solutions è Ubuntu Server, ma è possibile richiedere la sostituzione della stessa se la piattaforma lo consente, nel nostro caso trattandosi di VMware il provider non ha avuto difficoltà a formattare la virtual machine per procedere all’installazione di una distribuzione Debian in versione minimale. Sarebbe utile diffidare delle aziende che non dichiarano esplicitamente mente quale sia la piattaforma di virtualizzazione adottata, da questo parametro dipendono anche fattori importanti come la gestione della memoria ram e dei cicli di CPU, valori che in un ambiente pur sempre condiviso a livello di risorse, sono essenziali da conoscere. Nel caso della VPS di HostingSolutions possiamo leggere chiaramente come alla nostra VM vengano vengano assegnati 512 MB di memoria ram garantita e 256 Mhz di CPU minima, con un burst di utilizzo (in condizioni di sistema scarico presumibilmente) illimitato. Il fronte della connettività è fondamentale nell’analisi della nostra virtual machine.
Come qualsiasi altra risorsa, alla nostra macchina virtuale il provider assegna anche un valore di mbit/s di banda utilizzabile in download e upload. Un valore di 1 Mbit/s come nel caso dell’offerta presa in considerazione può essere più che sufficiente (possiamo generare, a pieno regime, 300 GB al mese di traffico), per valutare quale sia la soglia effettivamente concessa proviamo ad eseguire il download dalla nostra macchina di un file di medie dimensioni (una distribuzione Linux da uno dei mirror più noti). Spesso il provider limita la banda al valore dichiarato solo nel caso in cui la rete sia effettivamente al suo pieno utilizzo, nel nostro caso abbiamo assistito a picchi maggiori rispetto a quanto dichiarato, fino a 2/3 Mbit/s.
TEST DI INPUT E OUTPUT
Il fatto di trovarsi in un ambiente virtuale, con uno strato software che si interpone tra noi e le risorse hardware, solitamente annulla l’effettiva valenza dei test di input/output eseguiti sul nostro sistema. Dobbiamo ancora una volta fare un’eccezione per le piattaforme bare-metal con virtualizzazione hardware, nel nostro caso la virtualizzazione VMware non ha avuto difficoltà a fornirci dati molto vicini a quelli riscontrabili su qualsiasi equivalente sistema hardware non virtualizzato. I test di I/O si basano quasi sempre sulla risposta del sistema dal punto di vista dei dischi, vero e proprio punto critico del sistema e in particolare per una piattaforma virtuale; nel nostro caso la scelta ricade sull’utilizzo di quattro specifici tools atti a darci una panoramica delle performance del nostro sistema.
Iozone (www.iozone.org) è il primo benchmark utilizzato, è scritto interamente in C e può essere eseguito su sistemi operativi Windows, Linux, Unix, Solaris e tanti altri; si tratta di un benchmark liberamente utilizzabile che esegue sul sistema una serie di operazioni classiche che coinvolgono processore, memoria ram, utilizzo della cache e ovviamente dei dischi, denotando ovviamente risultati migliori o peggiori a seconda anche del file system a corredo della nostra macchina. Nel caso di una macchina virtuale come la nostra, con 512 MB di ram, abbiamo eseguito dei test standard impostando il benchmark perché lavorasse con 1024 MB di ram, esattamente il doppio di quella realmente allocabile. Da qui abbiamo ottenuto una serie di dati e grafici relativi alle singole operazioni, solitamente le più importanti da visionare sono Read e Write, con attenzione anche all’utilizzo di funzioni di libreria come fread o fwrite. I grafici mostrano una situazione più che comune per le caratteristiche del sistema, ma è utile leggere la documentazione del software per capire come interpretare in dettaglio i valori e come affinare le procedure di testing a seconda della macchina a nostra disposizione.
PERFORMANCE DEI DISCHI
Il passaggio all’utilizzo di benchmark come Hdparm (http://en.wikipedia.org/wiki/Hdparm) e Seeker (www.linuxinsight.com/how_fast_is_your_disk.html) è invece espressamente destinato ad analizzare le perfomance dei dischi di sistema: il primo è un benchmark ampiamente diffuso in ambiente Linux, va avviato con privilegi “root” e ci mostra le performance base dei dischi di sistema.
Seeker è un software meno conosciuto, un piccolo tool realizzato in C che fornisce i tempi medi accesso al disco in millisecondi: nel caso della VPS di HostingSolutions.it i valori ottenuti sono molto positivi (nell’ordine degli 11 ms) e sono chiaramente imputabili alla scelta di utilizzare una SAN esterna per lo storage.
Tempi di accesso bassi e in generale, buone performance sul versante dell’I/O sono indice di una buona configurazione generale della piattaforma da parte del provider ma anche dell’utilizzo di hardware ben dimensionato.
Il benchmark UnixBench (www.tux.org/pub/tux/niemi/unixbench/unix bench-4. 1.0.tgz) è una sorta di “conferma” utilizzata per avere una visione d’insieme sulle performance di input e output, si tratta di un software presente da diversi anni ma comunemente utilizzato per la valutazione delle performance delle macchine virtuali.
UTILIZZO COME WEBSERVER
Le soluzioni VPS presenti oggi sul mercato sono proposte quasi sempre come soluzione hosting per chi necessita di avere un ambiente dedicato con una quantità specifica di risorse dedicate: il testing di una soluzione hosting è di base abbastanza complessa, nel caso di una VPS la possibile soluzione, lato webserver, è quella di procedere all’utilizzo di stress-tool appositamente scritti per questo scopo. Nel caso della VPS provata abbiamo utilizzato Siege (www.joedog.org/JoeDog/Siege), software opensource che permette di simulare una serie continua di richieste sulla nostra macchina, mettendo alla prova il tempo di risposta e le performance generali della parte webserver. Come funziona? L’utilizzo di Siege è semplice, il sito ufficiale mette a disposizione tutte le informazioni necessarie, una volta installato ci sarà sufficiente configurare il tool e procedere al test, ricordandoci di impostare chiaramente quanti utenti deve simulare Siege e con quale intervallo: per avvicinarci alla simulazione reale, Siege consente di impostare un delay minimo di pochi secondi tra una richiesta e la successiva, andando così a riprodurre il comportamento di un utente durante la navigazione sul sito. Per dare al programma una “base” di urls su cui eseguire i test la soluzione più semplice è sicuramente utilizzare Sproxy (disponibile sullo stesso sito) o ancora inserire manualmente gli urls su cui vogliamo eseguire i tests. Nel caso della VPS di HostingSolutions.it i risultati sono ottimali, a fronte di un test eseguito con 100 e 200 utenti collegati contemporaneamente.
Il consiglio è quello di utilizzare urls inerenti a pagine dinamiche in modo tale da testare indirettamente anche la capacità del database server di elaborare le query in tempi accettabili.
A cura di Internet Magazine – Back End