Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/02/2009, à 21:57

Pouy

Solution Hardy LAMP + FreeNAS, performances

Bonjour,
j'ai un gros problème de performances entre Hardy et mon serveur de fichiers sous FreeNAS. Tout ceci se déroule dans mon environnement de developpement.

Mon objectif est d'avoir, sur le NAS les fichiers d'un site Internet (SPIP) et la base de données MySQL associée. Ma solution LAMP n'a pour vocation que de permettre l'affichage du site (PIII 500 / 256 ram). Les partages sur le NAS sont en NFS et CIFS pour un accès par un portable sous Slitaz ou un PC sous Windows XP.

Les performances de mon site (ne contenant encore rien) avec cette solution sont désastreuses... J'ai déplacé les bases sur le LAMP, ce n'est pas beaucoup plus brillant, et en déplacant aussi les pages, c'est mieux...

J'entrevois 2 solutions :
- Améliorer ma connexion LAMP / FreeNAS et de ce fait, continuer dans la même architecture. La communication passe actuellement par un hub, un switch sera plus perfornant, mais pour l'instant, je n'ai pas ca sous la main. Mon mount dans mon fstab est très long, je pense ne pas forcement avoir placé les bonnes options.
- Changer mon fusil d'épaule, me servir du FreeNAS comme support de sauvegarde (reste a définir comment), mais comment interragir sur les fichiers du LAMP de m'importe où/quoi sans pour autant ajouter des "fonctionnalités" a cette machine.

Merci pour vos pistes et/ou avis,
Pouy.

Hors ligne

#2 Le 20/02/2009, à 22:47

B@rtounet

Re : Solution Hardy LAMP + FreeNAS, performances

Bonsoir,
Si j'ai bien compris, tu as un serveur Freenas, (je ne connais pas bien mais bon) qui te sert de NAS surtout en tant que serveur nfs et cifs...

et un serveur LAMP sous Ubuntu Hardy qui va chercher les fichiers de tes sites web (fichiers statiques et bdd) en NFS sur le NAS.

Jusque là pas de soucis... je suis prêt à te croire sur les performances désastreuses, mais pour qu'on puisse t'aider, peux tu nous détailler ta config hard... et étayer tes dires par de vrais benchs..

De quoi est constitué ton NAS, combien de disques, quels débits, quel archi quel mode de raid?? peux tu me sortir les différents test...
commence par me donner les débits séquentiels de ton NAS avec un dd, déjà pour savoir combien il peut débiter...
ensuite un test de débit sur ton montage NFS...
Ensuite merci de surveiller les consos ram  et cpu de ton serveur LAMP et NAS
C'est toujours mieux de savoir de quoi on parle...

Dernière modification par B@rtounet (Le 20/02/2009, à 22:47)

Hors ligne

#3 Le 21/02/2009, à 22:43

Pouy

Re : Solution Hardy LAMP + FreeNAS, performances

Bonsoir,

Si j'ai bien compris, tu as un serveur Freenas, (je ne connais pas bien mais bon) qui te sert de NAS surtout en tant que serveur nfs et cifs...
et un serveur LAMP sous Ubuntu Hardy qui va chercher les fichiers de tes sites web (fichiers statiques et bdd) en NFS sur le NAS.

C'est exactement cela.

Je n'ai pas forcement toutes les réponses a tes questions (très pertinantes).

Le FreeNAS : Duron 1 Ghz, 512 Mo de RAM. 4 disques IDE (pas de RAIDx), carte réseau 10/100.
Actuellement, une demande de page par le serveur Web charge le processeur à 1%, la ram à 5%, Réseau in 17 Kbps / out 11 Kbps.
Le partage monté ne concerne qu'un seul disque du NAS.

Sur un client, la même page s'affiche en 1 seconde en local vs 20 secondes...
J'ai ajouté le nom du serveur dans les hosts de FreeNAS (message d'avertissement dans les logs)...

La commande mount -a met 15 secondes sur le LAMP, sans erreur. C'est un PIII 500 avec 256 M0 de ram. Pendant la demande d'une page, Apache2 et MySQLd occupe +/- 10%, en ram le LAMP utilise 200Mo de RAM.

Les deux machines sont en 2*1 metre de RJ45 connecté à un hub, il fait le relais grace a un cable de 10m au routeur.

Woili woila, en vrac...
Merci,
Pouy.

Dernière modification par Pouy (Le 21/02/2009, à 22:46)

Hors ligne

#4 Le 22/02/2009, à 01:20

B@rtounet

Re : Solution Hardy LAMP + FreeNAS, performances

Ton disque NAS est capable de donner quel débit en lecture et ecriture séquentielle? (test avec la commande dd), fait aussi un débit réseau entre ton lamp et ton NAS avec un iperf.

Hors ligne

#5 Le 22/02/2009, à 08:36

Pouy

Re : Solution Hardy LAMP + FreeNAS, performances

Bonjour,
je me renseigne sur ces deux commandes et je fait passer ces informations.

Pouy.

Hors ligne

#6 Le 22/02/2009, à 13:59

B@rtounet

Re : Solution Hardy LAMP + FreeNAS, performances

Pour t'aider je me monte un petit Freenas sur une machine virtuelle Xen, et je regarde les overhead que le soft peut avoir

Hors ligne

#7 Le 22/02/2009, à 14:39

B@rtounet

Re : Solution Hardy LAMP + FreeNAS, performances

Franchement les premiers test que j'ai de freenas ne sont pas très probant...
j'ai réussi à planter ma VM en faisant un partage NFS...
les débits en iscsi sont très mauvais

Hors ligne

#8 Le 23/02/2009, à 08:24

Pouy

Re : Solution Hardy LAMP + FreeNAS, performances

Holla,
je n'ai pas eu le temps ce week-end de faire les tests, je fait ca ce soir et je post.
Merci pour tes efforts, mais il est inutile que tu casses quoi que ce soit chez toi :-)

Pouy.

Dernière modification par Pouy (Le 23/02/2009, à 08:24)

Hors ligne

#9 Le 23/02/2009, à 09:37

B@rtounet

Re : Solution Hardy LAMP + FreeNAS, performances

t'inquiète je casse rien c'est que du virtuel smile

Hors ligne

#10 Le 23/02/2009, à 19:49

Pouy

Re : Solution Hardy LAMP + FreeNAS, performances

Bonjour,
voici le résultat d'une commande dd

$ time dd if=/dev/zero of=/home/Atlantis/test bs=16k count=16k
16384+0 enregistrements lus
16384+0 enregistrements écrits
268435456 octets (268 MB) copiés, 57,8733 s, 4,6 MB/s

Pour la commande "iperf -s", c'est plus sport a lancer via le webGUI du freeNAS

$ sudo iperf -c 192.168.1.101
connect failed: Connection refused
write1 failed: Broken pipe
write2 failed: Broken pipe
------------------------------------------------------------
Client connecting to 192.168.1.101, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 0.0.0.0 port 56577 connected with 192.168.1.101 port 5001
[  3]  0.0- 0.0 sec  0.00 Bytes  0.00 bits/sec

Là, j'ai mis un switch à la place du hub qui était en place, mais les résultats étaient sensiblement identiques... De loin, cela ne me semble pas completement dans les chaussettes pour la lecture de fichiers faisant 2/3 ko...

Merci,
Pouy.

Dernière modification par Pouy (Le 23/02/2009, à 19:58)

Hors ligne

#11 Le 23/02/2009, à 20:51

Pouy

Re : Solution Hardy LAMP + FreeNAS, performances

Bien, je ne comprends pas... Ca fonctionne correctement maintenant en lisant les pages stockées sur le FreeNAS... Je vais faire rebooter tout ce petit monde pour voir si ce n'est pas les differentes méthodes de mount du NFS qui sont impliquées (rsize et wsize).

Pouy.

Hors ligne

#12 Le 23/02/2009, à 22:18

B@rtounet

Re : Solution Hardy LAMP + FreeNAS, performances

ha bizzare, en même temps  4.6Mo/s c'est ridicule comme débit... c'est pas du tout optimisé.. faudrait voir a améliorer ça... Bon ça suffit pour afficher des pages mais bon,
Je ne sais pas quel est le type de disque que tu utilise, mais là ca vrai vraiment peu... tu peux savoir quel débit ton disque peut soutenir, en faisant un dd directement sur ton périphérique bloc si ton disque c'est hda

dd if=/dev/hda of=/dev/zero bs=1M iflag=direct

Par exemple sur ma dédibox..

 dd if=/dev/sda of=/dev/zero bs=1M iflag=direct
226+0 records in
225+0 records out
235929600 bytes (236 MB) copied, 4,37599 s, 53,9 MB/s

Bon je pense que NFS ajoute un peu d'overhead, mais bon, c'est un protocole robuste... tu devrais pas trop avoir de perte...

Par contre si tu es sur un réseau 100Mbits/s alors tu sera limité par la bande passante réseau... 12Mo/s... mais en tout état de cause tu devrais monter à plus que 4mbits/s, a moins que se soit le freenas qui bride (soit logiciel, soit hardware (conso cpu manque de mémoire, etc...)

Hors ligne

#13 Le 23/02/2009, à 23:56

B@rtounet

Re : Solution Hardy LAMP + FreeNAS, performances

J'ai fait un petit test sur une VM xen sur un partage NFS...

Voilà ce qu'est capable de débiter un LV sur ma VM

suse11-1para:/mnt/nfs # dd if=/dev/hdb of=/dev/zero bs=1M iflag=direct
^C358+0 records in
357+0 records out
374341632 bytes (374 MB) copied, 3.17086 s, 118 MB/s

je crée un FS XFS et je le monte en tant que partage NFS.
voici les options de montages NFS

/mnt/nfs 10.0.0.115/255.255.255.255(rw,async)
 mount -t nfs 10.0.0.40:/mnt/nfs /mnt

je test l'écriture et la lecture sur ce partage réseau à  partir d'un autre serveur.
pour prouver que c'est pas le réseau qui bride voici un iperf entre les deux serveurs....

suse11-1para:/mnt/nfs # iperf -w1M -c10.0.0.115
------------------------------------------------------------
Client connecting to 10.0.0.115, TCP port 5001
TCP window size:   256 KByte (WARNING: requested 1.00 MByte)
------------------------------------------------------------
[  3] local 10.0.0.40 port 54880 connected with 10.0.0.115 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  2.33 GBytes  2.00 Gbits/sec

Ne t'étonnes pas des chiffres élevé c'est en fait entre un DomU et le Dom0 de Xen donc le lien réseau entre les deux est normal, bref le réseau ca dépote !!!

Maintenant les test sur le partage NFS.
en écriture sur le partage

xenserver:/mnt # dd if=/dev/zero of=/mnt/toto.bin bs=1M oflag=direct
^C972+0 records in
972+0 records out
1019215872 bytes (1.0 GB) copied, 12.4684 s, 81.7 MB/s

en lecture

xenserver:/mnt # dd if=/mnt/toto.bin of=/dev/null
^C1216849+0 records in
1216849+0 records out
623026688 bytes (623 MB) copied, 7.38896 s, 84.3 MB/s

Comme on peu le constater le NFS a de l'overhead puisque qu'a partir d'un disque qui peut atteindre les  118Mo/s on obtient à la fin des débit de 84Mo/s

Je m'interesse maintenant aux options du montage NFS.
Comme le dit bien la doc ubuntu
async : permet au serveur NFS de violer le protocole NFS et de répondre au requête avant que les changements effectués par la requête aient été appliqués sur l'unité de stockage. Cette option améliore les performances mais a un coût au niveau de l'intégrité des données (données corrompues ou perdues) en cas de redémarrage non-propre (par exemple en cas de crash système).

Je vais donc essayer l'option sync qui respecte NFS ( et entre nous je pense que c'est comme ca qu'est utilisé NFS dans FreeNas)

/mnt/nfs 10.0.0.115/255.255.255.255(rw,sync)

Et là les tests de vitesse
en écriture

xenserver:/ # dd if=/dev/zero of=/mnt/toto.bin bs=1M oflag=direct
^C477+0 records in
477+0 records out
500170752 bytes (500 MB) copied, 8.0612 s, 62.0 MB/s

en lecture

xenserver:/ # dd if=/mnt/toto.bin of=/dev/null
^C756385+0 records in
756384+0 records out
387268608 bytes (387 MB) copied, 5.24106 s, 73.9 MB/s

On voit en écriture une chute de quasiment 50% des débits par rapport au capacité du disque....

Sans compter la conso CPU qui à mon avis est déterminant chez toi...

suse11.1pa --b---        119   38.3     524288   25.0     524288      25.0     2    1  3583360  6109078    3        0    50450   141036    0

Pour ma part environ 40% cpu sur le serveur lors d'une ecriture sur NFS

Hors ligne

#14 Le 24/02/2009, à 08:18

Pouy

Re : Solution Hardy LAMP + FreeNAS, performances

Salut,
même si je ne comprends que 50% de ce que tu as écrit, c'est impressionnant ;-)
Je pense que ma limitation est plus du côté hardware au niveau du disque, le CPU est a 10% en lecture et/ou ecriture. C'est un disque IDE d'ancienne génération sur une carte mère qui doit avoir un Bus en 66. Mon réseau est effectivement en 100 Mb/s donc mes 4 MB/s représentent 30% du débit max des tuyaux. Ca doit etre améliorable, mais cela à le mérite de fonctionner. Qui plus est le système de fichier sur le disque est du FAT et je ne suis pas sur que cela soit optimisé pour NFS...

Dans mon malheur, ca fonctionne a peut prêt correctement (je ne sais toujours pas pourquoi) et je pense que le switch est un vrai plus comparé au hub anciennement en place.

Concernant les commandes en local, je n'ai pas vraiment vu où je pouvais lancer ce type d'instruction sur le FreeBSD, mais je n'ai pas vraiment cherché.

Merci beaucoup pour tes efforts,
Pouy.

Edit:
En lisant 2/3 bêtises sur le net, je suis tombé sur les débits théoriques des différents modes PIO et DMA. Il n'est pas impossible que ma vitesse d'E/S soit bridée par le BIOS de la machine, à cause d'un paramétrage un peut trop pépère. Je regarde ce soir a tout hasard ;-)

Dernière modification par Pouy (Le 24/02/2009, à 08:38)

Hors ligne