Soru HP Proliant ML350 G5 Akıllı Dizi E200i'de RAID Dizi performansı


MS SQL veritabanı kullanan bir uygulamanın performansından şikayet eden bir müşterimiz var. Performans sorunlarının uygulamanın kendisinin hatası olduğuna inanmıyorlar.

Smart Array E200i RAID denetleyicinin 128MB önbelleği var ve önbellek% 75 okuma /% 25 yazma ayarına sahip. Yazma önbelleğini etkinleştirmek için disk dizisi ayarlanır.

Kısa bir süre önce bir disk performans testi kullanıyorduk. SQLIO dayalı bu rehber. Test için 10 GB'lık bir dosya kullandık, ortalama sıralı okuma oranının ~ 60 MB / sn (megabayt / sn) ve ortalama rasgele okuma oranının ~ 30 MB / sn olduğunu bulduk. Sunucunun yapması gereken bu rakamlar eşit mi? Daha iyi değil mi? Korkunç? Şaşırtıcı?

Sunucu kurulumu / RAID denetleyici yapılandırması hakkında ek bilgiler:
Bir RAID 5 dizisinde yapılandırılmış üç adet 146 GB SAS 10k RPM 3.0 GB / sn (model HP DG146BABCF) sürücü vardır. Bunlar, sunucu için kullanılabilen tek fiziksel disklerdir, böylece işletim sistemi verileri ve disk belleği dosyası dahil olmak üzere, hem günlükler hem de veriler aynı fiziksel disk dizisinde bulunur (işletim sistemi verileri ayrı olmak üzere 2 mantıksal sürücü vardır). Dizi şerit boyutu 64k olarak ayarlanmıştır. Toplam kullanılabilir alan 273 GB'dir.

HP Gelişmiş Veri Koruma kapalı. Yeniden oluşturma ve genişletme önceliği ortama ayarlanmıştır. Yüzey tarama gecikmesi 15 saniyedir. Denetleyici bir önbellek kartı ve bir pil takımına sahiptir.


4
2018-06-11 12:51


Menşei


Muhtemelen konfigürasyonu (raid seviyelerini, veri dosyalarını sakladığı ve günlük dosyalarını nerede sakladığı) göndermelisiniz. - pauska
İyi bir çağrı, ilk etapta yer almadığı için üzgünüm. - Nate Pinchot
Disk performansı bir E200 ve 3 10k SAS sürücüler için eşit ses çıkarır. Uygulama, performansı iyileştirmek için "hızlı" bir disk kurulumuna ihtiyaç duyuyor gibi geliyor (ya da uygulamanın nasıl çalıştığını bilmeden söylemesi çok zor, çok zor yazılmış). Bir P600 veya P800'e geçmek küçük bir iyileşme sağlar, bir RAID 10'daki daha fazla disk daha fazla iyileştirme sağlar. - Chris S
App korkunç yazılmış - tamamladıktan sonra bir saniyeden fazla, bir satırda 6 kez, yürütmek için 50 + saniye sürer aynı sorguyu çalıştırır. Nvarchar (40) üzerinde% 95 boş değer olan kümelenmiş dizinlere sahiptir. Dizine eklenmemiş sütunlarda sürekli arama yapar. Müşterinin arkadaşı uygulamayı yazdığı ve bu kişinin söz konusu olduğu kadarıyla su üzerinde yürüdüğü için bunları ayarlama yetkimiz yok. - Nate Pinchot


Cevaplar:


Çok fazla tahammül edilemez. Örneğin, diskler nasıl kurulur? Günlükler ve veriler aynı diskleri paylaşıyorsa, veri alanlarındaki rasgele G / Ç, çoğunlukla ardışık G / Ç olan ve aynı disklerdeki yoğun rastgele erişimli iş yükünden orantısız olarak etkilenen günlük trafiğini bozar.

Yapılandırmanızla ilgili daha fazla bilgi vermeden sorunun neden kaynaklandığını söyleyemem.

Örneğin, RAID 60 MB / sn kapalı 4-disk RAID-5 ya da 64k çizgili ve 15k sürücüler ile RAID-10 için doğrudur. Her bir sürücü, diskin her bir devir başına bir 64k şeridi okuyacaktır (15k'lik bir sürücü için yaklaşık 250 / sn), bu da size sürücü başına 15MB / sn verir.

15k disk için ortalama arama süresi tüm diskte yaklaşık 3ms'dir. Bir RAID birimi üzerinde (bitişik) 146GB veya 300GB diskler ve önbellekten bir miktar yardımla, çoğunlukla bitişik 10GB'lık bir dosyada, yukarıda açıklandığı gibi yapılandırılmış bir disk dizisi için 30MB / sn'nin makul bir rakam olduğunu görebiliyordum. Bu, disklerin her iki devri hakkında okunan bir verinin ortalama değerini gösterir.

Bu, bir ML350'de görmeyi beklediği bir konfigürasyon için kafamın tepesinden bir düşünce. Ancak, gerçek konfigürasyonunuza uyup uymadığı konusunda hiçbir fikrim yok, bu yüzden gözlemlerin sizin durumunuzla ilgili olup olmadığını gerçekten yorumlayamıyorum.


4
2018-06-11 13:27



Donanım yapılandırmasında daha fazla ayrıntı içermeyen özür dilerim. Bir RAID 5 dizisinde yapılandırılmış üç adet 146 GB SAS 10k RPM 3.0 GB / sn (model HP DG146BABCF) sürücü vardır. Bunlar, sunucu için kullanılabilen tek fiziksel disklerdir, böylece işletim sistemi verileri ve disk belleği dosyası dahil olmak üzere, hem günlükler hem de veriler aynı fiziksel disk dizisinde bulunur (işletim sistemi verileri ayrı olmak üzere 2 mantıksal sürücü vardır). Dizi şerit boyutu 64k olarak ayarlanmıştır. Toplam kullanılabilir alan 273 GB'dir. - Nate Pinchot
RAID5'deki günlükler önerilen bir uygulama değildir, aynı zamanda günlükleri ve verileri tavsiye edilmez ve son olarak; İşletim sistemi ve aynı dizideki veriler ve veriler önerilmez. - pauska
Gerçekten de sanırım, bu noktada müşterinin yazılımın sorun olmadığını ve sunucuların gerektiği kadar iyi performans göstermediğini savunan müşteriyle birlikte olduğumuzu belirtmeliydim (yani sıra şu anda istekli değiller) Donanım yükseltmeleri yapmak için para harcamak için) - Sadece istemciye sunucunun mevcut donanımla en iyi şekilde performans gösterdiğini kanıtlamaya çalışıyorum, çünkü bunun olduğuna inanmıyorlar. - Nate Pinchot
Yanıt olarak bu seçildi çünkü orijinal soruya daha doğru bir şekilde hitap ediyordu, ancak @ steveburket'in aşağıdaki cevabı da durumla son derece alakalı. - Nate Pinchot


E200i, Lukas tarafından belgelendiği gibi, kötü performansa sahiptir. İşte ve Ryan İşte. İsteğe bağlı pil takımı (BBWC) takılı olduğundan emin olun ve HP Array Yapılandırma Yardımcı Programı pil durumunu gösterir. (HP Array Yapılandırma Yardımcı Programında, merkezdeki Yapılandırma Görünümünde Denetleyiciye tıklayın ve sağdaki Ortak Görevler menüsünde Daha Fazla Bilgi'yi seçin). Bu Pili yerinde tutmak, disk denetleyicisine performansta iyi bir destek sağlar.

Ama en iyi seçiminiz, E200'ü 'uygun' bir HP SmartArray denetleyicisi ile değiştirmek olacak, 512MB BBWC ile P400 veya P600'leri size iyi bir hız artışı sağlamalıdır.


4
2018-06-11 13:38



Pil takılı ve durumu iyi. P400 ve P600'ü kontrol edeyim, teşekkürler. - Nate Pinchot
+1 Bununla mücadele ettik ve bu HP forumlarında ortaya çıktı. Asla mükemmel bir düzeltme bulunamadı. Yükseltilmiş kartlar cevap gibi görünüyor. - Dave M
Sadece denetleyiciyi P400 veya P600'e yükselttiğimizde önemli bir performans artışı olacağını düşünüyor musunuz? 1000 $ 'dan daha azında onları sadece kontrol cihazını almaya ikna edebilirim. Ya da sadece denetleyiciyi yükselterek göz ardı edilebilir bir performans artışı olur mu? - Nate Pinchot
Unutmayın ki son yorum, Chris S'nin kontrol cihazını değiştirmenin söz konusu olduğunu görüyorum, muhtemelen sadece küçük bir gelişme olacaktır. - Nate Pinchot


Aşağıda benzer donanım ile yaptığımız bir kıyaslama ve birkaç fark not edildi. Bazı performans isabetlerinin bölümlerin yanlış hizalandığından kaynaklandığını tahmin ediyorum (Windows 2003, varsayılan olarak bölümleri yanlış yönlendirir). Aşağıdaki komutu çalıştırın ve başlangıç ​​ofseti 32256 ise, yanlış hizalanmış demektir.

wmic bölümü index, blocksize, name, initialoffset olsun 

Bölümleri düzgün şekilde hizalamak için DISKPART yardımcı programını kullanmanız gerekir.

Test Donanımı:
HP DL380 G5
2 yuva, 4 toplam çekirdek
16 GB RAM
HP P400 denetleyici
512MB önbellek
% 25 Okuma /% 75 Yazma
10K RPM HDD'ler
Windows Server 2003, 32 bit
Beş dakikalık test döngüsü

Sonuçlar (MBytes / saniye):
(RS: Sıralı RR Okuma: Rastgele Okuma WS: Sıralı Yazma WR: Yazma Rastgele)

Raid5 3 HD:
RS 180
RR 180
WS 120
130 Rupi

Raid5 4 HD:
RS: 240
RR: 260
WS: 175
WR: 180

Raid5 5 HD:
RS: 310
RR: 320
WS: 210
WR: 225


2
2018-06-11 17:03



Bilgi için teşekkürler. Yukarıdaki wmic komutunu çalıştırdı - StartingOffset 16384'tür. Uygun StartingOffset nedir? Performans ölçütü için de teşekkürler, istemciden yalnızca denetleyiciyi yükseltmeyi ve geçerli sürücüleri tutmayı denemeyi düşünebilirim - çünkü bu 1000 dolarlık bir yükseltmedir. - Nate Pinchot
İşte bölüm ofsetini hesaplamak için mükemmel bir makale. Windows Vista / 7 / 2008'de başlangıç ​​ofsetinin 1 MByte (1048576 bayt) (düzgün hizalanmış) olduğunu unutmayın. msdn.microsoft.com/en-us/library/dd758814.aspx - Greg Askew
Ayrıca fsutil fsinfo ntfsinfo x: 'yi çalıştırmak isteyebilirsiniz, burada x: sizin bölümünüzdür. Bu, NTFS tahsis birimi boyutunuzu doğrulayacaktır. SQL için en iyi uygulama olan 64k ise başlangıç ​​kayması için 16384'ten daha büyük bir şey isterdim. - Greg Askew


Bir veritabanı yedekleme deposu olarak "sahte-bozulmuş" Raid5 olmamanız gerekir. AFAIK en yavaş disk yapılandırmasıdır. Düşük uçlu bir denetleyicide ekleyin ve işler daha iyi olmayacaktır.

Hitachi AMS sahipleri bu ilanı göz ardı edebilirler (4disk raid5 = 300MB / s üstü). Gerisi için muhtemelen geçerli.


2
2017-11-17 14:19





Smart Array E200i'nin yedek pil yazma önbelleği yüklü mü? BBWC olmadan Akıllı Dizi denetleyicilerinden bazı korkunç performans gördüm.

Aldığınız veri hızı okumalarına gelince, yüksek bir masaüstü sisteminden 60 MB / san gördüm. ancak veri hızı okumaları yalan olabilir! Daha iyi bir karşılaştırma için kullandığınız aracın parametrelerini gönderin.


1
2018-06-11 13:33



Denetleyici, pil takımını taktı. Parametreler kılavuzun bağlantısında, ben onun toplu iş dosyasını verbatim (tabii ki sürücü harfini değiştirerek) kopyaladım. - Nate Pinchot


Kısa cevap = Yazma önbelleğini ETKİNLEŞTİRME BUTONU WRITE CACHE'yi HP CLI aracılığıyla% 0'a ayarladı. [ctrl slot = 0 değiştir cacheratio = 100/0 | ctrl slot = 0 değiştir dwc = enable] Açın, ama kullanma, figür git!

Bir RAID 10 dizisinde bir E200i RAID denetleyicisi, 128 MB BBWC ve 6 x 1,5 TB 7200 RPM sürücüleri ile bir HP ML350 G5 üzerinde bir Open-e DSS V6 sunucusu kurdum. ISCSI dosya I / O birim yüksek başlatma oranı üzerinde 100'den az iostat çok kötü performans alıyordum. Ben de ne kadar anlamaya çalışıyorum 3Bare 9550 kartları kullanarak 1000'den fazla iostat üreten benzer yapılandırmaları var ??? yanlış gidiyordu.

Biraz araştırma beni burada ve bir Experts-Exchange makalesine yönlendirdi (http://www.experts-exchange.com/Storage/Hard_Drives/Q_24947953.html). RAID 5 işlemci görünecek ve yazma önbelleği bu denetleyicinin sorunlu bileşenleridir. RAID 5 kullanmıyordum, bu yüzden Open-e yazılımını elverişli bir şekilde kullanan HP denetleyicisi CLI aracılığıyla okuma / yazma önbelleğini denedim.

CLI ÇOK YAVAŞ çalışıyordu, komutlar cevap vermek için bir dakika sürdü. Son olarak yukarıdaki komut diziyi beklentilere daha yakın hale getirdi. Şimdi neredeyse 1000 iostat görüyorum ve CLI normal cevap veriyor. Evet, yazma önbelleğini etkinleştirmeli ve% 0'a ayarlamalısınız. Başka hiçbir kombinasyon işe yaramıyor. Devre dışı bırak yazma önbelleği seçeneğini kullanmak bile kabul edilebilir bir performans sağlayamadı.


1
2018-04-05 01:03