Azure premium depolama: Yüksek performanslı tasarım

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri

Bu makalede, Azure premium depolama kullanarak yüksek performanslı uygulamalar oluşturmaya yönelik yönergeler sağlanır. Bu belgede sağlanan yönergeleri, uygulamanız tarafından kullanılan teknolojiler için geçerli olan en iyi performans uygulamalarıyla birlikte kullanabilirsiniz. Yönergeleri göstermek için bu belgenin tamamında örnek olarak premium depolamada çalışan SQL Server'ı kullanırız.

Bu makalede depolama katmanı için performans senaryolarını ele almalıyız ancak uygulama katmanını iyileştirmeniz gerekir. Örneğin, premium depolamada bir SharePoint Grubu barındırlıyorsanız, veritabanı sunucusunu iyileştirmek için bu makaledeki SQL Server örneklerini kullanabilirsiniz. En yüksek performansı elde etmek için SharePoint Grubu'nun web sunucusunu ve uygulama sunucusunu da iyileştirebilirsiniz.

Bu makale, premium depolamada uygulama performansını iyileştirme hakkında aşağıdaki yaygın soruları yanıtlamaya yardımcı olur:

  • Uygulama performansınızı nasıl ölçebilirsiniz?
  • Neden beklenen yüksek performansı görmüyorsunuz?
  • Premium depolamada uygulama performansınızı etkileyen faktörler hangileridir?
  • Bu faktörler uygulamanızın premium depolamadaki performansını nasıl etkiler?
  • Saniye başına giriş/çıkış işlemleri (IOPS), bant genişliği ve gecikme süresi için nasıl iyileştirme yapabilirsiniz?

Premium depolamada çalışan iş yükleri yüksek performansa duyarlı olduğundan, özellikle premium depolama için bu yönergeleri sağlarız. Uygun yerlerde örnekler sağlıyoruz. Bu yönergelerin bazılarını standart depolama disklerine sahip hizmet olarak altyapı (IaaS) VM'lerinde çalışan uygulamalara da uygulayabilirsiniz.

Dekont

Bazen disk performansı sorunu gibi görünen şey aslında bir ağ performans sorunudur. Bu gibi durumlarda ağ performansınızı iyileştirmeniz gerekir.

Diskinizi karşılaştırmak istiyorsanız aşağıdaki makalelere bakın:

VM'niz hızlandırılmış ağı destekliyorsa etkinleştirildiğinden emin olun. Etkinleştirilmemişse, hem Windowshem de Linux üzerinde zaten dağıtılmış VM'lerde etkinleştirebilirsiniz.

Premium depolamaya yeni başladıysanız başlamadan önce IaaS VM'leri için Azure disk türü seçme ve Premium sayfa blob depolama hesapları için ölçeklenebilirlik hedefleri makalesini okuyun.

Uygulama performans göstergeleri

Aşağıdaki gibi performans göstergelerini kullanarak bir uygulamanın iyi çalışıp çalışmadığını değerlendiririz:

  • Bir uygulamanın kullanıcı isteğini işleme hızı.
  • Bir uygulamanın istek başına işlemekte olduğu veri miktarı.
  • Bir uygulamanın belirli bir süre içinde kaç istek işleyebileceği.
  • Kullanıcının isteğini gönderdikten sonra yanıt almak için ne kadar beklemesi gerekir?

Bu performans göstergelerinin teknik terimleri IOPS, aktarım hızı veya bant genişliği ve gecikme süresidir.

Bu bölümde, premium depolama bağlamında ortak performans göstergelerini ele aacağız. Diskler için Performans uygulaması denetim listesi bölümünde, uygulamanız için bu performans göstergelerini ölçmeyi öğreneceksiniz. Uygulama performansını iyileştirme bölümünde, bu performans göstergelerini etkileyen faktörler ve bunları iyileştirmeye yönelik öneriler hakkında bilgi edineceksiniz.

IOPS

IOPS, uygulamanızın depolama disklerine bir saniyede gönderdiği istek sayısıdır. Giriş/çıkış işlemi okuma veya yazma, sıralı veya rastgele olabilir. Çevrimiçi perakende web sitesi gibi çevrimiçi işlem işleme (OLTP) uygulamalarının birçok eşzamanlı kullanıcı isteğini hemen işlemesi gerekir. Kullanıcı istekleri, uygulamanın hızla işlemesi gereken ekleme ve güncelleştirme yoğunluklu veritabanı işlemleridir. Bu nedenle OLTP uygulamaları çok yüksek IOPS gerektirir.

OLTP uygulamaları milyonlarca küçük ve rastgele G/Ç isteğini işler. Böyle bir uygulamanız varsa, IOPS için iyileştirme yapmak üzere uygulama altyapısını tasarlamanız gerekir. Yüksek IOPS elde etmek için dikkate alınması gereken tüm faktörler hakkında daha fazla bilgi için bkz . Uygulama performansını iyileştirme.

Yüksek ölçekli VM'nize premium depolama diski eklediğinizde Azure, disk belirtimine göre size garantili sayıda IOPS sağlar. Örneğin, bir P50 diski 7.500 IOPS sağlar. Her yüksek ölçekli VM boyutunun sürdürebileceği belirli bir IOPS sınırı da vardır. Örneğin, bir Standart GS5 VM'sinin sınırı 80.000 IOPS olur.

Aktarım hızı

Aktarım hızı veya bant genişliği, uygulamanızın belirli bir aralıkta depolama disklerine gönderdiği veri miktarıdır. Uygulamanız büyük G/Ç birim boyutlarıyla giriş/çıkış işlemleri gerçekleştiriyorsa, yüksek aktarım hızı gerektirir. Veri ambarı uygulamaları, bir kerede verilerin büyük bölümlerine erişen ve yaygın olarak toplu işlemler gerçekleştiren yoğun tarama gerektiren işlemler düzenleme eğilimindedir. Başka bir deyişle, bu tür uygulamalar daha yüksek aktarım hızı gerektirir. Böyle bir uygulamanız varsa, aktarım hızı için iyileştirme yapmak üzere altyapısını tasarlamanız gerekir. Sonraki bölümde, bu iyileştirmeyi elde etmek için ayarlamanız gereken faktörleri ele aacağız.

Yüksek ölçekli bir VM'ye premium depolama diski eklediğinizde, Azure bu disk belirtimine göre aktarım hızı sağlar. Örneğin, bir P50 diski 250 MB/sn disk aktarım hızı sağlar. Her yüksek ölçekli VM boyutunun sürdürebileceği belirli bir aktarım hızı sınırı da vardır. Örneğin, Standart GS5 VM'nin aktarım hızı en fazla 2.000 MB/sn olur.

Aşağıdaki formülde gösterildiği gibi aktarım hızı ile IOPS arasında bir ilişki vardır.

Diagram that shows the relation of IOPS and throughput.

Uygulamanızın gerektirdiği en uygun aktarım hızını ve IOPS değerlerini belirlemek önemlidir. Siz birini iyileştirmeye çalışırken, diğeri de etkilenir. IOPS ve aktarım hızını iyileştirme hakkında daha fazla bilgi için bkz . Uygulama performansını iyileştirme.

Gecikme süresi

Gecikme süresi, uygulamanın tek bir istek alması, depolama disklerine göndermesi ve yanıtı istemciye göndermesi için geçen süredir. Gecikme süresi, IOPS ve aktarım hızına ek olarak uygulamanın performansının kritik bir ölçüsüdür. Premium depolama diskinin gecikme süresi, bir isteğin bilgilerini almak ve uygulamanıza geri iletmek için geçen süredir. Premium depolama sürekli olarak düşük gecikme süreleri sağlar. Premium diskler çoğu G/Ç işlemi için tek basamaklı milisaniyelik gecikme süreleri sağlayacak şekilde tasarlanmıştır. Premium depolama disklerinde ReadOnly konağı önbelleğe almayı etkinleştirirseniz, okuma gecikmesi çok daha düşük olabilir. Disk önbelleğe alma hakkında daha fazla bilgi için bkz . Disk önbelleği.

Uygulamanızı daha yüksek IOPS ve aktarım hızı elde etmek için iyileştirdiğinizde, uygulamanızın gecikme süresini etkiler. Uygulama performansını ayarladıktan sonra, beklenmeyen yüksek gecikme süresi davranışından kaçınmak için her zaman uygulamanın gecikme süresini değerlendirin.

Yönetilen disklerde aşağıdaki denetim düzlemi işlemleri, diskin bir depolama konumundan diğerine hareketini içerebilir. Bu hareket, verilerin arka plan kopyası aracılığıyla düzenlenir ve tamamlanması birkaç saat sürebilir. Genellikle, disklerdeki veri miktarına bağlı olarak süre 24 saatten kısadır. Bu süre boyunca uygulamanız normalden daha uzun okuma gecikmesi yaşayabilir çünkü bazı okuma işlemleri özgün konuma yönlendirilebilir ve tamamlanması daha uzun sürebilir.

Bu süre boyunca yazma gecikmesi üzerinde hiçbir etkisi yoktur. Premium SSD v2 ve Ultra Diskler için diskin 4K kesim boyutu varsa daha yüksek okuma gecikmesi yaşar. Diskin 512e kesim boyutu varsa hem daha yüksek okuma hem de yazma gecikmesi yaşar.

Denetim düzlemi işlemleri şunlar için kullanılır:

  • Depolama türünü güncelleştirin.
  • Diski ayırıp bir VM'den diğerine takın.
  • VHD'den yönetilen disk oluşturma.
  • Anlık görüntüden yönetilen disk oluşturma.
  • Yönetilmeyen diskleri yönetilen disklere dönüştürün.

Diskler için performans uygulaması denetim listesi

Premium depolamada çalışan yüksek performanslı uygulamalar tasarlamanın ilk adımı, uygulamanızın performans gereksinimlerini anlamaktır. Performans gereksinimlerini topladıktan sonra en iyi performansı elde etmek için uygulamanızı iyileştirebilirsiniz.

Önceki bölümde yaygın performans göstergelerini açıkladık: IOPS, aktarım hızı ve gecikme süresi. İstenen kullanıcı deneyimini sunmak için bu performans göstergelerinden hangilerinin uygulamanız için kritik öneme sahip olduğunu belirlemeniz gerekir. Örneğin, yüksek IOPS, milyonlarca işlemi saniyede işleyen OLTP uygulamaları için önemlidir. Yüksek aktarım hızı, büyük miktarda veriyi saniyede işleyen veri ambarı uygulamaları için kritik öneme sahiptir. Son derece düşük gecikme süresi, canlı video akışı web siteleri gibi gerçek zamanlı uygulamalar için çok önemlidir.

Ardından, uygulamanızın kullanım ömrü boyunca en yüksek performans gereksinimlerini ölçün. Başlangıç olarak aşağıdaki örnek denetim listesini kullanın. Normal, yoğun ve saatlik iş yükü dönemlerinde en yüksek performans gereksinimlerini kaydedin. Tüm iş yükü düzeylerinin gereksinimlerini belirleyerek uygulamanızın genel performans gereksinimini belirleyebilirsiniz.

Örneğin, bir e-ticaret web sitesinin normal iş yükü, bir yıl içinde çoğu gün boyunca yaptığı işlemlerdir. Web sitesinin en yoğun iş yükü, tatil dönemlerinde veya özel satış etkinliklerinde yaptığı işlemlerdir. Yoğun iş yükü genellikle sınırlı bir süre boyunca yaşanabilir, ancak uygulamanızın normal çalışmasının iki veya daha fazla kez ölçeklendirilmesini gerektirebilir. Yüzde 50, yüzde 90 ve yüzde 99 gereksinimlerini öğrenin. Bu bilgiler performans gereksinimlerindeki aykırı değerlerin filtrelenmesine yardımcı olur ve doğru değerleri iyileştirmeye odaklanabilirsiniz.

Uygulama performansı gereksinimleri denetim listesi

Performans gereksinimleri Yüzde 50'lik dilim Yüzde 90'lık dilim Yüzde 99
Saniye başına en fazla işlem sayısı
Okuma % işlemleri
Yazma işlemleri yüzdesi
Rastgele işlem yüzdesi
Sıralı işlem yüzdesi
G/Ç isteği boyutu
Ortalama aktarım hızı
Aktarım hızı üst sınırı
En düşük gecikme süresi
Ortalama gecikme
En fazla CPU
Ortalama CPU
Maksimum bellek
Ortalama bellek
Kuyruk derinliği

Dekont

Bu sayıları uygulamanızın gelecekteki beklenen büyümesine göre ölçeklendirmeyi göz önünde bulundurun. Büyümeyi önceden planlamak iyi bir fikirdir çünkü daha sonra performansı geliştirmek için altyapıyı değiştirmek daha zor olabilir.

Mevcut bir uygulamanız varsa ve premium depolamaya geçmek istiyorsanız, önce mevcut uygulama için önceki denetim listesini oluşturun. Ardından, premium depolamada uygulamanızın bir prototipini oluşturun ve uygulamayı Uygulama performansını iyileştirme başlığında açıklanan yönergelere göre tasarlayın. Sonraki makalede, performans ölçümlerini toplamak için kullanabileceğiniz araçlar açıklanmaktadır.

Uygulama performansı gereksinimlerini ölçmek için sayaçlar

Uygulamanızın performans gereksinimlerini ölçmenin en iyi yolu, sunucunun işletim sistemi tarafından sağlanan -monitoring araçlarını kullanmaktır PerfMon. Windows ve iostat Linux için kullanabilirsinizPerfMon. Bu araçlar, önceki bölümde açıklanan her ölçüye karşılık gelen sayaçları yakalar. Uygulamanız normal, yoğun ve saatlik iş yüklerini çalıştırırken bu sayaçların değerlerini yakalamanız gerekir.

Sayaçlar PerfMon işlemci, bellek ve sunucunuzun her mantıksal diski ve fiziksel diski için kullanılabilir. Vm ile premium depolama diskleri kullandığınızda, fiziksel disk sayaçları her premium depolama diski için, mantıksal disk sayaçları ise premium depolama disklerinde oluşturulan her birime yöneliktir. Uygulama iş yükünüzü barındıran disklerin değerlerini yakalamanız gerekir. Mantıksal ve fiziksel diskler arasında bire bir eşleme varsa, fiziksel disk sayaçlarına başvurabilirsiniz. Aksi takdirde mantıksal disk sayaçlarına bakın.

Linux'ta iostat komutu bir CPU ve disk kullanım raporu oluşturur. Disk kullanım raporu, fiziksel cihaz veya bölüm başına istatistik sağlar. Verileri ve günlükleri ayrı disklerde bulunan bir veritabanı sunucunuz varsa, bu verileri her iki disk için de toplayın. Aşağıdaki tabloda diskler, işlemciler ve bellek sayaçları açıklanmaktadır.

Sayaç Açıklama Perfmon iostat
IOPS veya işlemler/sn Depolama diskine/sn'ye gönderilen G/Ç isteklerinin sayısı Disk okuma/sn
Disk yazma/sn
Tps
r/sn
w/sn
Disk okuma ve yazma işlemleri Diskte gerçekleştirilen okuma ve yazma işlemlerinin yüzdesi Disk okuma zamanı yüzdesi
% Disk yazma süresi
r/sn
w/sn
Aktarım hızı Diskten/sn'den okunan veya diske yazılan veri miktarı Disk okuma baytları/sn
Disk yazma bayt/sn
kB_read/sn
kB_wrtn/sn
Gecikme süresi Disk G/Ç isteğini tamamlamak için toplam süre Ortalama disk sn/okuma
Ortalama disk sn/yazma
Bekliyor
svctm
G/Ç boyutu Depolama disklerinde G/Ç isteği sorunlarının boyutu Ortalama disk bayt/okuma
Ortalama disk bayt/yazma
avgrq-sz
Kuyruk derinliği Depolama diskinden okunmayı veya diske yazılmayı bekleyen bekleyen G/Ç isteklerinin sayısı Geçerli disk kuyruğu uzunluğu avgqu-sz
Maksimum bellek Uygulamayı sorunsuz çalıştırmak için gereken bellek miktarı Kullanımdaki işlenen bayt yüzdesi Vmstat kullanma
En fazla CPU Uygulamayı sorunsuz çalıştırmak için gereken CPU miktarı İşlemci süresi yüzdesi %util

iostat ve PerfMon hakkında daha fazla bilgi edinin.

Uygulama performansını iyileştirme

Premium depolamada çalışan bir uygulamanın performansını etkileyen temel faktörler G/Ç isteklerinin doğası, VM boyutu, disk boyutu, disk sayısı, disk önbelleğe alma, çoklu iş parçacığı kullanımı ve kuyruk derinliğidir. Bu faktörlerden bazılarını sistem tarafından sağlanan düğmelerle denetleyebilirsiniz.

Çoğu uygulama size G/Ç boyutunu ve kuyruk derinliğini doğrudan değiştirme seçeneği sunmayabilir. Örneğin, SQL Server kullanıyorsanız G/Ç boyutunu ve kuyruk derinliğini seçemezsiniz. SQL Server, en iyi performansı elde etmek için en uygun G/Ç boyutunu ve kuyruk derinliği değerlerini seçer. Performans gereksinimlerini karşılamak için uygun kaynaklar sağlayabilmeniz için her iki faktör türünün de uygulama performansı üzerindeki etkilerini anlamanız önemlidir.

Bu bölüm boyunca, uygulama performansınızı iyileştirmek için ne kadar ihtiyacınız olduğunu belirlemek için oluşturduğunuz uygulama gereksinimleri denetim listesine bakın. Denetim listesine bağlı olarak, bu bölümden hangi faktörleri ayarlamanız gerektiğini belirleyebilirsiniz.

Her faktörün uygulama performansınızdaki etkilerine tanık olmak için, uygulama kurulumunuzda karşılaştırma araçlarını çalıştırın. Windows ve Linux VM'lerinde yaygın karşılaştırma araçlarını çalıştırma adımları için bu belgenin sonundaki karşılaştırma makalelerine bakın.

IOPS, aktarım hızı ve gecikme süresini bir bakışta iyileştirme

Aşağıdaki tabloda performans faktörleri ve IOPS, aktarım hızı ve gecikme süresini iyileştirmek için gereken adımlar özetlemektedir. Bu özeti izleyen bölümlerde her bir faktör daha ayrıntılı olarak açıklanmaktadır.

VM boyutları ve her vm türü için kullanılabilen IOPS, aktarım hızı ve gecikme süresi hakkında daha fazla bilgi için bkz . Azure'da sanal makinelerin boyutları.

Performans faktörleri IOPS Aktarım hızı Gecikme süresi
Örnek senaryo Saniye başına çok yüksek işlem oranı gerektiren kurumsal OLTP uygulaması. Büyük miktarda veriyi işleyen Kurumsal Veri ambarı uygulaması. Çevrimiçi oyun gibi kullanıcı isteklerine anında yanıt gerektiren neredeyse gerçek zamanlı uygulamalar.
Performans faktörleri      
G/Ç boyutu Daha küçük G/Ç boyutu daha yüksek IOPS verir. Daha büyük G/Ç boyutu daha yüksek aktarım hızı sağlar.  
VM boyutu Uygulama gereksinimlerinizden daha büyük IOPS sunan bir VM boyutu kullanın. Uygulama gereksinimlerinizden daha yüksek aktarım hızı sınırına sahip bir VM boyutu kullanın. Uygulama gereksinimlerinizden daha büyük ölçek sınırları sunan bir VM boyutu kullanın.
Disk boyutu Uygulama gereksinimlerinizden daha büyük IOPS sunan bir disk boyutu kullanın. Uygulama gereksinimlerinizden daha yüksek aktarım hızı sınırına sahip bir disk boyutu kullanın. Uygulama gereksinimlerinizden daha büyük ölçek sınırları sunan bir disk boyutu kullanın.
VM ve disk ölçek sınırları Seçilen VM boyutunun IOPS sınırı, buna bağlı depolama diskleri tarafından yönetilen toplam IOPS'den büyük olmalıdır. Seçilen VM boyutunun aktarım hızı sınırı, buna bağlı premium depolama diskleri tarafından yönetilen toplam aktarım hızı sınırından büyük olmalıdır. Seçilen VM boyutunun ölçek sınırları, ekli premium depolama disklerinin toplam ölçek sınırlarından büyük olmalıdır.
Disk önbelleği Daha yüksek okuma IOPS'si elde etmek için okuma ağırlıklı işlemler içeren premium depolama disklerinde ReadOnly önbelleğini etkinleştirin.   Okuma gecikme sürelerinin çok düşük olması için okuma ağırlıklı işlemlerle premium depolama disklerinde ReadOnly önbelleğini etkinleştirin.
Disk şeritleme Birden çok disk kullanın ve daha yüksek bir IOPS ve aktarım hızı sınırı elde etmek için bunları bir araya getirin. VM başına birleştirilmiş sınır, bağlı premium disklerin birleşik sınırlarından daha yüksek olmalıdır.    
Şerit boyutu OLTP uygulamalarında görülen rastgele küçük G/Ç deseni için daha küçük şerit boyutu. Örneğin, SQL Server OLTP uygulaması için 64 KB şerit boyutu kullanın. Veri ambarı uygulamalarında görülen sıralı büyük G/Ç deseni için daha büyük şerit boyutu. Örneğin, SQL Server veri ambarı uygulaması için 256 KB şerit boyutu kullanın.  
Çoklu kullanım Daha yüksek IOPS ve aktarım hızı sağlamak üzere premium depolamaya daha fazla sayıda istek göndermek için çok iş parçacıklı işlem kullanın. Örneğin, SQL Server'da, SQL Server'a daha fazla CPU ayırmak için yüksek bir MAXDOP değeri ayarlayın.    
Kuyruk derinliği Daha büyük kuyruk derinliği daha yüksek IOPS verir. Daha büyük kuyruk derinliği daha yüksek aktarım hızı sağlar. Daha küçük kuyruk derinliği daha düşük gecikme süreleri verir.

G/Ç isteklerinin doğası

G/Ç isteği, uygulamanızın gerçekleştirdiği bir giriş/çıkış işlemi birimidir. G/Ç isteklerinin( rastgele veya sıralı, okuma veya yazma, küçük veya büyük) doğasını belirlemek, uygulamanızın performans gereksinimlerini belirlemenize yardımcı olur. Uygulama altyapınızı tasarlarken doğru kararları almak için G/Ç isteklerinin doğasını anlamak önemlidir. Mümkün olan en iyi performansı elde etmek için G/Ç'lerin eşit dağıtılması gerekir.

G/Ç boyutu en önemli faktörlerden biridir. G/Ç boyutu, uygulamanız tarafından oluşturulan giriş/çıkış işlemi isteğinin boyutudur. G/Ç boyutu, özellikle uygulamanın ulaşabileceği IOPS ve bant genişliği üzerinde performansı önemli ölçüde etkiler. Aşağıdaki formülde IOPS, G/Ç boyutu ve bant genişliği/aktarım hızı arasındaki ilişki gösterilmektedir.

A diagram that shows the equation I O P S times I O size equals throughput.

Bazı uygulamalar G/Ç boyutunu değiştirmenize izin verirken, bazı uygulamalar bunu yapamaz. Örneğin, SQL Server en uygun G/Ç boyutunu belirler ve kullanıcılara değiştirmeleri için herhangi bir düğme sağlamaz. Öte yandan Oracle, veritabanının G/Ç isteği boyutunu yapılandırmak için kullanabileceğiniz DB_BLOCK_SIZE adlı bir parametre sağlar.

G/Ç boyutunu değiştirmenize izin vermeyecek bir uygulama kullanıyorsanız, uygulamanızla en ilgili performans KPI'sını iyileştirmek için bu makaledeki yönergeleri kullanın. Örneğin:

  • OLTP uygulaması milyonlarca küçük ve rastgele G/Ç isteği oluşturur. Bu tür G/Ç isteklerini işlemek için daha yüksek IOPS elde etmek için uygulama altyapınızı tasarlamanız gerekir.
  • Veri ambarı uygulaması büyük ve sıralı G/Ç istekleri oluşturur. Bu tür G/Ç isteklerini işlemek için daha yüksek bant genişliği veya aktarım hızı elde etmek için uygulama altyapınızı tasarlamanız gerekir.

G/Ç boyutunu değiştirmenize olanak tanıyan bir uygulama kullanıyorsanız, diğer performans yönergelerine ek olarak G/Ç boyutu için bu temel kuralı kullanın:

  • Daha yüksek IOPS elde etmek için daha küçük G/Ç boyutu. Örneğin, OLTP uygulaması için 8 KB.
  • Daha yüksek bant genişliği/aktarım hızı elde etmek için daha büyük G/Ç boyutu. Örneğin, bir veri ambarı uygulaması için 1.024 KB.

Aşağıda, uygulamanız için IOPS ve aktarım hızını/bant genişliğini nasıl hesaplayabileceğinize ilişkin bir örnek verilmiştır.

P30 disk kullanan bir uygulamayı düşünün. P30 diskinin elde edilebileceği en yüksek IOPS ve aktarım hızı/bant genişliği sırasıyla 5.000 IOPS ve 200 MB/sn'dir. Uygulamanız P30 diskinden en yüksek IOPS'yi gerektiriyorsa ve 8 KB gibi daha küçük bir G/Ç boyutu kullanıyorsanız elde ettiğiniz bant genişliği 40 MB/sn'dir. Uygulamanız bir P30 diskinden maksimum aktarım hızı/bant genişliği gerektiriyorsa ve 1.024 KB gibi daha büyük bir G/Ç boyutu kullanıyorsanız, sonuçta elde edilen IOPS 200 IOPS gibi daha azdır.

G/Ç boyutunu, hem uygulamanızın IOPS hem de aktarım hızı/bant genişliği gereksinimini karşılayacak şekilde ayarlayın. Aşağıdaki tabloda, farklı G/Ç boyutları ve bunların bir P30 diski için karşılık gelen IOPS ve aktarım hızı özetlenir.

Uygulama gereksinimi G/Ç boyutu IOPS Aktarım Hızı/Bant Genişliği
En Fazla IOPS 8 KB 5.000 40 MB/sn
Aktarım hızı üst sınırı 1.024 KB 200 200 MB/sn
Maksimum aktarım hızı + yüksek IOPS 64 KB 3,200 200 MB/sn
Maksimum IOPS + yüksek aktarım hızı 32 KB 5.000 160 MB/sn

IOPS ve bant genişliğini tek bir premium depolama diskinin maksimum değerinden daha yüksek bir değere sahip olmak için birlikte şeritli birden çok premium disk kullanın. Örneğin, 10.000 IOPS'lik bir birleşik IOPS veya 400 MB/sn birleşik aktarım hızı elde etmek için iki P30 diskini çıkarın. Sonraki bölümde açıklandığı gibi, birleştirilmiş disk IOPS'sini ve aktarım hızını destekleyen bir VM boyutu kullanmanız gerekir.

Dekont

IOPS veya aktarım hızını artırdıkça, diğeri de artar. Birini artırdığınızda diskin veya VM'nin aktarım hızına veya IOPS sınırlarına ulaşmadığınızdan emin olun.

G/Ç boyutunun uygulama performansı üzerindeki etkilerine tanık olmak için VM'nizde ve disklerinizde karşılaştırma araçları çalıştırabilirsiniz. Birden çok test çalıştırması oluşturun ve efekti görmek için her çalıştırma için farklı G/Ç boyutu kullanın. Daha fazla bilgi için bu belgenin sonundaki karşılaştırma makalelerine bakın.

Yüksek ölçekli VM boyutları

Bir uygulama tasarlamaya başladığınızda, yapmanız gereken ilk şey uygulamanızı barındırmak için bir VM seçmektir. Premium depolama, daha yüksek işlem gücü ve yüksek yerel disk G/Ç performansı gerektiren uygulamaları çalıştırabilen yüksek ölçekli VM boyutlarıyla birlikte gelir. Bu VM'ler daha hızlı işlemciler, daha yüksek bir bellek-çekirdek oranı ve yerel disk için katı hal sürücüsü (SSD) sağlar. Premium depolamayı destekleyen yüksek ölçekli VM'lere örnek olarak DS ve GS serisi VM'ler verilebilir.

Yüksek ölçekli VM'ler farklı boyutlarda ve farklı sayıda CPU çekirdeği, bellek, işletim sistemi ve geçici disk boyutuyla kullanılabilir. Her VM boyutunun ayrıca VM'ye ekleyebileceğiniz en fazla veri diski sayısı da vardır. Seçilen VM boyutu uygulamanız için ne kadar işlem, bellek ve depolama kapasitesinin kullanılabilir olduğunu etkiler. Ayrıca işlem ve depolama maliyetini de etkiler. Örneğin, aşağıdaki belirtimler bir DS serisindeki ve GS serisindeki en büyük VM boyutuna yöneliktir.

VM boyutu CPU çekirdekleri Bellek VM disk boyutları En fazla veri diski Önbellek boyutu IOPS Bant genişliği önbelleği G/Ç sınırları
Standard_DS14 16 112 GB İşletim sistemi = 1.023 GB
Yerel SSD = 224 GB
32 576 GB 50.000 IOPS
512 MB/sn
4.000 IOPS ve 33 MB/sn
Standard_GS5 32 448 GB İşletim sistemi = 1.023 GB
Yerel SSD = 896 GB
64 4224 GB 80.000 IOPS
2.000 MB/sn
5.000 IOPS ve 50 MB/sn

Kullanılabilir tüm Azure VM boyutlarının tam listesini görüntülemek için bkz . Azure'da sanal makinelerin boyutları. İstediğiniz uygulama performansı gereksinimlerini karşılayabilecek ve ölçeklendirebilen bir VM boyutu seçin. Ayrıca, VM boyutlarını seçtiğinizde aşağıdaki önemli noktaları da dikkate alın.

Ölçek sınırları

VM ve disk başına maksimum IOPS sınırı birbirinden farklıdır ve birbirinden bağımsızdır. Uygulamanın IOPS'yi VM ve buna bağlı premium diskler sınırları içinde yönlendirdiğinden emin olun. Aksi takdirde, uygulama performansı azaltmayla karşılaşır.

Örneğin, uygulama gereksiniminin en fazla 4.000 IOPS olduğunu varsayalım. Bu düzeye ulaşmak için DS1 VM'sinde bir P30 diski sağlarsınız. P30 diski en fazla 5.000 IOPS sunabilir. Ancak DS1 VM 3.200 IOPS ile sınırlıdır. Bu nedenle, uygulama performansı 3.200 IOPS'deki VM sınırına göre kısıtlanır ve performans düşer. Bu durumu önlemek için, her ikisi de uygulama gereksinimlerini karşılayan bir VM ve disk boyutu seçin.

İşlem maliyeti

Çoğu durumda, premium depolamayı kullanarak genel çalışma maliyetinizin standart depolamadan daha düşük olması mümkündür.

Örneğin, 16.000 IOPS gerektiren bir uygulama düşünün. Bu performansı elde etmek için, 32 standart depolama 1 TB disk kullanarak en fazla 16.000 IOPS verebilen Standard_D14 bir Azure IaaS VM'niz olmalıdır. Her 1 TB standart depolama diski en fazla 500 IOPS elde edebilir.

  • Bu VM'nin aylık tahmini maliyeti 1.570 ABD dolarıdır.
  • 32 standart depolama diskinin aylık maliyeti 1.638 ABD dolarıdır.
  • Tahmini aylık maliyet 3.208 ABD dolarıdır.

Aynı uygulamayı premium depolamada barındırdıysanız daha küçük bir VM boyutuna ve daha az premium depolama disklerine ihtiyacınız vardır ve bu da genel maliyeti düşürür. Standard_DS13 BIR VM, dört P30 diski kullanarak 16.000 IOPS gereksinimini karşılayabilir. DS13 VM'sinde en fazla 25.600 IOPS vardır ve her P30 diski en fazla 5.000 IOPS'ye sahiptir. Genel olarak, bu yapılandırma 5.000 x 4 = 20.000 IOPS'ye ulaşabilir.

  • Bu VM'nin aylık tahmini maliyeti 1.003 ABD dolarıdır.
  • Dört P30 premium depolama diskinin aylık maliyeti 544,34 ABD dolarıdır.
  • Tahmini aylık maliyet 1.544 ABD dolarıdır.

Aşağıdaki tabloda, standart ve premium depolama için bu senaryonun maliyet dökümü özetlemektedir.

Aylık maliyet Standart Premium
Aylık VM maliyeti 1.570,58 ABD doları (Standard_D14) 1.003,66 ABD doları (Standard_DS13)
Disklerin aylık maliyeti 1.638,40 ABD doları (32 x 1 TB disk) 544,34 ABD doları (4 x P30 disk)
Aylık genel maliyet 3.208,98 ABD doları $1,544,34

Linux dağıtımları

Premium depolama ile Windows ve Linux çalıştıran VM'ler için aynı performans düzeyini elde edersiniz. Linux dağıtımlarının birçok çeşidini destekliyoruz. Daha fazla bilgi için bkz . Azure'da onaylanan Linux dağıtımları.

Farklı dağıtımlar, farklı iş yükü türleri için daha uygundur. İş yükünüzün üzerinde çalıştığı dağıtıma bağlı olarak farklı performans düzeyleri görürsünüz. Linux dağıtımlarını uygulamanızla test edin ve en uygun olanı seçin.

Linux'u premium depolama ile çalıştırdığınızda, yüksek performans sağlamak için gerekli sürücülerle ilgili en son güncelleştirmeleri denetleyin.

Premium depolama diski boyutları

Premium depolama, ihtiyaçlarınıza en uygun olanı seçebilmeniz için çeşitli boyutlar sunar. Her disk boyutunun IOPS, bant genişliği ve depolama için farklı bir ölçek sınırı vardır. Uygulama gereksinimlerine ve yüksek ölçekli VM boyutuna bağlı olarak doğru premium depolama diski boyutunu seçin. Aşağıdaki tabloda disk boyutları ve bunların özellikleri gösterilmektedir. P4, P6, P15, P60, P70 ve P80 boyutları şu anda yalnızca yönetilen diskler için desteklenmektedir.

Premium SSD boyutları P1 P2 P3 P4 P6 P10 P15 P20 P30 P40 P50 P60 P70 P80
GiB'de disk boyutu 4 8 16 32 64 128 Kategori 256 512 1,024 2.048 4,096 Kategori 8,192 16,384 32.767
Disk başına temel sağlanan IOPS 120 120 120 120 240 500 1.100 2.300 5.000 7.500 7.500 16.000 18.000 20,000
**Disk başına genişletilmiş sağlanan IOPS Geçersiz Yok Yok Yok Yok Yok Yok Geçersiz 8,000 16.000 20,000 20,000 20,000 20,000
Disk başına temel sağlanan aktarım hızı 25 MB/sn 25 MB/sn 25 MB/sn 25 MB/sn 50 MB/sn 100 MB/s 125 MB/sn 150 MB/s 200 MB/sn 250 MB/sn 250 MB/sn 500 MB/sn 750 MB/sn 900 MB/sn
**Disk başına genişletilmiş sağlanan aktarım hızı Geçersiz Yok Yok Yok Yok Yok Yok Geçersiz 300 MB/sn 600 MB/sn 900 MB/sn 900 MB/sn 900 MB/sn 900 MB/sn
Disk başına maksimum seri IOPS 3.500 3.500 3.500 3.500 3.500 3.500 3.500 3.500 30,000* 30,000* 30,000* 30,000* 30,000* 30,000*
Disk başına maksimum seri aktarım hızı 170 MB/sn 170 MB/sn 170 MB/sn 170 MB/sn 170 MB/sn 170 MB/sn 170 MB/sn 170 MB/sn 1.000 MB/sn* 1.000 MB/sn* 1.000 MB/sn* 1.000 MB/sn* 1.000 MB/sn* 1.000 MB/sn*
Maksimum seri çekim süresi 30 dk 30 dk 30 dk 30 dk 30 dk 30 dk 30 dk 30 dk Sınırsız* Sınırsız* Sınırsız* Sınırsız* Sınırsız* Sınırsız*
Rezervasyon için uygun Hayır No. No. No. No. No. No. Hayır Evet, bir yıla kadar Evet, bir yıla kadar Evet, bir yıla kadar Evet, bir yıla kadar Evet, bir yıla kadar Evet, bir yıla kadar

*Yalnızca isteğe bağlı ani artış etkin diskler için geçerlidir.
** Yalnızca performans artı (önizleme) etkin diskler için geçerlidir.

Kaç disk seçtiğiniz, seçilen disk boyutuna bağlıdır. Uygulama gereksinimlerinizi karşılamak için tek bir P50 diski veya birden çok P10 diski kullanabilirsiniz. Seçimi yaparken burada listelenen önemli noktaları dikkate alın.

Ölçek sınırları (IOPS ve aktarım hızı)

Her premium disk boyutunun IOPS ve aktarım hızı sınırları VM ölçek sınırlarından farklıdır ve birbirinden bağımsızdır. Disklerden alınan toplam IOPS ve aktarım hızının, seçilen VM boyutunun ölçek sınırları içinde olduğundan emin olun.

Örneğin, bir uygulama gereksinimi en fazla 250 MB/sn aktarım hızına sahipse ve tek P30 diskli bir DS4 VM kullanıyorsanız, DS4 VM 256 MB/sn'ye kadar aktarım hızı verebilir. Ancak tek bir P30 diskinin aktarım hızı sınırı 200 MB/sn'dır. Bu nedenle uygulama, disk sınırı nedeniyle 200 MB/sn'de kısıtlanır. Bu sınırı aşmak için VM'ye birden fazla veri diski sağlayın veya disklerinizi P40 veya P50 olarak yeniden boyutlandırın.

Dekont

Önbellek tarafından sunulan okuma işlemleri disk IOPS'sine ve aktarım hızına dahil değildir, bu nedenle disk sınırlarına tabi değildir. Önbelleğin VM başına ayrı IOPS ve aktarım hızı sınırı vardır.

Örneğin, başlangıçta okuma ve yazma işlemleri sırasıyla 60 MB/sn ve 40 MB/sn'liktir. Zaman içinde önbellek ısınır ve önbellekten daha fazla okuma sağlar. Daha sonra diskten daha yüksek yazma aktarım hızı elde edebilirsiniz.

Disk sayısı

Uygulama gereksinimlerini değerlendirerek ihtiyacınız olan disk sayısını belirleyin. Her VM boyutunun, VM'ye ekleyebileceğiniz disk sayısıyla ilgili bir sınırı da vardır. Bu tutar genellikle çekirdek sayısının iki katıdır. Seçtiğiniz VM boyutunun gerekli disk sayısını destekleyene kadar olduğundan emin olun.

Premium depolama disklerinin standart depolama disklerine kıyasla daha yüksek performans özelliklerine sahip olduğunu unutmayın. Uygulamanızı standart depolamayı kullanarak bir Azure IaaS VM'sinden premium depolamaya geçiriyorsanız, uygulamanız için aynı veya daha yüksek performans elde etmek için büyük olasılıkla daha az premium diske ihtiyacınız vardır.

Disk önbelleği

Premium depolama kullanan yüksek ölçekli VM'lerin BlobCache adlı çok katmanlı önbelleğe alma teknolojisi vardır. BlobCache , önbelleğe alma için konak RAM ve yerel SSD'nin bir bileşimini kullanır. Bu önbellek, premium depolama kalıcı diskleri ve VM yerel diskleri için kullanılabilir. Varsayılan olarak, bu önbellek ayarı işletim sistemi diskleri için ReadWrite ve premium depolamada barındırılan veri diskleri için ReadOnly olarak ayarlanır. Premium depolama disklerinde disk önbelleğe alma etkinleştirildiğinde, yüksek ölçekli VM'ler temel alınan disk performansını aşan son derece yüksek performans düzeyleri elde edebilir.

Uyarı

Disk önbelleğe alma, 4 TiB ve daha büyük diskler için desteklenmez. VM'nize birden çok disk takılıysa, 4 TiB'den küçük her disk önbelleğe almayı destekler.

Bir Azure diskinin önbellek ayarını değiştirmek diski ayırıp yeniden ekler. İşletim sistemi diskiyse, VM yeniden başlatılır. Disk önbelleği ayarını değiştirmeden önce bu kesintiden etkilenecek tüm uygulamaları ve hizmetleri durdurun. Bu önerilerin takip edilmemesi veri bozulmasına neden olabilir.

BlobCache'in nasıl çalıştığı hakkında daha fazla bilgi edinmek için Azure premium depolamanın içinde blog gönderisine bakın.

Doğru disk kümesinde önbelleğe almayı etkinleştirmek önemlidir. Premium diskte disk önbelleğini etkinleştirmeniz gerekip gerekmediği, diskin işlediği iş yükü düzenine bağlıdır. Aşağıdaki tabloda işletim sistemi ve veri diskleri için varsayılan önbellek ayarları gösterilmektedir.

Disk türü Varsayılan önbellek ayarı
İşletim sistemi diski Readwrite
Veri diski Salt Okunur

Veri diskleri için aşağıdaki disk önbelleği ayarlarını öneririz.

Disk önbelleğe alma ayarı Bu ayarın ne zaman kullanılacağına ilişkin öneri
Hiçbiri Yalnızca yazma ve yoğun yazma içeren diskler için konak önbelleğini Yok olarak yapılandırın.
Salt Okunur Salt okunur ve okuma-yazma diskleri için ana bilgisayar önbelleğini ReadOnly olarak yapılandırın.
Readwrite Yalnızca uygulamanız gerektiğinde önbelleğe alınmış verileri kalıcı disklere yazmayı düzgün işlerse ana bilgisayar önbelleğini ReadWrite olarak yapılandırın.

Salt Okunur

Premium depolama veri disklerinde ReadOnly önbelleğini yapılandırarak, düşük okuma gecikmesi elde edebilir ve uygulamanız için iki nedenden dolayı çok yüksek okuma IOPS'si ve aktarım hızı elde edebilirsiniz:

  1. VM belleğinde ve yerel SSD'de bulunan önbellekten gerçekleştirilen okuma işlemleri, Azure Blob Depolama üzerinde bulunan veri diskinden yapılan okuma işlemlerinden daha hızlıdır.
  2. Premium depolama, önbellekten disk IOPS'sine ve aktarım hızına yönelik olarak sunulan okumaları saymaz. Bu nedenle uygulamanız daha yüksek toplam IOPS ve aktarım hızı elde edebilir.

Readwrite

Varsayılan olarak, işletim sistemi disklerinde ReadWrite önbelleğe alma özelliği etkindir. Kısa süre önce veri disklerinde ReadWrite önbelleğe alma desteği de ekledik. ReadWrite önbelleğe alma özelliğini kullanıyorsanız verileri önbellekten kalıcı disklere yazmak için uygun bir yönteme sahip olmanız gerekir. Örneğin, SQL Server önbelleğe alınmış verileri kalıcı depolama disklerine kendi başına yazmayı işler. Okuma Yazma önbelleğini gerekli verilerin kalıcı hale getirmekle ilgilenmeyen bir uygulamayla kullanılması, VM'nin kilitlenmesi durumunda veri kaybına neden olabilir.

Hiçbiri

Şu anda Hiçbiri yalnızca veri disklerinde desteklenmektedir. İşletim sistemi disklerinde desteklenmez. İşletim sistemi diskinde Hiçbiri'ni ayarlarsanız, bu ayar dahili olarak geçersiz kılınıp ReadOnly olarak ayarlanır.

Örneğin, aşağıdaki adımları izleyerek bu yönergeleri premium depolamada çalışan SQL Server'a uygulayabilirsiniz:

  1. Veri dosyalarını barındıran premium depolama disklerinde ReadOnly önbelleğini yapılandırın.
    1. Veri sayfaları doğrudan veri disklerinden veri disklerine kıyasla önbellekten daha hızlı alındığından önbellekten hızlı okumalar SQL Server sorgu süresini düşürür.
    2. Önbellekten okumaları sunma, premium veri disklerinden daha fazla aktarım hızı olduğu anlamına gelir. SQL Server daha fazla veri sayfası ve yedekleme/geri yükleme, toplu yüklemeler ve dizin yeniden derlemeleri gibi diğer işlemleri almak için bu ek aktarım hızını kullanabilir.
  2. Günlük dosyalarını barındıran premium depolama disklerinde None önbelleğini yapılandırın.
    1. Günlük dosyaları öncelikli olarak yoğun yazma işlemlerine sahiptir, bu nedenle ReadOnly önbelleğinden yararlanmaz.

Linux VM'lerinde performansı iyileştirme

Tüm Premium SSD'ler veya Ultra Diskler için, verileri kaybedebilecek önbellek olmadığı bilindiğinde performansı artırmak için diskteki dosya sistemleri için engelleri devre dışı bırakabilirsiniz. Azure disk önbelleği ReadOnly veya None olarak ayarlandıysa, engelleri devre dışı bırakabilirsiniz. Ancak önbelleğe alma ReadWrite olarak ayarlandıysa, yazma dayanıklılığını sağlamak için engeller etkin kalmalıdır. Engeller genellikle varsayılan olarak etkindir, ancak dosya sistemi türüne bağlı olarak aşağıdaki yöntemlerden birini kullanarak engelleri devre dışı bırakabilirsiniz:

  • reiserFS: Engelleri devre dışı bırakmak için barrier=none bağlama seçeneğini kullanın. Engelleri açıkça etkinleştirmek için barrier=flush kullanın.
  • ext3/ext4: Engelleri devre dışı bırakmak için barrier=0 bağlama seçeneğini kullanın. Engelleri açıkça etkinleştirmek için barrier=1 kullanın.
  • XFS: Engelleri devre dışı bırakmak için nobarrier bağlama seçeneğini kullanın. Engelleri açıkça etkinleştirmek için bariyeri kullanın. Ana linux çekirdeğinin 4.10 sürümünden itibaren XFS dosya sisteminin tasarımı her zaman dayanıklılık sağlar. Engelleri devre dışı bırakmanın hiçbir etkisi yoktur ve nobarrier seçeneği kullanım dışıdır. Ancak, bazı Linux dağıtımları değişiklikleri önceki çekirdek sürümüne sahip bir dağıtım sürümüne geri aktarmış olabilir. Çalıştırdığınız dağıtım ve sürümdeki durum için dağıtım satıcınıza başvurun.

Disk şeritleme

Yüksek ölçekli bir VM çeşitli premium depolama kalıcı diskleriyle eklendiğinde, diskler IOP'lerini, bant genişliğini ve depolama kapasitesini toplamak için birlikte şeritlendirilebilir.

Windows'da, diskleri birlikte şeritlere ayırmak için Depolama Alanları kullanabilirsiniz. Havuzdaki her disk için bir sütun yapılandırmanız gerekir. Aksi takdirde, diskler arasında trafiğin eşit olmayan dağıtımı nedeniyle şeritli birimin genel performansı beklenenden daha düşük olabilir.

Sunucu Yöneticisi kullanıcı arabirimini kullanarak, şeritli birim için en fazla 8 sütun sayısını ayarlayabilirsiniz. Sekizden fazla disk eklerken, birimi oluşturmak için PowerShell'i kullanın. PowerShell'i kullanarak, sütun sayısını disk sayısına eşit olarak ayarlayabilirsiniz. Örneğin, tek bir şerit kümesinde 16 disk varsa, PowerShell cmdlet'inin parametresinde NumberOfColumnsNew-VirtualDisk sütunları belirtin16.

Linux'ta, diskleri birlikte şerite almak için MDADM yardımcı programını kullanın. Linux'ta diskleri ayırma adımları için bkz . Linux'ta Yazılım RAID'ini Yapılandırma.

Şerit boyutu

Disk şeritlemede önemli bir yapılandırma şerit boyutudur. Şerit boyutu veya blok boyutu, bir uygulamanın şeritli bir birimde ele alınabileceği en küçük veri öbekleridir. Yapılandırdığınız şerit boyutu, uygulamanın türüne ve istek desenine bağlıdır. Yanlış şerit boyutunu seçerseniz, bu G/Ç yanlış hizalamasına ve bu da uygulamanızın performansının düşmesine neden olabilir.

Örneğin, uygulamanız tarafından oluşturulan bir G/Ç isteği disk şeridi boyutundan daha büyükse, depolama sistemi bunu birden fazla diskte şeritli birim sınırları boyunca yazar. Bu verilere erişme zamanı geldiğinde, isteği tamamlamak için birden fazla şerit birimi arasında arama yapmak gerekir. Bu tür davranışların kümülatif etkisi önemli performans düşüşlerine yol açabilir. Öte yandan G/Ç isteği boyutu şerit boyutundan küçükse ve doğası gereği rastgeleyse, G/Ç istekleri aynı diske eklenip performans sorununa neden olabilir ve sonuçta G/Ç performansını düşürebilir.

Uygulamanızın çalıştırılan iş yükünün türüne bağlı olarak uygun şerit boyutunu seçin. Rastgele küçük G/Ç istekleri için daha küçük bir şerit boyutu kullanın. Büyük sıralı G/Ç istekleri için daha büyük bir şerit boyutu kullanın. Premium depolamada çalıştırılacak uygulama için şerit boyutu önerilerini öğrenin. SQL Server için OLTP iş yükleri için 64 KB ve veri ambarı iş yükleri için 256 KB şerit boyutu yapılandırın. Daha fazla bilgi için bkz . Azure VM'lerinde SQL Server için performans en iyi yöntemleri.

Dekont

DS serisi VM'de en fazla 32 premium depolama diski ve GS serisi VM'de 64 premium depolama diski birlikte şerit oluşturabilirsiniz.

Çoklu kullanım

Azure, premium depolama platformunu yüksek düzeyde paralel olacak şekilde tasarladı. Bu nedenle, çok iş parçacıklı bir uygulama tek iş parçacıklı bir uygulamadan daha yüksek performans elde eder. Çok iş parçacıklı bir uygulama, görevlerini birden çok iş parçacığına böler ve VM ve disk kaynaklarını en üst düzeye çıkararak yürütme verimliliğini artırır.

Örneğin, uygulamanız iki iş parçacığı kullanan tek çekirdekli bir VM üzerinde çalışıyorsa CPU, verimlilik elde etmek için iki iş parçacığı arasında geçiş yapabilir. Bir iş parçacığı disk G/Ç'sinin tamamlanmasını beklerken, CPU diğer iş parçacığına geçebilir. Bu şekilde, iki iş parçacığı tek bir iş parçacığından daha fazlasını gerçekleştirebilir. VM'nin birden fazla çekirdeği varsa, her çekirdek görevleri paralel olarak çalıştırabildiğinden çalışma süresini daha da azaltır.

Kullanıma hazır bir uygulamanın tek iş parçacığı veya çoklu iş parçacığı uygulama şeklini değiştiremeyebilirsiniz. Örneğin, SQL Server çoklu CPU ve çok çekirdekli işlemleri yapabilir. Ancak SQL Server, sorguyu işlemek için bir veya daha fazla iş parçacığını hangi koşullar altında kullandığına karar verir. Çok iş parçacığı kullanarak sorgular çalıştırabilir ve dizinler oluşturabilir. Büyük tabloları birleştirmeyi ve kullanıcıya dönmeden önce verileri sıralamayı içeren bir sorgu için SQL Server büyük olasılıkla birden çok iş parçacığı kullanır. Kullanıcı, SQL Server'ın tek bir iş parçacığı veya birden çok iş parçacığı kullanarak sorgu çalıştırıp çalıştırmadığını denetleyemez.

Bir uygulamanın çok iş parçacıklı veya paralel işlenmesini etkilemek için değiştirebileceğiniz yapılandırma ayarları vardır. Örneğin, SQL Server için bu yapılandırmadır max degree of parallelism . MAXDOP adlı bu ayar, SQL Server'ın paralel işleme sırasında kullanabileceği en fazla işlemci sayısını yapılandırmanıza olanak tanır. MAXDOP'yi tek tek sorgular veya dizin işlemleri için yapılandırabilirsiniz. Bu özellik, performans açısından kritik bir uygulama için sisteminizin kaynaklarını dengelemek istediğinizde yararlıdır.

Örneğin, SQL Server kullanan uygulamanızın aynı anda büyük bir sorgu ve dizin işlemi çalıştırdığını söyleyebiliriz. Dizin işleminin büyük sorguya kıyasla daha yüksek performanslı olmasını istediğinizi varsayalım. Böyle bir durumda, dizin işleminin MAXDOP değerini sorgunun MAXDOP değerinden yüksek olacak şekilde ayarlayabilirsiniz. Bu şekilde SQL Server, büyük sorguya ayırabileceği işlemci sayısına kıyasla dizin işlemi için kullanabileceğinden daha fazla işlemciye sahiptir. UNUTMAYıN, SQL Server'ın her işlem için kullandığı iş parçacığı sayısını denetlemezsiniz. Çok iş parçacığı kullanımı için ayrılmış işlemci sayısı üst sınırını denetleyebilirsiniz.

SQL Server'da paralellik derecesi hakkında daha fazla bilgi edinin. Bu tür ayarların, performansı iyileştirmek için uygulamanızda çoklu iş parçacığı kullanımı ve bunların yapılandırmalarını nasıl etkilediğini öğrenin.

Kuyruk derinliği

Kuyruk derinliği, kuyruk uzunluğu veya kuyruk boyutu, sistemdeki bekleyen G/Ç isteklerinin sayısıdır. Kuyruk derinliği değeri, uygulamanızın kaç G/Ç işleminin sıralanabileceğini ve hangi depolama disklerinin işleneceğini belirler. Bu makalede ele alınan üç uygulama performansı göstergesini de etkiler: IOPS, aktarım hızı ve gecikme süresi.

Kuyruk derinliği ve çoklu iş parçacığı kullanımı yakından ilişkilidir. Kuyruk derinliği değeri, uygulama tarafından ne kadar çok iş parçacığı elde edilebileceğini gösterir. Kuyruk derinliği büyükse, uygulama eşzamanlı olarak daha fazla işlem çalıştırabilir, başka bir deyişle daha çok iş parçacığı kullanabilir. Kuyruk derinliği küçükse, uygulama çok iş parçacıklı olsa bile eşzamanlı yürütme için yeterli sayıda istek sıraya alınamaz.

Genellikle kullanıma hazır uygulamalar kuyruk derinliğini değiştirmenize izin vermez, çünkü yanlış ayarlanırsa, iyiden daha fazla zarar verir. Uygulamalar en iyi performansı elde etmek için doğru kuyruk derinliği değerini ayarlar. Uygulamanızla ilgili performans sorunlarını giderebilmeniz için bu kavramı anlamanız önemlidir. Ayrıca sisteminizde karşılaştırma araçlarını çalıştırarak kuyruk derinliğinin etkilerini de gözlemleyebilirsiniz.

Bazı uygulamalar kuyruk derinliğini etkilemek için ayarlar sağlar. Örneğin, SQL Server'daki MAXDOP ayarı önceki bölümde açıklanmıştır. MAXDOP, SQL Server'ın kuyruk derinliği değerini doğrudan değiştirmese de kuyruk derinliğini ve çok iş parçacıklı iş parçacıklarını etkilemenin bir yoludur.

Yüksek kuyruk derinliği

Yüksek kuyruk derinliği diskte daha fazla işlem sıralar. Disk, kuyruğundaki bir sonraki isteği önceden biliyor. Bu nedenle, disk işlemleri önceden zamanlayabilir ve bunları en uygun sırada işleyebilir. Uygulama diske daha fazla istek gönderdiğinden, disk daha paralel G/Ç işlemleri yapabilir. Sonuç olarak, uygulama daha yüksek IOPS elde edebilir. Uygulama daha fazla istek işlediğinden, uygulamanın toplam aktarım hızı da artar.

Genellikle bir uygulama, bağlı disk başına 8 ila 16'nın üzerinde bekleyen G/Ç ile maksimum aktarım hızı elde edebilir. Kuyruk derinliği bir ise, uygulama sisteme yeterli G/Ç göndermiyordur ve belirli bir süre içinde daha küçük bir miktarda işler. Başka bir deyişle daha az aktarım hızı.

Örneğin, SQL Server'da, sorgunun MAXDOP değerini SQL Server'a 4 sorguyu çalıştırmak için en fazla dört çekirdek kullanabileceği konusunda bilgilendirir. SQL Server, sorgu yürütme için en iyi kuyruk derinliği değerini ve çekirdek sayısını belirler.

En uygun kuyruk derinliği

Çok yüksek bir kuyruk derinliği değerinin dezavantajları da vardır. Kuyruk derinliği değeri çok yüksekse, uygulama çok yüksek IOPS kullanmaya çalışır. Uygulamanın sağlanan yeterli IOPS'ye sahip kalıcı diskleri yoksa, çok yüksek bir kuyruk derinliği değeri uygulama gecikme sürelerini olumsuz etkileyebilir. Aşağıdaki formül IOPS, gecikme süresi ve kuyruk derinliği arasındaki ilişkiyi gösterir.

A diagram that shows the equation I O P S times latency equals queue depth.

Kuyruk derinliğini herhangi bir yüksek değere değil, en uygun değere göre yapılandırmanız gerekir. Bu değer, gecikmeleri etkilemeden uygulama için yeterli IOPS sağlayabilir. Örneğin, uygulama gecikme süresinin 1 milisaniye olması gerekiyorsa, 5.000 IOPS elde etmek için gereken kuyruk derinliği QD = 5.000 x 0.001 = 5'tir.

Şeritli birim için kuyruk derinliği

Şeritli bir birim için, her diskin ayrı ayrı en yüksek kuyruk derinliğine sahip olması için yeterince yüksek kuyruk derinliğini koruyun. Örneğin, kuyruk derinliğini 2 göndererek şeritte dört disk bulunan bir uygulamayı düşünün. İki G/Ç isteği iki diske gider ve kalan iki disk boşta kalır. Bu nedenle, tüm disklerin meşgul olabilmesi için kuyruk derinliğini yapılandırın. Aşağıdaki formülde, şeritli birimlerin kuyruk derinliğinin nasıl belirleneceği gösterilmektedir.

A diagram that shows the equation Q D per disk times number of columns per volume equals Q D of striped volume.

Azaltma

Premium depolama, seçtiğiniz VM boyutlarına ve disk boyutlarına bağlı olarak belirtilen sayıda IOPS ve aktarım hızı sağlar. Uygulamanız VM veya diskin işleyebileceği bu sınırların üzerinde IOPS veya aktarım hızı sağlamaya çalıştığında premium depolama bunu kısıtlar. Sonuç, uygulamanızda performansın düşmesidir ve bu da daha yüksek gecikme süresi, daha düşük aktarım hızı veya daha düşük IOPS anlamına gelebilir.

Premium depolama alanı kısıtlamazsa, uygulamanızın kaynaklarına ulaşabileceklerini aşarak tamamen başarısız olabilir. Azaltma nedeniyle performans sorunlarını önlemek için her zaman uygulamanız için yeterli kaynak sağlayın. Önceki VM boyutları ve disk boyutları bölümlerinde ele aldığımız konuları dikkate alın. Karşılaştırma, uygulamanızı barındırmak için ihtiyacınız olan kaynakları bulmanın en iyi yoludur.

Sonraki adımlar

Diskinizi karşılaştırmak istiyorsanız aşağıdaki makalelere bakın:

Kullanılabilir disk türleri hakkında daha fazla bilgi edinin:

SQL Server kullanıcıları için SQL Server için performans en iyi yöntemleri makalelerine bakın: