Programmation  » lecture réseau & performance
Catégorie :  
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
lecture réseau & performance
Publié le 04/08/2010 @ 20:10:12,
Par Altar
Hello les amiches \o/

J'ai un petit soucis de performance avec la lecture d'un fichier sur un serveur de fichiers avec win7.

Serveur de fichiers sous linux (centOS 5.4) avec samba 3.4 / connexion fiber 10g, client sous windows 7 avec une connexion gigabit.

Taille moyenne d'un fichier 25Gib.

Si j'effectue une copie d'un fichier vers le/du nas du/vers le client avec explorer, j'obtiens une vitesse de 110Mib/sec. L'interface gigabit étant le bottleneck.

Si j'essaye de faire une simple boucle while(read()!=0) en c# sur un fichier stocké sur le nas, j'obtiens 25mo/sec... pathétique hein ? en c, en utilisant un handle asynchrone et non bufferé sur le fichier, j'arrive à monter à 66Mib/sec de moyenne avec un buffer de 1Mib.

Il a quoi de magique l'explorer ? :tinostar:

Merchi ^^
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
lecture réseau & performance
Publié le 05/08/2010 @ 12:59:35,
Par Dr_Dan
Essaye d'augmenter la taille des bloc de la fonction read :petrus:
Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root. :petrus:
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
lecture réseau & performance
Publié le 05/08/2010 @ 14:29:10,
Par Altar
Dr_Dan > c'est bien ce que j'ai fait xD

J'ai essayé 32kib / 64kib / 128kib / 256kib / 512kib / 1Mib / 2Mib / 4Mib avec handle avec tampon et sans tampon.

64kib semble être la meilleur valeur avec un handle avec tampon et 1Mib avec un handle sans tampon.
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
lecture réseau & performance
Publié le 05/08/2010 @ 17:31:03,
Par zion
Très bonne question et euh...

Ben voila quoi :oh:
Je suis le Roy | Ouvrir un e-Commerce? | 1+1=4 | Freedelity
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
lecture réseau & performance
Publié le 05/08/2010 @ 18:27:11,
Par Clandestino
En mettant des poils, ça glissera mieux ?

:topicalacon:
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
lecture réseau & performance
Publié le 06/08/2010 @ 13:06:30,
Par Altar
Bon voilà, j'ai implémenté un simple envoi d'un fichier à travers un socket tcp en c. Petit tuning du socket TCP avec le SO_SNDBUF à 256kib. Pareil pour le client en c#, sauf qu'on modifie le SO_RCVBUF et magie, je suis à 110Mio/sec... c'est ce que je devrais avoir avec smb aussi.

Ca sent la sodo made in microsoft ça ...

Je le savais que j'aurais du faire développeur web et rejeter tous les soucis de performances sur les développeurs de butineurs :ocube:

Dernière édition: 06/08/2010 @ 13:26:23
Répondre  - Catégorie :  
Informaticien.be  - © 2002-2019 Akretio SPRL  - Generated via Kelare - Hosted by Verixi Internet Services
The Akretio Network: Akretio  - Freedelity  - KelCommerce  - Votre publicité sur informaticien.be ?