Azure SQL Sunucum neden bu kadar yavaş?


10

Şu anda çok zayıf bir VM'ye sahibiz ve daha iyi özelliklere sahip bir Azure VM'ye geçmeyi teklif ediyoruz. Sorun, Azure VM'nin daha yüksek bir spesifikasyona sahip olmasına rağmen orijinal VM'den çok daha yavaş olmasıdır.

Orijinal sunucu, aynı zamanda bir web sunucusu olan 2GB belleğe sahip 2 çekirdekli bir VM'dir. Microsoft SQL Server Web Edition 2008 R2 çalıştırıyor ve bu sunucu başka şeyler için kullanıldığından, SQL Server'daki maksimum sunucu belleğini 512 MB ile sınırlamak zorunda kaldık .

Yeni sunucu, sadece veritabanı sunucusu olan 7GB belleğe sahip 4 çekirdekli bir sanal makinedir. Microsoft SQL Server Standard Edition 2008 R2 çalıştırıyor ve SQL Server'ın kullanabileceği bellek miktarını sınırlandırmadık.

Bu, yansıtılmış bir ortamda kurulmuş iki sunucudan biridir, ancak sınama çalıştırdığım veritabanı yansıtılmaz. Bu sunucudaki diğer veritabanları şu anda çok fazla trafik almıyor (aslında, Monitor Monitor bu testleri çalıştırırken diğer DB'lerde hiçbir etkinlik göstermiyor).

Azure VM'leriyle ilgili bir sorunun, sabit sürücülerin bir ağ kaynağı olduğu ve bunun yavaşlamanın kaynağı olacağının farkındayım, ancak G / Ç istatistiklerinde 0 fiziksel okuma olsa bile hala daha yavaş.

Diskleri (sürücü başına iki disk) soymak ve günlük ve veri dosyalarını ayrı sürücülere yerleştirmek de dahil olmak üzere Azure VM'deki bu sayfada ayar önerilerini izledim .

Yapmadığım tek şey sayfa sıkıştırmayı etkinleştirmek, veritabanında otomatik büyümeyi sınırlamak ve SQL sunucusu hata günlüğünü taşımak ve dosya dizinlerini veri disklerine taşımaktır. Bunu eski sunucuda da yapmadım.

Eski sunucuda bu ayarın hiçbiri yapılmaz ve günlük ve veri dosyaları şeritli olmayan aynı sürücüde bulunur.

Geçerli sunucudaki veritabanı 65 GB (45 veri ve 20 günlük) yeni sunucuya aktarılamayacak kadar büyük olduğundan daha küçük bir DB (6 veri ve 13.5 günlük)

Eski sunucuda sonuçları CPU time = 1311 ms, elapsed time = 1057 ms.ve yeni sunucuda CPU time = 1281 ms, elapsed time = 2525 ms. Bu sadece bir çalışma ama sonuçları normalde gördüğüm şeyi temsil eder.

Yeni sunucu, CPU süresinden önemli ölçüde daha uzun bir süreye sahip görünüyor. Bu bir sorun mu ve buna neyin sebep olduğunu bulmak için yapabileceğim bir şey var mı?

Bu sunucunun, eski sunucudan daha hızlı olması gerektiği gibi neden bu kadar yavaş gittiğini öğrenmek için başka hangi adımları atabilirim?


1
Maxdop 1? Yürütme planlarını karşılaştırdınız, bekleme istatistiklerinden önce ve sonra aldınız ve engelleme olup olmadığını kontrol ettiniz mi?
Aaron Bertrand

1
Kaç tane veri sürücüsü var? Standart sayfa blob depolama ile, her sürücü temel katmandaki 300 IOPS veya standart olarak 500 IOPS ile sınırlıdır, bu da şirket içi eğirme diskinden çok daha azdır. IOPS ve bant genişliğini en üst düzeye çıkarmak için mümkün olduğunca çok sürücüye (vhd) sahip olmak zorunludur. Her sürücüde ayrı bir veri dosyası oluşturma ihtiyacını ortadan kaldırmak için Windows Depolama Alanları'nı kullanabilirsiniz.
Dan Guzman

Yeni sunucuda iki sürücüye ayrılmış 4 VHD var, bu yüzden günlükler için 1000 IOPS ve veriler için 1000 IOPS var.
Steve Kaye

Standart bir sayfa blog depolama alanı VHD, kısıtlama nedeniyle yalnızca yaklaşık 30 MB / sn bant genişliği sağlar, bu da yalnızca 60 MB / sn toplamdır. 420 MB / sn'ye kadar 14 veri VHD oluşturmayı ve bunların arasında şerit oluşturmayı düşünün.
Dan Guzman

Bir A3 örneği olduğu için sadece 8 disk alabilirim, bu yüzden fiyatın iki katı olan A4'ü yükseltmek zorunda kalacağım. Her şeyden önce testlerin IO istatistiklerinde listelenen 0 fiziksel okuması olduğu için bunun bir tahrik sorunu olduğunu düşünmüyorum.
Steve Kaye

Yanıtlar:


2

Değer için Azure'daki VM'yi A tipinden D tipine değiştirdikten sonra başka bir disk takıp TEMPDB'yi bu diske taşıdım. Şimdi son VM'im, biri MDF dosyaları, diğeri LDF dosyaları ve yeni TEMPDB disk için olmak üzere 7 GB RAM ve üç veri diskine sahip bir D2 Standardı.

A3 ile bahsettiğiniz bazı şeyleri anlamaya çalışmaktan vazgeçtim ve sadece sanal makineyi yükseltin. A2'den A3'e bile gittim ve bazı iyileştirmeler bulduğum halde, bir D2 VM'ye geçtim.

Belirttiğiniz belgede Microsoft, belgenin başındaki kontrol listesindeki diğer şeylerin yanı sıra Enterprise Edition için D3 veya Web veya Standard Edition için D2 ve Premium Depolama kullanımını önerir.

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.