Windows Server Iometer Tool ile Depolama ve Performans Analizi

Yeni kurulan bir sunucuda RAID (RAID 10, RAID 5 vb.) yapılandırmasının doğruluğu sadece kapasite ile değil, hedeflenen IOPS ve Latency (Gecikme) değerleriyle ölçülür. Iometer, disk alt yapısını stres testine sokarak gerçek dünya SQL Server yüklerini simüle etmemizi sağlar.

İlgilis sayfadan Iometer indirilir. İndirildikten sonra Run as administrator olarak çalıştırılır.

Gelen ekranda Next denilip bir sonraki ekrana geçilir.

Sözleşme koşullarını kabul ettikten sonra Next denilip bir sonraki aşamaya geçilir.

Hiç bir değişiklik yapmadan bir sonraki adıma geçilmektedir.

Kurulacak dosya dizini seçildikten sonra Next denilip daha sonra gelen ekranda Finish denilerek işlem sonlandırılır.

İşlemleri tamamladıktan sonra Iometer konfigürasyon yapacağımız bölüm önümüze gelmektedir. Bazen disklerimiz görünmez. Bu sebepten yönetici olarak çalıştırılması gerekmektedir.

Aşağıdaki resimde “S2” sunucusu altındaki Worker‘lar, aslında sistemdeki mantıksal işlem birimleridir (genellikle CPU thread sayısı kadar oluşur).

  • Tek Worker vs. Çoklu Worker: Tek bir worker üzerinden tüm diskleri seçebilirsiniz ancak bu, modern depolama birimlerinin (NVMe, SSD veya güçlü SAN sistemleri) tam performansını ölçmek için yetersiz kalabilir. Performansı bir nebze ölçmek için her bir worker’a bir disk tahsis edilmesi mantıklıdır.
  • Her bir fiziksel/mantıksal disk kümesi için (Örn: Data diski için 1 worker, Log diski için 1 worker) ayrı yapılandırma yapmak daha sağlıklı sonuç verir. Ancak genel bir bakış için tüm diskleri tek bir worker’da toplamak teknik olarak mümkündür.

İlgili yapının çalışması için disklerin önceden yapılandırılması gerekmektedir.

Aşağıdaki resim gibi her bir worker’a bir disk tahsis edilir.

A. Disk Targets

Aşağıdaki ekran resminde şu ayarları yapmalısınız:

  • Targets: Test etmek istediğiniz sürücü harfini (Örn: E:, F:) seçin.
  • Maximum Disk Size: Burayı 0 (tüm disk) bırakmak yerine, test dosyasının diskin önbelleğini (cache) aşması için bir değer verin. Örneğin 20.000.000 (yaklaşık 10GB) idealdir.
  • # of Outstanding I/Os: Burası Queue Depth (Kuyruk Derinliği) değeridir. SQL Server için bu değeri 32 veya 64 yaparak diski zorlamanız gerekir.

B. Access Specifications (Erişim Tanımları)

Aşağıdaki ekran resminde “New” diyerek SQL Server için şu 3 farklı profili oluşturup test etmelisiniz:

Test SenaryosuTransfer SizeRandom/SequentialRead/Write
SQL Data (OLTP)8 KB%100 Random%70 Read / %30 Write
SQL Log64 KB%100 Sequential%50 Read / %50 Write
Checkpoint/Backup256 KB%100 Sequential%100 Write

Test Setup

  • Run Time: En az 5-10 dakika sürsün. İlk 30 saniye diskin “ısınma” süresidir, sonuçlar sonradan stabilize olur.

Testi başlattıktan sonra Results Display sekmesinde şu kritik eşik değerlerini kontrol etmelisiniz:

  1. Average Response Time (Gecikme): * < 5ms: Mükemmel (Genellikle SSD/NVMe veya çok iyi yapılandırılmış RAID 10).
    • 5ms – 15ms: Kabul edilebilir (Standart SQL yükleri için).
    • > 20ms: Sorunlu. Disk sistemi SQL Server’ın taleplerine yetişemiyor demektir.
  2. IOPS (Saniyedeki İşlem Sayısı): Kurduğunuz disk türüne göre değişir. Örneğin bir NVMe diskte on binlerce IOPS beklerken, klasik SAS disklerde (RAID yapısına bağlı olarak) 500-2000 IOPS arası değerler görebilirsiniz.
  3. Total MBps (Throughput): Özellikle Log ve Backup işlemlerinde bu değerin yüksek olması istenir.

Result Display bölümü açtıktan sonra belirli bir süre sonra performans izlenimi gerçkleştirilir.

Total I/Os per Second (2601.17): Saniyede yapılan toplam giriş/çıkış sayısı (IOPS). 2600 IOPS, standart mekanik disklerin çok üzerinde, kurumsal seviye bir SSD veya iyi yapılandırılmış bir RAID grubuna işaret eder. SQL Server’ın işlem kapasitesi (throughput) doğrudan bu rakama bağlıdır.

Total MBs per Second (162.57): Saniyedeki veri aktarım hızı. Şu anki yükünüzle saniyede yaklaşık 162 MB veri okunuyor/yazılıyor.

Average I/O Response Time (0.3838 ms): İşte en kritik değer burasıdır. Gecikme (Latency) süreniz 1 milisaniyenin bile altında.

  • 0.3 ms muazzam bir değerdir. Bu, disklerinizin taleplere anında cevap verdiğini, depolama katmanında herhangi bir darboğaz (bottleneck) olmadığını gösterir.

Maximum I/O Response Time (64.1054 ms): Test boyunca görülen en yüksek gecikme. Nadir de olsa bazı işlemler 64 ms sürmüş. Bu genellikle işletim sistemi arkada başka bir iş yaparken veya RAID kartı önbelleği dolduğunda anlık sıçramalar (spike) şeklinde olur. Sürekli değilse ihmal edilebilir.

% CPU Utilization (3.53%): Bu I/O yükünü oluştururken işlemcinizin sadece %3.5’i kullanılmış. Yani sisteminizi yoran şey işlemci değil, tamamen disk performansı.

Iometer sonuçlarınızda Latency (Gecikme) değeri yüksekse, RAID kartı üzerindeki “Write Back Cache” ayarlarının açık olup olmadığını veya RAID tipinin (Örn: RAID 5 yerine RAID 10) SQL Server yüküne uygunluğunu tekrar gözden geçirmeniz gerekebilir. SQL Server DBA olarak, kurulum aşamasında bu değerleri not almanız, ileride yaşanacak yavaşlık sorunlarında size bir “baz çizgi” (baseline) sağlayacaktır.

Başka makalede görüşmek dileğiyle..

“Kullarım sana Beni sorarlarsa, bilsinler ki Ben, şüphesiz onlara yakınım. Benden isteyenin, dua ettiğinde duasını kabul ederim. Artık onlar da davetimi kabul edip Bana inansınlar ki doğru yolda yürüyenlerden olsunlar.”Bakara Suresi; 186. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir