Ş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?