web-dev-qa-db-fra.com

Pourquoi Samba Access de Windows est-il si lent?

J'ai mis en place un serveur de fichiers avec Ubuntu 12.04 Server. Le but est de servir plusieurs lecteurs réseau aux utilisateurs de Windows qui étaient jusqu'alors desservis par de nombreux lecteurs NAS.

J'ai Samba mis en place avec une part définie jusqu'à présent. Je peux très bien me connecter à partir de mes machines Windows 7 et Windows XP.

Lorsque je crée une liste de répertoires sur le partage à partir de Windows, l'obtention de tous les fichiers répertoriés peut prendre jusqu'à deux minutes. Cela aurait pris environ 1,5 seconde lorsque j'utilisais le NAS Buffalo. Parfois, il expire sans réponse du tout.

J'ai utilisé le fichier smb.conf par défaut et j'ai simplement ajouté ce qui suit pour le partage que j'ai configuré jusqu'à présent:

[engineering]
comment = Ubuntu File Server Share
path = /networkdriveshares/engineering
browsable = yes
guest ok = yes
read only = no
create mask = 0755

J'ai essayé de remplacer le paramètre de groupe de travail par le nom de domaine actif utilisé par notre ordinateur Windows, mais je n’ai remarqué aucune différence.

Le seul autre changement que j'ai apporté au fichier smb.conf par défaut a été ajouté aux paramètres de socket recommandés:

     SO_RCVBUF=8192 SO_SNDBUF=8192
     socket options = TCP_NODELAY

Beaucoup d’informations sur les partages lents de Samba en ligne, mais j’ai essayé toutes les solutions que j’ai trouvées et aucune n’a fait une différence. S'il n'y a pas de solution, existe-t-il un meilleur moyen de configurer un serveur de fichiers qui sera utilisé par les clients Windows?

5
swalker2001

Essayez de configurer votre serveur sans définir SO_RCVBUF et SO_SNDBUF. C'est à dire:

socket options = TCP_NODELAY

et rien d'autre. Ou commentez entièrement socket options et utilisez la valeur par défaut de Samba.

J'ai eu un problème similaire avec Ubuntu 12.04 et un client Mac sur Ethernet gigabit. Lire un fichier devenait environ 100 Ko/seconde, ou 300 fois trop lent. Dans Ubuntu 11.10, je mettais les deux tampons à 8192 comme vous l'avez essayé. Mais lors de la mise à niveau vers 12.04, je me suis rendu compte que je devais supprimer ce paramètre pour obtenir des performances optimales (environ 30 Mo/seconde, la vitesse du disque).

ne autre solution J'ai suggéré de définir max protocol = NT1. J'ai d'abord essayé ça et ça ne m'a pas aidé.

1
Nelson