Sempre pronto a riportarvi la mia esperienza diretta sul campo.
Oggi tocca all’attesissimo Elastic File System (EFS) di Amazon.
1. Caratteristiche dei VPS
Per i test ho utilizzato
- Istanza EC2 t2.micro
- Storage SSD General Pourpose
- Cartella /var/www mappata su storage EFS
Amazon AWS | |
---|---|
Sistema di virtualizzazione | |
CPU | 1 x Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz |
RAM | 1 GB |
Quota Disco | 15 GB |
Banda Mensile | Illimitato |
Ubicazione Datacenter | Germania |
Prezzo Mensile | variabile |
Di sicuro il cloud AWS di Amazon non ha bisogno di presentazioni, il nostro focus in questo articolo è più incentrato sulla nuova feature di AWS per il filesystem EFS.
Per essere più specifici EFS è uno storage di rate, dove andiamo a mappare semplicemente uno share NFS. Perchè è così interessante e molti lo stavano aspettando da parecchio tempo?
Vi elenco qui di seguito alcuni dei motivi che, secondo me, lo rendono molto interessante
- Lo spazio di storage visibile su linux è di 8.0E (8 esabyte!!!! sincerametne è la prima volta che lo vedo scritto su un sistema up and running….), voi pagate solo quanto occupate, non dovete più pensare ad espandere lo storage, o temere che si riempia (si ok potete riempire 8 esabyte, ma ovviametne li pagherete MOLTO cari )
- Possibilità di mappare simultanemanete lo stesso storage s istanze diverse. Fino a prima della presenza di EFS i singoli storage, potevano essere mappati su una sola istanza per volta, con EFS questa restrizione non esiste più (di fatto è solo uno share nfs per noi).
- Scalano le perfomance in base alla dimensione dello storage
Vediamo però un po’ di test pratici, per capire le potenzialità e i limiti di questa tecnologia.
2. Velocità dischi
Per testare la velocità dei dischi, ho utilizzato il comando Linux dd e di seguito vi riporto direttamente i log dei risultati così come li ho visti io:
Amazon AWS
Lettura sequenziale
root@test1:/var/www# dd if=/dev/zero of=test bs=64k count=32k conv=fdatasync 32768+0 records in 32768+0 records out 2147483648 bytes (2.1 GB) copied, 19.3418 s, 111 MB/s root@test1:/var/www#
Lettura random
root@test1:/var/www# ioping -R . --- . (nfs4 eu-west-1a.fs-d27a971b.efs.eu-west-1.amazonaws.com:/) ioping statistics --- 971 requests completed in 3.0 s, 323 iops, 1.3 MiB/s min/avg/max/mdev = 2.2 ms / 3.1 ms / 13.3 ms / 618 us root@test1:/var/www#
3. Banda
Per effettuare i test di banda ho utilizzato speedtest-cli, che altro non è che l’interfaccia a riga di comando di Speedtest.net.
Vi ricordo che il parametro che interessa maggiormente a noi è la banda di Upload, che è quella che usiamo per erogare i servizi (anche se quella in download torna generalmente comoda, dipende dalle esigenze).
root@test1:/var/www# ./speedtest-cli
Retrieving speedtest.net configuration…
Retrieving speedtest.net server list…
Testing from Amazon (52.50.90.35)…
Selecting best server based on latency…
Hosted by Three Ireland (Dublin) [1.78 km]: 2.74 ms
Testing download speed………………………………….
Download: 170.75 Mbit/s
Testing upload speed…………………………………………..
Upload: 148.78 Mbit/s
root@test1:/var/www#
4. Test apertura wordpress
Ho effettuato dei test di accesso tramite il sito Loadimpact.com
maggiori dettagli qua.
5. Considerazioni finali
Tralasciando i soli aspetti, vorrei focalizzarmi di più sulla parte efs, e nello specifico i test sulle velocità dei dischi.
Per quanto riguarda le letture sequenziali direi che non ci sono particolari problemi, si raggiunge tranquillamente la velocità del gigabit.
Quello che mi lascia molto perplesso è la velocità sulle letture random, che arriva solo a 1,3MB/s. Se volessimo usare uno share del genere, per gestire ad esempio i dati di un webserver multisite, ho i miei dubbi che le cose andrebbero bene, risulterebbe troppo lento nell’apertura dei file.
Siccome il sistema scala le performance in base alla quantità di dati, ho letto sulle specifiche di EFS, che il primo scalino si raggiunge a 100 GB di dati, così ho provato a creare 100GB di file e vedere se le cose cambiavano, ma le performance erano pressoché identiche.
Diciamo che al momento può essere un ottimo sistema per la condivisione di file di grande dimensioni, ma non per accessi veloci di file sparsi. Ho avuto problemi simili anche utilizzando condivisioni nfs in passato su altri sistemi, configurati direttamente da me e le problematiche erano le stesse, non so dirvi per cui se il problema è di EFS in se, o del protocollo usato per il mapping (NFS). Ho provato a fare un po’ di tuning ma senza ottenere risultati soddisfacenti.
p.s.: i test sono sicuramente discutibili e andrebbero continuati, per ora però mi accontento di questo
Lascia un commento