Bir hacmi izlemek ne kadar sürer?


9

Şu anda 3-5 milyon sayfa görüntülemesi sunan bir web sitesi işletiyoruz. Sitemiz bir dosya paylaşım sitesidir ve bu nedenle 250.000 dosya ve birkaç bin sembolik bağlantı içerir.

Sabit disk 1500 GB'lık bir SATA disktir.

Kullanarak hdparmsabit disk hızımızın 80 MB / sn olan 15-20 MB / sn'ye düşürüldüğünü öğrendik .

Şimdi fsckdisk sorununu çözmek için çalıştırmak istiyoruz .

  1. Will fsckbu sorunu çözecektir?
  2. fsckTamamlanması için ne kadar zaman gerekiyor (sadece sahip olacağımız kesinti süresini hesaplamak istiyoruz)?

Hangi dosya sistemini kullanıyorsunuz? Bu bir RAID dizisi mi yoksa basit bir SATA diski mi?
Kyle Smith

basit SATA disk ve dosya sistemi ext3
khizar ansari

11
Neden tek bir disk üzerinde bir üretim web sunucusu çalıştırıyorsunuz? Tek diskli sunucular sunucu değildir - saatli bombaları işaretlerler.
Evan Anderson

3
Bu disk ölüyor gibi görünüyor. Verilerinizi hemen (donanım destekli bir denetleyiciyle gerçek bir RAID dizisine) hemen taşıyın.
Joel E Salas

Yanıtlar:


8

Aynı anda erişilen dosya sayısı arttıkça hız düşüşü beklenmelidir. Sabit disk sürücülerine paralel olarak erişmeyi sevmez: okuma / yazma kafasının silindirleri her değiştirmesi gerektiğinde birkaç milisaniye kaybedersiniz. İki dosya aynı silindirde, hatta aynı pistte olsa bile, birinden diğerine geçmek için bir dönüş beklemeniz gerekebilir. Sürücü performansını saniyede megabit olarak ölçüyorsanız, paralel erişim arttıkça katlanarak düşmesini bekleyin.

fsck bu konuda yardımcı olmaz: sadece dizin yapısındaki hasarı onarır, herhangi bir optimizasyon yapmaz.

İdeal çözüm, eğirme plakalarının fiziksel sınırlamalarından hiçbirine sahip olmadığından katı hal depolamaya geçmek olacaktır. Ama bu muhtemelen maliyet engelleyici.

Bir sonraki en iyi seçenek paralel erişim için optimize edilmiş bir RAID kullanmak olacaktır. RAID'lerin birçok farklı performans profili için yapılandırılabileceğini unutmayın, bu nedenle belirli bir RAID donanım ve sürücüsünün ayarlarını öğrenmek için biraz zaman ayırmanız gerekir.

Agresif dosya sistemi önbelleğe alma özelliğini kullanarak sorunu azaltabilirsiniz. Sisteminizde yeterli RAM varsa, linux bunu zaten oldukça iyi yapıyor olmalıdır. topNe kadar boş RAM olduğunu görmek gibi bir program çalıştırın . Ancak en sık kullanılan dosyalar RAM'e (veya edinme olasılığınız olan herhangi bir RAM'e) uymuyorsa, bu gerçekten yardımcı olmaz.

Fakir bir insanın çözümü, dosyalarınızı birkaç farklı fiziksel sabit sürücüye bölmek olacaktır (sadece aynı sürücüdeki farklı bölümler değil). Bu gerçekten uzun vadeli ölçeklenebilir bir çözüm değildir ve size iyi bir RAID'den daha pahalıya mal olur. Ancak etrafta sürücü varsa hızlı bir düzeltme olabilir.

Sabit disk sürücüleri içeren herhangi bir çözüm için, yüksek dönüş hızına ve düşük arama gecikmesine sahip olduklarından emin olun.

Burada sabit disk performansı hakkında genel bir arka plana sahip bir makale yazdım:

UNIX İpuçları - Dosya Sistemleri


hdparmKıyaslamasının "paralel erişim" ile ilgisi olduğunu görmüyorum . Sanki daha fazla geliyor, sanki arızalı bir diski varmış gibi. Geçmişte daha hızlıydı ve şimdi değil. Muhtemelen sektörleri yeniden konumlandırdığı için.
Evan Anderson

Bu ölçekte bir yer değiştirmenin bazı I / O hataları üreteceğini düşünmeme rağmen, bu kesinlikle bir olasılık. Saniyede 80 megabitlik çok yavaş taban çizgisine dayanarak, testin aktif bir sistemde yürütüldüğünü varsayıyordum. Yani ... sistem günlüğünde G / Ç hataları var mı, hdparmtestler nasıl yapıldı ve sonuçlar saniyede "megabit" veya "megabayt" olarak mı gösterildi?
Seth Noble

3

Ben fsck tamamlamak için 5 saat beklenir.

Bunun yerine reiserfs'e geçişi (yani test etme, test etme ve test etme) düşünürdüm.


2
  1. Hayır (fsck bozuk dosya sistemi meta verilerini düzeltebilir, bozuk bir diski değil, bir birleştirme aracı değildir).
  2. Dosya sistemine bağlıdır. Ext3 ile, çok uzun süre, birkaç saat ayırırdım. Ext4 veya xfs gibi daha modern dosya sistemleri daha hızlı bir şekilde daha büyük bir düzen olabilir.

1

hdparm ardışık bir okuma yapar. Dosya Sunucusu diskiniz diğerlerinin söylediği gibi çok fazla arama yapıyor olmalıdır.

HD hataları alıyorsanız, bunların / var / log / öğenizde görünmesi gerekir.

Neden "smartctl -t short / dev / sda" ve sonra "smartctl -t long / dev / sda" yı denemiyorsunuz? ... Yeni HDD'nin çoğunda, HD kullanırken bile bu komutu verebilirsiniz. . Smart size bazı sonuçlar verecektir. HDD sağlığınızı "smartctl --all / dev / sda" kullanarak okuyabilirsiniz.

HDD'ye eşzamanlı erişime sahip bir hdparm gönderiyorsanız, sonuçlarınızın öncekinden çok daha az olmasının cevabı bu olabilir.

Verilerinizi en kısa sürede bir RAID kurulumuna taşımalıyım.

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.