La plupart des systèmes Linux que je gère disposent de contrôleurs RAID matériels (principalement HP Smart Array ). Ils exécutent tous RHEL ou CentOS.
Je recherche des paramètres ajustables du monde réel pour aider à optimiser les performances des configurations qui intègrent des contrôleurs RAID matériels avec des disques SAS (Smart Array, Perc, LSI, etc.) et un cache sauvegardé par batterie ou flash. Supposons RAID 1 + 0 et plusieurs broches (4+ disques).
Je passe beaucoup de temps à régler les paramètres du réseau Linux pour les applications de trading à faible latence et financières. Mais bon nombre de ces options sont bien documentées (modification des tampons d'envoi / réception, modification des paramètres de la fenêtre TCP, etc.). Que font les ingénieurs côté stockage?
Historiquement, j'ai apporté des modifications à l' ascenseur de planification d'E / S , en optant récemment pour les planificateurs deadline
et noop
pour améliorer les performances de mes applications. Au fur et à mesure que les versions de RHEL ont progressé, j'ai également remarqué que les valeurs par défaut compilées pour les périphériques de bloc SCSI et CCISS ont également changé. Cela a eu un impact sur les paramètres de sous-système de stockage recommandés au fil du temps. Cependant, cela fait un moment que je n'ai vu aucune recommandation claire. Et je sais que les valeurs par défaut du système d'exploitation ne sont pas optimales. Par exemple, il semble que le tampon de lecture anticipée par défaut de 128 Ko soit extrêmement petit pour un déploiement sur du matériel de classe serveur.
Les articles suivants explorent l'impact sur les performances de la modification du cache de lecture anticipée et des valeurs nr_requests sur les files d'attente de blocs.
http://zackreed.me/articles/54-hp-smart-array-p410-controller-tuning
http://www.overclock.net/t/515068/tuning-a-hp-smart-array-p400-with -linux-pourquoi-le-réglage-vraiment-important
http://yoshinorimatsunobu.blogspot.com/2009/04/linux-io-scheduler-queue-size-and.html
Par exemple, ce sont des modifications suggérées pour un contrôleur RAID HP Smart Array:
echo "noop" > /sys/block/cciss\!c0d0/queue/scheduler
blockdev --setra 65536 /dev/cciss/c0d0
echo 512 > /sys/block/cciss\!c0d0/queue/nr_requests
echo 2048 > /sys/block/cciss\!c0d0/queue/read_ahead_kb
Quoi d'autre peut être réglé de manière fiable pour améliorer les performances de stockage?
Je recherche spécifiquement les options sysctl et sysfs dans les scénarios de production.