Etape 4: Optimisation des performances
Pas de soucis, cela ne prendra pas très longtemps du tout. À ce stade, vos disques vont livrera environ 32 Mo/s sur les points de cache-froid qui est bien loin ce qui dans mon cas, les lecteurs peuvent offrir. Un hdparm courir à ce stade vous dira le disque peut vomir à 60 Mo/s et 3 en cours d’exécution des personnes simultanément contre chacun de mes 3 disques se traduit par environ 18 Mo/s de chaque sorte que nous savons que le facteur limitant ici est le Conseil de multiplicateur de port qui, pour le moment, ne veut pas pousser plus de 60 Mo/s.
La première chose que j’ai changé a été la lecture à venir. Je ne me souviens pas ce que c’était plus la valeur, mais il n’a assez bas, ou tout simplement désactivé. Ce petit script fixe qui :
pour disque dans/dev/SD? ; faire hdparm - un $disk 1024 ; fait
Ensuite, j’ai augmenté les tampons utilisés pour la communication réseau :
sysctl net.core.rmem_max=2801664
sysctl net.core.wmem_max=2097152
sysctl net.ipv4.tcp_rmem="4096 87380 2801664"
sysctl net.ipv4.tcp_wmem="4096 16384 2097152"
sysctl net.core.optmem_max=65535
sysctl net.core.netdev_max_backlog=5000
À ce stade, que j’ai pu lire à 90 Mo/s directement à la sortie de votre disque dur et, à l’aide de Samba, pousser environ 50 Mo/s via le réseau, qui cherchait assez décent. Cependant j’ai trouvé que tout en servant les fichiers du processus de samba consommerait toutes les UC sur un noyau. Étant lié aux CPU sur ce que devrait être une charge de travail liée aux e/s aurait été absurde alors j’ai eu à travailler sur le réglage des Samba. J’ai ajouté ces 2 options à la section [global] :
utilisation de sendfile = true
stricte allouer = yes
Surtout qu’un première a entraîné une amélioration spectaculaire de la lecture. Le second est pour de meilleures performances d’écriture. Après avoir fait tous ce Samba est maintenant un processus lié aux e/s comme il convient, en poussant les données à 65 + Mo/s tout en affirmant que 70 % d’un processeur core. Étant donné que cette machine n’a rien de plus important à faire, c’est très bien.
Enfin, nous devons faire le courant absorbé un cran en obtenant des disques inactifs pour alimenter un peu agressivement vers le bas.
hdparm -S 12 - K 1/dev/SD ?
La valeur du paramètre -S est le montant de 5 unités de deuxième que le lecteur ralenti sera continuent-elles avant d’alimenter le bas, donc 1 minute. Western Digital a sa propre interprétation unique de ce réglage particulier où le plus agressif vous pouvez le définir est -S 3 qui se traduit par le lecteur hors tension après 10 minutes d’être inactifs, qui est assez bon.
Ça y est, vous avez terminé !