RAID 10 ile SSD (Intel 530) okuma / yazma hızı çok yavaş


11

Açıklama:

Bir Sunucumuz var:

  • Model: HP ProLiant DL160 G6
  • 4 x 240GB SSD (RAID-10)
  • 72 GB DDR3 RAM
  • 2 x L5639
  • HP P410 RAID Denetleyicisi (256MB, V6.40, Rom sürümü: 8.40.41.00)

SSD sürücüler 540MB / s okuma ve 490MB / s yazma hızına sahip 4 adet yeni 2.5 "Intel 530

  • CentOS 6
  • Dosya sistemleri ext4

ancak bu, baskın 10'daki okuma hızı için test sonucudur:

hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  824 MB in  3.00 seconds = 274.50 MB/sec
[root@localhost ~]# hdparm -t /dev/mapper/vg_localhost-lv_root

/dev/mapper/vg_localhost-lv_root:
 Timing buffered disk reads:  800 MB in  3.01 seconds = 266.19 MB/sec

ve bu yazma hızı içindir:

dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 4.91077 s, 109 MB/s

raid 10 ile 1GB okuma hızı umuyorduk, ancak 270MB tek bir diskin hızı bile değil!

Sorular:

  1. Neden bu kadar yavaş?
  2. RAID Denetleyicisi yüzünden mi?

Güncelleme 1 - Aynı Okuma / Yazma Hızı:

Yanıtlarda belirtildiği gibi bazı ayarları değiştirdikten sonra aşağıdaki sonucu elde ediyorum:

(Herhangi biri neden okuma hızı olarak 400MB yerine 4GB gösterdiğini biliyor mu ?!)

EDIT: komut yanlış gibi görünüyor ve bu miktar koç için -s144g kullanmalıydım, bu yüzden 4GB gösteriyor (ewwhite tarafından önerildiği gibi)

[root@192 ~]# iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Iozone: Performance Test of File I/O
                Version $Revision: 3.408 $
                Compiled for 64 bit mode.
                Build: linux

        Record Size 1024 KB
        File size set to 58720256 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Output is in Kbytes/sec
        Each process writes a 58720256 Kbyte file in 1024 Kbyte records

        Children see throughput for  1 initial writers  =  135331.80 KB/sec
        Children see throughput for  1 rewriters        =  124085.66 KB/sec
        Children see throughput for  1 readers          = 4732046.50 KB/sec
        Children see throughput for 1 re-readers        = 4741508.00 KB/sec
        Children see throughput for 1 random readers    = 4590884.50 KB/sec
        Children see throughput for 1 random writers    =  124082.41 KB/sec

ancak eski hdparm -t /dev/sdakomut hala şunu gösteriyor:

Zamanlanmış arabellek okumaları: 3.00 saniyede 810 MB = 269.85 MB / sn

Güncelleme 2 (ayarlı paketler) - Okuma Hızı şimdi 600MB / s:

Sonunda biraz umut, baskın denetleyicisinin önbelleğini devre dışı bıraktık ve daha önce şanssız başka şeyler yaptık, ancak sunucuyu yeniden yüklediğimiz ve işletim sistemini tekrar yüklediğimiz için, ewwhite cevabında önerildiği gibi "ayarlı araçlar" yüklemeyi unuttuk (Teşekkür ederim) ewwhite bu harika paket için önerdi)

Profili yükledikten tuned-utilsve seçtikten sonra enterprise-storageokuma hızı şimdi ~ 600MB / s +, ancak yazma hızı hala çok yavaş (~ 160MB) (:

iozone -t1 -i0 -i1 -i2 -r1m -s144gKomutun sonucu şöyledir :

    Children see throughput for  1 initial writers  =  165331.80 KB/sec
    Children see throughput for  1 rewriters        =  115734.91 KB/sec
    Children see throughput for  1 readers          =  719323.81 KB/sec
    Children see throughput for 1 re-readers        =  732008.56 KB/sec
    Children see throughput for 1 random readers    =  549284.69 KB/sec
    Children see throughput for 1 random writers    =  116389.76 KB/sec

Komutla bile hdparm -t /dev/sda:

Zamanlanmış arabellek okumaları: 3.00 saniyede 1802 MB = 600.37 MB / sn

Çok yavaş yazma hızı için herhangi bir öneriniz var mı?

Güncelleme 3 - Yorumlarda istenen bazı bilgiler:

Yazma hızı hala çok düşük (tek bir diskin 1 / 3'ü bile olmayan ~ 150MB / s)

İçin çıktı df -hve fdisk -l:

[root@192 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       441G  3.2G  415G   1% /
tmpfs            36G     0   36G   0% /dev/shm


[root@192 ~]# fdisk -l
Disk /dev/sda: 480.0 GB, 480047620096 bytes
255 heads, 63 sectors/track, 58362 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00040c3c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       58363   468795392   83  Linux

Bu sınama için, muhtemelen sunucuya takılı RAM miktarının iki katını belirtmelisiniz.
ewwhite

Smart Array P410 denetleyicinizin ürün yazılımı sürümünü söyleyebilir misiniz?
ewwhite

@ yorumunuz için teşekkür ederiz, ürün yazılımı sürümü p410 (256MB, V6.40) ve rom sürümü 8.40.41.00, iozone komutum yanlış mıydı? evet ise lütfen bana test etmek için doğru komutu söyler misiniz? çünkü denediğim her şeyi GB olarak okuma hızı elde ediyorum
Ara

Burada bir şeyler yanlış. Sadece ~ 122MB / s yazıyor. Gördüğünüz 4GB / sn rakamları önbellekten işlemlerdir, bu nedenle komut dizeniz gibi görünmelidir iozone -t1 -i0 -i1 -i2 -r1m -s144g. :(
ewwhite

@ewwhite Çok teşekkür ederim, okuma hızı şimdi çok iyi (sorum 2. güncelleme olarak ayrıntılı), ancak yazma hızı çok hayal kırıklığı yaratıyor, bunun için herhangi bir öneriniz var mı?
Ara

Yanıtlar:


16

Buradaki diğer yanıt bazı noktaları ortaya çıkarsa da, belirli sorunlarınız platform sınırlamaları ve işletim sistemi yapılandırmasından kaynaklanmaktadır:

  • HP Smart Array P410 RAID denetleyicisinde tüketici SATA SSD'lerinin kullanımı ile sınırlısınız . SATA diskleri 6.0Gbps (6G) yerine bu denetleyicilerde 3.0Gbps (3G) hızında çalışır. Bu, Intel SSD'lerinizin okuma hızlarını etkileyen bir engeldir; Sürücü başına 300 MB / sn veya daha az.

  • Smart Array P410 denetleyicinin SSD'lerle kullanıldığında belirli gereksinimleri ve en iyi uygulamaları vardır . Kısacası, denetleyici 50.000 IOPS kapasitesine sahiptir, SSD biriminiz için dizi hızlandırıcısını devre dışı bırakır ve ~ 6 sürücüde performans zirveleri.

  • Disk performansı her zaman sıralı okuma / yazma hızı ile ilgili değildir. İozone veya bonnie ++ gibi uygun bir araçla karşılaştırmayı deneyin. Birden çok sürücünüzün rastgele G / Ç avantajlarından yararlanmaya devam edersiniz.

  • İşletim sistemi düzeyinde, ayarlı araçlar paketini yükleyin ve profili enterprise-performance, dosya sistemlerinizdeki yazma engellerini kaldıracak şekilde ayarlayın ve kurulumunuz için doğru G / Ç yükselticisini ayarlayın. Bu, burada başka sorularda da ele alınmaktadır.

  • LVM kullandığınız anlaşılıyor. Bunun da etkisi olabilir ...

Aynı HP Smart Array P410 RAID denetleyicisinde dört tüketici 6G SATA SSD (3G hızlarına düşürülmüş) ile çalışan bir G7 ProLiant için bir iozon raporu .

~ 470MB / s yazma ve 650MB / s + okumaları görüyor olmalısınız.

[root@mdmarra /data/tmp]# iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Iozone: Performance Test of File I/O
                Version $Revision: 3.394 $
                Compiled for 64 bit mode.
                Build: linux 

        Record Size 1024 KB
        File size set to 58720256 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Output is in Kbytes/sec
        Each process writes a 58720256 Kbyte file in 1024 Kbyte records

        Children see throughput for  1 initial writers  =  478209.81 KB/sec
        Children see throughput for  1 rewriters        =  478200.84 KB/sec
        Children see throughput for  1 readers          =  677397.69 KB/sec
        Children see throughput for 1 re-readers        =  679523.88 KB/sec
        Children see throughput for 1 random readers    =  437344.78 KB/sec
        Children see throughput for 1 random writers    =  486254.41 KB/sec

Çok teşekkür ederim, model "DL160 G6", evet dahil arka panel var :( burada 600MB ile mutlu olurdu, ama 270MB gerçekten yavaş, ne yapmam gerektiğini düşünüyorsun, yazılım baskısı yardımcı olur mu?
Ara

2
Tamam, DL160 G6 ile, RAID denetleyicisinden sürücü arka paneline giden iki kablonuz olmalı ... 8 sürücü yuvası. Buradaki sorununuz sürücü çıktısı, test yönteminiz ve sunucunun ayarlarıdır. Cevabımda listelediğim diğer önerileri deneyin.
ewwhite

P410'un SATA'da sadece 3G yapması ve belirli en iyi uygulamalarla ilgili ilginç bir bit. Mod up. (Ancak LVM, olumsuz performans etkisi açısından ağır bir vurucu olmamalıdır, burada da belirtilmiştir: unix.stackexchange.com/questions/7122/… )
Roman

1
@Ara ProLiant için 6G SATA denetleyicisi yoktur. Mesele bu. SAS SSD'leri kullanmadığınız sürece SSD'leriniz bu platformda yalnızca 3G hızında çalışır .
ewwhite

1
@Ara Software RAID, SAS HBA (örneğin LSI 9211-8i) gibi farklı bir denetleyiciye bağlanmayı gerektirir ... disklerinizin tüm bant genişliğini görmenize izin verir, ancak saflığın ötesinde başka SSD performans özellikleri de vardır ardışık okuma / yazma bant genişliği.
ewwhite

12

Ah canım, nereden başlamalı?

Çok şey var ve her şeyi iyi anlamanız gerekiyor. Bir grup diski RAID denetleyicisine atmak, aradığınız sonuçları vermez.

Bu kolayca cevaplanamaz. Ama en azından, bakmanız gereken şeylerin bir listesi:

  • Kontrolörün verimi bile gerekiyor mu? (-> Veri Sayfaları)
  • Denetleyici Ana Bilgisayara yeterli bant genişliğine sahip mi (x8 olduğundan v1.0'da bile)
  • Sistemin yonga setinde yeterli verim (CPU-Denetleyici) var mı? (Bilinmeyen)
  • Denetleyiciye hangi yazı stratejisini kullanmasını söylediniz? ( büyük ihtimalle seni ısırdı )
  • Her şey uyumlu mu (Bölüm başlar, AG'ler, PV'ler)?
  • Blok boyutları uyumlu mu? (RAID şerit boyutu, blok boyutu, FS blokları, ...)
  • Dosya sistemi RAID kurulumuna göre optimize edilmiş mi? (Seviye ve Blok boyutu)

Tüm RAID'e (FS dikkate almayan) karşı veriminiz tek bir diskten önemli ölçüde düşük olduğundan, yazma stratejinizi yanlış ayarlamış olabilirsiniz; Denetleyici muhtemelen tüm disklerin yazmayı onaylamasını beklemektedir (ve denetleyicinin pilini RAM'iniz desteklenmediyse, bu sizin yararınıza olabilir).


Bu gerçekten düşündüğümden daha zor, Raid Controller ram'ı 512MB'ye yükseltmek kadar basit olduğunu düşündüm! , teşekkürler Roman, nedenini bulmayı umduğunu söylediklerinden bazılarını kontrol edeyim
Ara

Yukarıdakilerin çoğu, uç durumlar için geçerli sorun giderme stratejileridir, ancak orijinal poster yapılandırmasının özellikleri için geçerli değildir. Buradaki denetleyici gerekli verim ve bant genişliğine sahiptir, CPU iyidir, RAID denetleyicisi varsayılan olarak 25:75 R / W önbellek oranını (SSD kullanımı için tamamen devre dışı bırakılmalıdır), CentOS6 bölümleri doğru hizalar ve almak için çok fazla potansiyel soyutlama vardır blok boyutları "uyumlu". Mevcut üç sorun, 6G disklerin 3G hızlarında kısılması, dosya sistemi yazma engellerinin etkinleştirilmesi ve G / Ç yükselticisinin varsayılan CFQ olmasıdır.
ewwhite

1
Sunucu modeli maalesef cevabım sırasında not edilmedi. Kısma hakkında bilmek güzel. Bence engeller ve CFQ'nun bu özel "kıyaslama" da çok fazla maliyeti yoktu, ama yine de değerli bilgiler.
Roman

@Roman Üzgünüm modelden daha önce bahsetmedim, yardımınızı gerçekten takdir ediyorum, hem sizin hem de beyaz kılavuzlarınızı 500-600MB'a ulaşmaya çalışıyorum, sanırım bu 3G sınırıyla ulaşabileceğim en yüksek hız
Ara

1
Hiç sorun değil. SSD'lerle birlikte P410 ile ilgili belirli şeyler olduğundan, bağlantıları ewwhite'ın cevaplarında takip ettiğinizden emin olun. Ayrıca, dört diski arka panelden denetleyiciye iki bağlantı boyunca eşit olarak dağıttığınızdan emin olun.
Roman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.