Débit SaMBa sur raid5 + LVM Debian

Débit SaMBa sur raid5 + LVM Debian - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 31-01-2011 à 11:27:59    

Bonjour à tous,
 
J'ai monté il y a maintenant 3 semaines un serveur de fichier à base d'une Gigabyte GA-D525 TUD et 3x 1To en raid 5,
J'ai donc mon raid qui turne sous mdadm et un lvm dessus, mais mes debits en lecture et écriture depuis le réseau (Gb/s) sont de l'ordre de 25 - 30 Mo/s. (en test hdparm j'ai 125Mo/s sur la grappe) et en

Code :
  1. dd if=/dev/md0 of=/dev/null bs=1M count=10000
  2. 10000+0 enregistrements lus
  3. 10000+0 enregistrements écrits
  4. 10485760000 octets (10 GB) copiés, 87,0059 s, 121 MB/s


Quelqu'un a-t'il une idée d'où celà peut provenir?
 
Thanks
 
WiGi

Reply

Marsh Posté le 31-01-2011 à 11:27:59   

Reply

Marsh Posté le 31-01-2011 à 12:34:02    

fait  
 

Citation :

hdparm -tT /dev/md0


 
et
 

Citation :

dd if=/dev/zero of=/point/montage/test.bidon bs=4096 count=1000000


 
donne les résultats

Reply

Marsh Posté le 31-01-2011 à 14:55:00    

gizmo15 a écrit :

fait  
 

Citation :

hdparm -tT /dev/md0


 
et
 

Citation :

dd if=/dev/zero of=/point/montage/test.bidon bs=4096 count=1000000


 
donne les résultats


 
Voilà les résultats:
 

Code :
  1. hdparm -tT /dev/md0
  2. /dev/md0:
  3. Timing cached reads:   1952 MB in  2.00 seconds = 976.06 MB/sec
  4. Timing buffered disk reads: 376 MB in  3.07 seconds = 122.45 MB/sec


 

Code :
  1. dd if=/dev/zero of=/media/users/gilles/test.bidon bs=4096 count=1000000
  2. 1000000+0 enregistrements lus
  3. 1000000+0 enregistrements écrits
  4. 4096000000 octets (4,1 GB) copiés, 29,5584 s, 139 MB/s


 
Merci pour ton aide :D

Reply

Marsh Posté le 31-01-2011 à 15:26:11    

de rien ;)
 
bas écoute la tu écris à ~140Mo/s donc c'est pas ton raid.
 
regarde si la négociation gigabyte est bien faite

Reply

Marsh Posté le 31-01-2011 à 15:56:20    

Il est bien en gigabit, sinon il dépasserait pas les 12Mo/s :p
 
Dans la conf de Samba, tu peux configurer des buffers en émission / réception.
 
Configurer des valeurs correctes peut permettre d'augmenter très significativement les performances.

Reply

Marsh Posté le 31-01-2011 à 16:08:23    

oui d'accord mais half/full ca peut influer ^^

Reply

Marsh Posté le 31-01-2011 à 16:12:27    

ccp6128 a écrit :

Il est bien en gigabit, sinon il dépasserait pas les 12Mo/s :p
 
Dans la conf de Samba, tu peux configurer des buffers en émission / réception.
 
Configurer des valeurs correctes peut permettre d'augmenter très significativement les performances.


 
 
Est-ce que tu peux m'aider à faire celà?
 
Voilà mon smb.conf:
 

Code :
  1. [global]
  2. workgroup = workgroup
  3. netbios name = Atom-Nas
  4. # writeable = yes
  5. server string = Atom-NAS Server
  6. security = share
  7. #  syslog = 0
  8.     dns proxy = No
  9. ## Browsing/Identification ###
  10. socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
  11. read size = 16384
  12. ## Exemple ##
  13. ;[Dossier_a_partager]
  14. ;   path = /path/to/folder
  15. ;   comment = description du folder
  16. ;   read only = no
  17. ;   guest ok = yes
  18. ;   public = yes
  19. ## Partages ##
  20. [Gilles]
  21. path = /media/users/gilles
  22. comment = Répertoire partagé de Gilles
  23. read only = no
  24.     guest ok = yes
  25. public = yes
  26. # create mode = 0777
  27. directory mask = 0777
  28. available = yes
  29. writable = yes
  30. browsable = yes
  31. #force create mode = 0660
  32. #force directory mode = 0777
  33. [Benoit]
  34. path = /media/users/benoit
  35. comment = Répertoire partagé de Benoit
  36. read only = no
  37.     guest ok = yes
  38. public = yes
  39. create mode = 0777
  40. directory mask = 0777
  41. [Bernard]
  42. path = /media/users/bernard
  43. comment = Répertoire partagé de Bernard
  44. read only = no
  45.     guest ok = yes
  46. public = yes
  47. create mode = 0777
  48. directory mode = 0777
  49. [Films]
  50. path = /media/films/films
  51. comment = Répertoire partagé des films
  52. read only = no
  53.     guest ok = yes
  54. public = yes
  55. create mode = 0777
  56. directory mode = 0777
  57. [Musique]
  58. path = /media/music/musique
  59. comment = Répertoire partagé de Musiques
  60. read only = no
  61.     guest ok = yes
  62. public = yes
  63. create mode = 0777
  64. directory mode = 0777
  65. [Jeux]
  66. path = /media/games
  67. comment = Répertoire partagé des Isos de jeux
  68. read only = no
  69.     guest ok = yes
  70. public = yes
  71. create mode = 0777
  72. directory mode = 0777


 

Citation :

oui d'accord mais half/full ca peut influer ^^


 
Que veux tu dire par là ? tu peux m'aider sur ce point de vue là ?
 
 
un iperf au cas ou:

Code :
  1. Client connecting to 192.168.1.8, TCP port 5001
  2. TCP window size: 16.0 KByte (default)
  3. ------------------------------------------------------------
  4. [  3] local 192.168.1.10 port 43809 connected with 192.168.1.8 port 5001
  5. [ ID] Interval       Transfer     Bandwidth
  6. [  3]  0.0-10.0 sec    897 MBytes    752 Mbits/sec


Merci à vous 2 :D


Message édité par WiGi le 31-01-2011 à 16:15:14
Reply

Marsh Posté le 31-01-2011 à 16:53:10    

d'après ton iperf les débits ont pas l'air si dégueux que ca, t'as essayé en ftp?

Reply

Marsh Posté le 31-01-2011 à 17:13:13    

C'est les paramètres SO_RCVBUF et SO_SNDBUF dans le smb.conf
 
Essaie d'augmenter ou diminuer leur valeur (+ redémarrage de samba), ca peut influer pas mal.
 
Sur de l'Atom, je dirais de tester d'abord en divisant par deux la valeur, ca devrait améliorer les perfs.

Reply

Marsh Posté le 31-01-2011 à 17:54:23    

gizmo15 a écrit :

d'après ton iperf les débits ont pas l'air si dégueux que ca, t'as essayé en ftp?


 
En FTP je suis à 70Mio/s pour le 1er Gio puis après au fur et à mesure de l'écriture je descend jusque 30Mio/s à la moitié du transfert 4Gio / 8Gio puis il remonte sur la fin jusqu'a 50Mio/s ??!
 
En SMB avec un SO_RCVBUF et SO_SNDBUF à 4096 je suis à 7.3Mio/s
En SMB toujours, mais avec un SO_RCVBUF et SO_SNDBUF à 16384 je suis à 25Mio/s
En SMB toujours, mais avec un SO_RCVBUF et SO_SNDBUF à 32768 je suis à 35Mio/s
En SMB, en enlevant SO_RCVBUF et SO_SNDBUF il monte jusqu'à 35Mio/s
 
En NFS je suis à 50 Mio/s pour le 1er Gio puis ca plafonne à 30Mio/s jusqu'à la fin
 
Est ce que 2Gio de RAM serait-ce trop peu?

Reply

Marsh Posté le 31-01-2011 à 17:54:23   

Reply

Marsh Posté le 31-01-2011 à 17:58:41    

Je ne pense pas que ce soit un souci lié à la RAM.
 
Dommage pour le tuning de Samba, tu peux creuser un peu plus la : http://www.samba.org/samba/docs/ma [...] speed.html mais a mon avis ce ne sera pas très probant.
 
D'expérience, les deux trucs les plus efficaces étant le tuning des buffers et le TCP_NODELAY.
 
 
Tu as tracé l'occupation CPU pendant un transfert réseau ?

Reply

Marsh Posté le 31-01-2011 à 18:06:23    

ccp6128 a écrit :

Je ne pense pas que ce soit un souci lié à la RAM.
 
Dommage pour le tuning de Samba, tu peux creuser un peu plus la : http://www.samba.org/samba/docs/ma [...] speed.html mais a mon avis ce ne sera pas très probant.
 
D'expérience, les deux trucs les plus efficaces étant le tuning des buffers et le TCP_NODELAY.
 
 
Tu as tracé l'occupation CPU pendant un transfert réseau ?


 
 
Tracer avec un top? je fais ca de suite
CPU : entre 2 et 15%pour sys
smbd 30% et m0_raid5 25% y'a aussi un flush-253:4 à 30% mais je ne sais pas de quoi il s'agit

Reply

Marsh Posté le 31-01-2011 à 18:10:33    

Le process flush se charge d'écrire sur le disque les données modifiées.
 
T'es donc proche du 100% cpu on dirait ? C'est peut être ca qui limite.
 
Je te linke un post que j'avais fait sur le topic NAS et qui détaille les optimisations que j'avais faites sur mon NAS avec une config un peu similaire (RAID5 + samba) :
 
http://forum.hardware.fr/forum2.ph [...] 1#t7538034
 
J'obtiens de bien meilleurs débits, en espérant que ce soit pas lié au CPU un poil plus puissant.

Reply

Marsh Posté le 31-01-2011 à 18:23:45    

Je m'étais déjà inspiré de ton post, le mieux que j'ai c'est 35Mio/s ...
En nfs, il y a aussi moyen de tuner le bouzin? histoire d'avoir mieux que 35Mio/s ?

Reply

Marsh Posté le 31-01-2011 à 18:59:58    

Par défaut non, NFS est déjà normalement très performant en utilisation normale.
 
Le tuning est possible, mais le gain se constate uniquement dans des conditions trop spécifiques pour que je puisse donner des astuces "toutes faites".

Reply

Marsh Posté le 31-01-2011 à 19:22:59    

ccp6128 a écrit :

Par défaut non, NFS est déjà normalement très performant en utilisation normale.
 
Le tuning est possible, mais le gain se constate uniquement dans des conditions trop spécifiques pour que je puisse donner des astuces "toutes faites".


 
Donc si en nfs j'ai 35 - 40 Mio/s c'est que mon processeur limite le tout ?
Si depuis Windows j'ai aussi ces débits je suis au bout quoi?


Message édité par WiGi le 31-01-2011 à 19:24:24
Reply

Marsh Posté le 31-01-2011 à 20:19:11    

salut
intéressant ce topic...
pour ma part j'aurais dit aussi que c'est samba qui limite.
j'ai vu quelques benchs sur le net, et ils s'accordent à dire que le NFS est plus rapide.
j'ai aussi un serveur sous debian avec un samba qui marche bien. mais pour les très gros fichiers, je préfère transferer en FTP, c'est plus rapide :D

 

edit: sur mon samba, j'ai juste mis l'option TCP_NODELAY. j'ai essayé avec d'autres mais en moyenne ça perdait en débit :(
du coup, je suis aussi à 25/30 mo/s sur un reseau gigabits.

 

edit2: mon serveur est une petite machine avec peu de ram, ceci estplique surement cela.
je suis en train de me monter un vrai filer, avec un i3 550 + 4 go de ram + 2 disques "wd green" en raid 1 hard
j'aurai également ce règlage des 4K à faire sur ces nouveau disques, ça devrait deja aller beaucoup mieux :)


Message édité par li1ju le 31-01-2011 à 20:37:49
Reply

Marsh Posté le 31-01-2011 à 21:23:37    

Si en NFS t'es limité pareil, c'est que le goulot d'étranglement n'est pas Samba oui.
 
Après étant donné que les tests en local donnent un bien meilleur débit (donc pas de soucis potentiels niveau FS ou kernel par exemple) j'aurais  tendance a penser que le couple transfert réseau + gestion RAID met à genoux ta machine.

Reply

Marsh Posté le 31-01-2011 à 21:39:45    

ccp6128 a écrit :

Si en NFS t'es limité pareil, c'est que le goulot d'étranglement n'est pas Samba oui.
 
Après étant donné que les tests en local donnent un bien meilleur débit (donc pas de soucis potentiels niveau FS ou kernel par exemple) j'aurais  tendance a penser que le couple transfert réseau + gestion RAID met à genoux ta machine.


 
Oui, ça doit venir de là, si jamais tu as une idée de comment résoudre ce soucis elle est la bienvenue.. :D
Mais alors comment font des NAS comme les Synology ou QNAP qui utilisent aussi un Atom mais ont de bien meilleurs débits?
 
Bàt

Reply

Marsh Posté le 01-02-2011 à 11:01:41    

Le matos que tu as devrait supporter bien plus. A mon avis, doit y avoir un blocage quelque part (genre au niveau du kernel) qui fait tes perfs s'effondrer.
 
C'est quoi comme chipset réseau ? Tu as une grosse charge CPU quand tu fais un Ipperf ?

Reply

Marsh Posté le 01-02-2011 à 11:35:21    

ccp6128 a écrit :

Le matos que tu as devrait supporter bien plus. A mon avis, doit y avoir un blocage quelque part (genre au niveau du kernel) qui fait tes perfs s'effondrer.
 
C'est quoi comme chipset réseau ? Tu as une grosse charge CPU quand tu fais un Ipperf ?


 
Si tu peux m'aider à résoudre ce soucis ce serait vraiment génial de ta part ! :-D tu n'as qu'a me dire quoi faire et je te dirais si ca change quelque chose ou pas  ;-)
 
Le chipset réseau est un Realtek RTL8111E quand je fais un iperf je suis à  max 62% pendant 2 sec puis à 35% d'utilisation du processeur ( mon iperf à l'instant me donne 759Mbits/s)

Reply

Marsh Posté le 01-02-2011 à 11:43:21    

le cumule du raid logiciel + le chipset réseau merdique + samba ne ferait pas saturer le cpu?

Reply

Marsh Posté le 01-02-2011 à 11:50:11    

gizmo15 a écrit :

le cumule du raid logiciel + le chipset réseau merdique + samba ne ferait pas saturer le cpu?


 
Mais comment font les Syno et Qnap alors? meme si je mets une carte pci D-link j'ai ces débits Oo

Reply

Marsh Posté le 01-02-2011 à 12:00:15    

ce n'est qu'une hypothèse ^^

Reply

Marsh Posté le 01-02-2011 à 12:12:45    

gizmo15 a écrit :

ce n'est qu'une hypothèse ^^


 
Y'a pas de souçis, c'est jusque que ca me fait un peu ch*** d'avoir ces débits avec un carte qui devrait pouvoir donner plus !

Reply

Marsh Posté le 01-02-2011 à 12:17:45    

Les chipsets RealTek sont pas géniaux en effet. Tu peux obtenir de gros débits dessus, mais le design général est cheap (une grosse partie du traitement est reporté sur le CPU).
 
A mon avis, le driver Realtek doit te charger en interruptions, ce qui met ton premier core a 100% load et te ralentit à mort ta machine.
 
Teste deux choses pour vérifier ca :
 
Lance un gros transfert, et fais un cat /proc/interrupts , poste le résultat ici.
 
Désactive l'HyperThreading dans ton BIOS, et reteste les débits réseaux. Si le souci vient de la, il y a de grosses chances que ca booste bien les débits.

Message cité 1 fois
Message édité par ccp6128 le 01-02-2011 à 12:18:09
Reply

Marsh Posté le 01-02-2011 à 12:23:35    

ccp6128 a écrit :

Les chipsets RealTek sont pas géniaux en effet. Tu peux obtenir de gros débits dessus, mais le design général est cheap (une grosse partie du traitement est reporté sur le CPU).
 
A mon avis, le driver Realtek doit te charger en interruptions, ce qui met ton premier core a 100% load et te ralentit à mort ta machine.
 
Teste deux choses pour vérifier ca :
 
Lance un gros transfert, et fais un cat /proc/interrupts , poste le résultat ici.
 
Désactive l'HyperThreading dans ton BIOS, et reteste les débits réseaux. Si le souci vient de la, il y a de grosses chances que ca booste bien les débits.


 
 

Code :
  1. cat /proc/interrupts
  2.            CPU0       CPU1       CPU2       CPU3     
  3.   0:        430         418           404          402    IO-APIC-edge      timer
  4.   1:          1           0               1             0       IO-APIC-edge      i8042
  5.   7:          0           0               0             0       IO-APIC-edge      parport0
  6.   8:          0           1               0             0       IO-APIC-edge      rtc0
  7.   9:          0           0               0             0       IO-APIC-fasteoi   acpi
  8. 16:         43         43            41           42       IO-APIC-fasteoi   uhci_hcd:usb5, HDA Intel
  9. 17:     725188     724366     722582     724547   IO-APIC-fasteoi   ahci
  10. 18:          0          0          0          0               IO-APIC-fasteoi   pata_jmicron, uhci_hcd:usb4
  11. 19:          0          0          0          0               IO-APIC-fasteoi   uhci_hcd:usb3
  12. 23:          0          0          0          0               IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2
  13. 26:    6282563    6281357    6282711    6281666   PCI-MSI-edge      eth0
  14. 27:     468750     470752     471198     470272   PCI-MSI-edge      ahci
  15. 28:          0          0                  0          0               PCI-MSI-edge      i915
  16. NMI:          0          0          0          0   Non-maskable interrupts
  17. LOC:    4230407    3693045    3896066    3547963   Local timer interrupts
  18. SPU:          0          0          0          0   Spurious interrupts
  19. PMI:          0          0          0          0   Performance monitoring interrupts
  20. PND:          0          0          0          0   Performance pending work
  21. RES:      83206      94932     108342     112158   Rescheduling interrupts
  22. CAL:    1052060    1119184       1395       1224   Function call interrupts
  23. TLB:       5136       6595      16563      16311   TLB shootdowns
  24. TRM:          0          0          0          0   Thermal event interrupts
  25. THR:          0          0          0          0   Threshold APIC interrupts
  26. MCE:          0          0          0          0   Machine check exceptions
  27. MCP:       1612       1612       1612       1612   Machine check polls
  28. ERR:          3
  29. MIS:          0


 

Reply

Marsh Posté le 01-02-2011 à 12:38:57    

Ca a l'air bien distribué :/
 
Tant qu'on est dans les tests, tu peux installer nmon et le lancer pendant un transfert réseau, et poster un screen ?
 
Essaie d'obtenir un screen qui montre à la fois le "CPU Utilisation", "Network I/O" et "Disk I/O".
 

Reply

Marsh Posté le 01-02-2011 à 13:53:13    

ccp6128 a écrit :

Ca a l'air bien distribué :/
 
Tant qu'on est dans les tests, tu peux installer nmon et le lancer pendant un transfert réseau, et poster un screen ?
 
Essaie d'obtenir un screen qui montre à la fois le "CPU Utilisation", "Network I/O" et "Disk I/O".
 


 
voilà http://tyrolienne.dyndns.org/testNmon.png (je ne l'ai pas mise ailleur pcq sinon on ne sait plus rien lire...

Reply

Marsh Posté le 01-02-2011 à 13:59:32    

Ta machine s'ennuie :/ Tout a l'air OK.
 
A croire que le souci viendrait plutôt de ta machine source. T'aurais pas un antivirus ou un firewall dessus qui limiterait le débit ?
 
Pour moi y'a aucun souci identifiable sur ton NAS.

Message cité 1 fois
Message édité par ccp6128 le 01-02-2011 à 14:00:15
Reply

Marsh Posté le 01-02-2011 à 14:00:32    

ccp6128 a écrit :

Ta machine s'ennuie :/ Tout a l'air OK.
 
A croire que le souci viendrait plutôt de ta machine source. T'aurais pas un antivirus ou un firewall dessus qui limiterait le débit ?


 
ben c'est un laptop avec Debian squeeze, tu sais me dire quoi regarder ?
mon firewall est l'iptable par défaut ...


Message édité par WiGi le 01-02-2011 à 14:05:24
Reply

Marsh Posté le 01-02-2011 à 14:28:25    

Teste déjà les débits disque sur ton laptop. y'a des chances que la limitation vienne de la.
 
Hdparm c'est un bon début, bonnie++ donne des résultats plus détaillés.

Reply

Marsh Posté le 01-02-2011 à 14:36:23    

ccp6128 a écrit :

Teste déjà les débits disque sur ton laptop. y'a des chances que la limitation vienne de la.
 
Hdparm c'est un bon début, bonnie++ donne des résultats plus détaillés.


 
Voilà:

Code :
  1. hdparm -tT /dev/sda
  2. /dev/sda:
  3. Timing cached reads:   5284 MB in  2.00 seconds = 2642.80 MB/sec
  4. Timing buffered disk reads: 252 MB in  3.01 seconds =  83.64 MB/sec


 
 
Et si je crée un tmpfs et que je lui fout mon fichier à copier dedans, je serais pas limité par la vitesse du hdd de mon laptop?

Reply

Marsh Posté le 01-02-2011 à 14:40:11    

Bonne idée !

Reply

Marsh Posté le 01-02-2011 à 15:48:07    

ccp6128 a écrit :

Bonne idée !


 
Bon, j'arrive pas a créer un ramdisk qui soit vraiment en ram, je trouves pas de tuto complet... :S tu sais me dire comment faire ?

Reply

Marsh Posté le 01-02-2011 à 17:18:50    

Reply

Marsh Posté le 01-02-2011 à 19:47:02    

Merci pour ton tuto, j'ai donc fait le test et sur un fichier de 1.4Go j'ai une écriture à 44Mio/s et une lecture à 69Mio/s ! Tou ça depuis le ramdisk sur mon laptop... il faudrait que je fasse ce même test entre 2 ramdisk?

Reply

Marsh Posté le 01-02-2011 à 20:10:06    

Je pense pas qu'il y ait un quelconque souci sur ton NAS du coup. A mon avis avec un pc plus costaud en face tu pourras avoir de meilleurs débits.
 
Par curiosité, c'est quoi comme config et chipset réseau ton portable ?

Reply

Marsh Posté le 01-02-2011 à 21:53:56    

ccp6128 a écrit :

Je pense pas qu'il y ait un quelconque souci sur ton NAS du coup. A mon avis avec un pc plus costaud en face tu pourras avoir de meilleurs débits.
 
Par curiosité, c'est quoi comme config et chipset réseau ton portable ?


 
c'est un HP Probook 4520s http://www.microcity.be/webshop/pr [...] 7P-MB.html,
Parcontre moi j'ai un  Realtek RTL8111/8168B Gigabit Ethernet et un Core i3 370M et bientôt 8 Gio de ram.(D'ailleur si tu as des conseils sur des trucs à mettre en ram pour booster le tout :P)

Reply

Marsh Posté le 18-04-2011 à 23:38:43    

Sur le NAS, tu pourrais quand même faire un lvdisplay rapide ? ça ne pourrait pas faire de mal d'y jetter un oeil rapide, surtout le paramètre readahead qui peut effondrer les perf' (mais en lecture uniquement).

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed