Yönettiğim Linux sistemlerinin çoğu donanım RAID denetleyicileri (çoğunlukla HP Smart Array ) içerir. Hepsi RHEL veya CentOS kullanıyor.
SAS diskleri (Smart Array, Perc, LSI, vb.) Ve pil destekli veya flash destekli önbellek içeren donanım RAID denetleyicilerini içeren kurulumlarda performansı optimize etmeye yardımcı olan gerçek dünyaya uygun ayarlayıcılar arıyorum. RAID 1 + 0 ve çoklu iş milleri (4+ disk) varsayalım.
Düşük gecikmeli ve finansal işlem uygulamaları için Linux ağ ayarlarını yapmak için önemli miktarda zaman harcıyorum. Ancak bu seçeneklerin çoğu iyi belgelenmiştir (gönderme / alma arabelleklerini değiştirme, TCP pencere ayarlarını değiştirme vb.). Mühendisler depolama tarafında ne yapıyor?
Tarihsel olarak, ben değişiklikler yaptık G / Ç zamanlama asansör geçenlerde için gözle deadline
ve noop
benim uygulamalar içinde performansını artırmak için schedulers. RHEL sürümleri ilerledikçe, SCSI ve CCISS blok aygıtları için derlenmiş varsayılan değerlerin de değiştiğini fark ettim. Bunun zaman içinde önerilen depolama altsistemi ayarları üzerinde etkisi oldu. Ancak, net bir öneri gördüğümden beri bir süre geçti. Ve işletim sistemi varsayılanlarının optimal olmadığını da biliyorum. Örneğin, 128kb'lik varsayılan okuma önbelleği, sunucu sınıfı donanımda bir dağıtım için son derece küçük görünüyor.
Aşağıdaki makaleler, önceden okunan önbellek değiştirmenin ve nr_requests değerlerinin blok kuyrukları üzerindeki performans etkisini araştırıyor .
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-why-tuning-gerçekten önemli konular
http://yoshinorimatsunobu.blogspot.com/2009/04/linux-io-scheduler-queue-size-and.html
Örneğin, bunlar bir HP Smart Array RAID denetleyicisi için önerilen değişikliklerdir:
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
Depolama performansını artırmak için başka ne gibi güvenilir bir ayarlama yapılabilir?
Özellikle üretim senaryolarında sysctl ve sysfs seçeneklerini arıyorum.