Jump to content

Performances d'un serveur samba sous ubuntu


Recommended Posts

Bonjour à tous!

J'ai un vieux synology de 2007 dont les débits ne me satisfont pas (14mo/s). J'ai donc décidé que plutôt que

de payer 300€ pour un NAS de 2 baies, je pourrais me faire pour le même prix, mon propre NAS.

J'ai donc opté pour une carte mère mini-itx (asus E350i deluxe) à base de CPU Llano d'AMD, avec 2 coeurs à 1.6ghz,

4 Go de DDR3, et bien sur le tout en GB Lan, et même connecté avec du cable cat6.

Le problème est le suivant : les débits sont nuls, puisqu'ils ne dépassent pas les 30mo/s. en écriture.

Or, les disques sont capables de bien plus, j'ai pu le tester en local sur le NAS. Pire encore, en lecture, j'ai pu obtenir du 11-12Mo/s...

Le partage est fait via samba, et le disque est formaté en ext4 (un autre en NTFS est présent, et lent lui aussi (pas plus de 10Mo/s en écriture), mais j'ai lu que c'était du au pilote NTFS de linux qui n'est pas très performant. Je passerai donc tous les disques en ext4.

Maintenant la question est de savoir pourquoi cette lenteur? en local je dépasse les 70Mo/s; et en testant le réseau j'obtiens une vitesse de 974mb/s. Les partages entre deux postes windows sont rapides (plus de 50mo/s).

Auriez vous des pistes pour rendre le tout plus rapide?

Merci d'avance!

Link to comment
Share on other sites

A défaut de résoudre ton problème, n'étant pas assez calé sur le sujet (mais d'autre vont venir).

Voici un topic fort intéressant : http://forum.pcinpac...13#entry2565013

En effet, c'est une chose à laquelle j'avais pensé : je sais que mes equipements réseaux gèrent les jumbo frames, mais je n'avais

pas vu comment voir ça rapidement. Je vais en effet regarder ce lien, merci :)

Link to comment
Share on other sites

Test en scp avec différent algo de crypto et en ftp pour voir si c'est pas juste samba qui est tout pourri ;)

Je sais que chez moi j'ai des débits samba < à scp.

Aussi, est-ce que tu es en RAID et si oui lequel ? les RAID 1, 5 et tout ceux qui font de la redondance font perdre beaucoup de perf en écriture, c'est tout à fait normal.

Link to comment
Share on other sites

Quand tu parles de 70Mo/s en local, c'est de disque à disque sur le serveur ?

Comment testes tu le réseau pour trouver les 974 mb/s ? Tu le fais entre le serveur et le client samba ?

Pour info, j'ai longtemps eu un serveur samba tournant sous atom, 2Go de ram et ubuntu avec un controleur GB. Mes débits étaient autour de 40-50Mo/s en lecture et écriture. Mon serveur actuel avec un G530, 4Go de ram et sous debian me donne facilement plus de 100Mo/s stables en lecture comme en écriture sur de gros fichiers. Le reste du matériel, que ce soit coté serveur ou client étant strictement identique, j'en ai conclu que ça venait du couple processeur/controleur réseau.

D'abord parce que le G530 est bien plus rapide pour faire tourner samba (même si ce n'est pas hyper gourmand), et ensuite parce que souvent sur les carte mère avec proc intégré, c'est à ce dernier que les calculs du controleur réseau sont confiés. Le contrôleur ne se chargeant pas de tout comme un contrôleur que l'on trouve sur une carte réseau digne de se nom ou sur une carte mère plus haut de gamme.

Je ne sais pas si ça pourra t'aider, mais j'aime bien faire mes tests de débit réseau avec iperf qui existe sous linux et sous windows: http://blog.nicolargo.com/2007/03/tester-la-performance-de-votre-reseau-avec-iperf.html

Et pour les tests samba, il y a NAS performance tester que je n'ai pas testé, mais dont j'ai lu du bien: http://www.808.dk/?code-csharp-nas-performance

Link to comment
Share on other sites

Vérifie avec d'autres protocoles, j'ai eu le droit une fois à un joli bug qui faisait que le SFTP était bridé à mort (genre 3/4Mo/s en local !) alors que samba passait bien. Si tu as des débits similaires avec les autres protocoles, là, t'as un vrai problème.

Link to comment
Share on other sites

Bonjour à tous! Les perfs, je les avais testées avec iperf, justement (entre deux clients linux, je n'ai pas essayé depuis windows).

Cette fois j'ai re-testé, et j'obtiens ceci :

------------------------------------------------------------

Client connecting to 10.0.1.21, TCP port 5001

TCP window size: 23.5 KByte (default)

------------------------------------------------------------

[ 3] local 10.0.0.99 port 49435 connected with 10.0.1.21 port 5001

[ ID] Interval Transfer Bandwidth

[ 3] 0.0-10.0 sec 1.03 GBytes 885 Mbits/sec

Concernant le RAID, je n'ai aucune redondance d'aucune sorte.

Pour les débits en local, je parle bien d'une copie d'un disque du serveur à un autre disque du même serveur.

En outre vu que j'ai plein d'exemplaires de ce disque, je sais qu'ils peuvent faire bien mieux que 30 mo/s ^^

Je vais tester avec d'autres protocoles pour voir, je vous donne les résultats!

EN tous cas merci :)

PS : pour être sur, j'ai également testé le transfert Linux-Linux, et je suis à 10.7mo/s en moyenne sur un fichier de 700mo (lecture depuis le serveur).

Dans ce contexte, samba utilisait 20 à 26% du CPU (j'ai monitoré via top). J'ai les mêmes résultats depuis windows. C'est moins que les 30Mo/s que j'ai pu avoir au mieux,

mais cela est du à une config diférente du serveur samba. Je détaille ci après le problème de la configuration de samba.

Link to comment
Share on other sites

Le problème est que par défaut, la configuration de samba me donne des résultats completement nuls en performances.

J'ai donc suivi un guide pour optimiser les perfs de samba : https://calomel.org/samba_optimize.html

En pratique, la plupart des réglages ne changent pas grand chose, le seul qui à de l’effet, c'est le suivant :

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536

J'ai voulu virer ce paramètre pour vous donner les performances "par défaut" (mais avec les autres tweakings), et là, surprise :

en lecture depuis le serveur j'obtiens 50mo/s; en écriture vers le serveur j'obtiens 30Mo/s!

C'est déjà bien mieux, et je ne comprends pas trop ce qui a changé depuis ma première install...

Peut être une mise à jour intermédiaire?

Donc c'est déjà bien, on a du progrès!

PS :

Ah si j'ai aussi enlevé un disque NTFS du serveur, qui provoquait des erreurs SMART, mais que je n'utilisais pas (je travaillais sur un disque neuf, en ext4), pensez vous qu'un disque défectueux puisse ralentir un autre disque?

Link to comment
Share on other sites

Bon, j'ai activé les jumbo frames (8K), mais je ne gagne pas grand chose en performances : je reste à environ 30-40Mo/s vers le NAS, 40-50mo/s depuis le NAS.

Le CPU reste occupé à - de 50% dans top, donc il reste de la marge!

Link to comment
Share on other sites

Méfie toi des copies de fichier via interface graphique si tu fais tes tests depuis un client de ton NAS. J'ai le cas depuis nautilus, quand je fais une copie ctrl+c ctrl+v, il copie dans le presse papier, et donc le coller à des perfs pourris parce que le fichier passe par le client. Alors qu'avec un cp ou mv en ssh sur le nas, ou en clique molette / déplacer ici depuis nautilus, pas de souci, il me fait bien une copie locale sur le nas.

Link to comment
Share on other sites

Le CPU reste occupé à - de 50% dans top, donc il reste de la marge!

Quand tu dis - de 50%, c'est proche de cette valeur ou pas ? Parce que je ne sais plus si samba est "multithreadable", mais si ce n'est pas le cas tu pourrais être bridé par le proc...

Link to comment
Share on other sites

Le CPU reste occupé à - de 50% dans top, donc il reste de la marge!

Quand tu dis - de 50%, c'est proche de cette valeur ou pas ? Parce que je ne sais plus si samba est "multithreadable", mais si ce n'est pas le cas tu pourrais être bridé par le proc...

En pratique, disons entre 30 et 50%. Toutefois, il ne faut pas oublier le fonctionnement de "top", qui donne les performances en %, mais sachant que le total n'est pas 100% mais 100%*nombre de coeurs. Dans mon cas c'est donc 50% sur 200%. En effet, en monitorant le coeur 0, j'ai pu vérifier que celui ci ne dépasse pas les 50% d'utilisation.

Maintenant je dois dire que rétrospectivement, si j'avais mieux comparé l'offre disponible, j'aurais sans doute pris une carte mère mini-itx et un céléron dual core...

Link to comment
Share on other sites

Méfie toi des copies de fichier via interface graphique si tu fais tes tests depuis un client de ton NAS. J'ai le cas depuis nautilus, quand je fais une copie ctrl+c ctrl+v, il copie dans le presse papier, et donc le coller à des perfs pourris parce que le fichier passe par le client. Alors qu'avec un cp ou mv en ssh sur le nas, ou en clique molette / déplacer ici depuis nautilus, pas de souci, il me fait bien une copie locale sur le nas.

Je ne comprends pas bien ce que tu veux dire?

Parles tu des tests en local? dans ce cas la, pas de problème, les débits sont meilleurs.

Les tests réseaux se font sous windows via supercopier (après tout la majorité des postes clients sont sous windows, seul mon laptop de boulot est sous ubuntu -en dehors du serveur bien sur :dd: -, donc autant tester en "conditions réelles")

De manière générale, vos serveurs samba, vous les optimisez d'une façon quelconque, ou ça "roule" du premier coup?

Link to comment
Share on other sites

  • 1 month later...

Avec mon C2D 1.6 Ghz avec deux hdd 1000 To en RAID 1 et un uptime de 2 ans avec plusieurs dixaines TO de données inscrites et effacées; je suis à 40/50 Mo /s en lecture et 35/40 Mo/s en écriture. Au début j'étais presque au double de mémoire.

Je suis en ext 4. Je ne sais pas par contre si l'ext 3 est plus rapide, les deux sont journalisés il me semble, donc je ne voit pas pourquoi l'ext3 serait plus rapide.

Link to comment
Share on other sites

  • 5 weeks later...

perso j'ai des débit de 95Mo/s dans les deux sens sur un partage samba sur mon RAID 5 !!

config :

carte mère MSI (j'ai pas la référence exacte mais à 50€ ...)

cpu : athlon x3 460

ram : 4go corsair 1600

disque4* 1To Seagate + 1To samsung en raid 5 (ext4)

distro : OpenMediaVault

l'ancienne config à base d'athlon 64 3200+ (mono coeur donc) me donnais des perf équivalente SANS le raid 5... (avec le raid les perfs tombait a 50Mo/s environ ...CPU limited)

si tu veux faire un test de débit tente aussi avec un rsync entre 2 Linux histoire de mettre en cause samba ou pas.

faut pas oublier que Samba est très gourmant en CPU ...

perso scp j'ai arreter... trop de charge cpu pour des débits anémiques...

voila pour ma config, perso dans ton cas je testerai une distro spécialisé (freenas, OMV, OpenFiler...) voir ce que ça donne

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...