2015-10-16 16 views
8

VS2013'ten VS2015'e yükselttikten sonra, web uygulamasının hata ayıklayıcısını ekleyerek ne kadar yavaş çalıştığından şoke oldum. Bu yüzden özellikle yavaş sayfasını analiz etmek MiniProfiler kullanarak VS2013 ve VS2015 arasında bir karşılaştırma yapmaya karar:Visual Studio 2015 hata ayıklayıcı - SqlCommand üzerinde yüksek performans etkisi

Comparison in Mini Profiler İlginçtir, VS2013 kullanarak ayıklarken, sayfaların daha hızlı yüklenmesi ardından IIS IIS Express altında. Ancak, VS2015'te hata ayıklama yaparken, IIS daha yavaş ve IIS Express'tir.

Ayrıca, MiniProfiler SQL ile ilgili kodda zamanın yüksek bir oranının kullanıldığını gösterir. Yani IIS üzerinde Profil sayfasına dotTrace kullanarak çalıştı - VS2015 ayıklayıcı ekli ile bir kez ve o takılı bir kez olmadan: Görünen

dotTrace comparison

ki (VS2015, işlemci zamanının çok yüksek bir yüzdesinde ayıklarken gerçek zamanlı) SqlCommand.ExecuteReader() üzerinde harcanan hata ayıklayıcı ile, bu yöntem oldukça etkilidir.

Aynı şeyi başka bir bilgisayarda da test ettim.

My uygulama ASP.NET MVC, NHibernate, SQL Server 2014 kullanır ve ben VS2015 debugger ile başka kimse deneyimli yavaş uygulama performansı, özellikle SQL komutlarını çalıştırırken, ekli Has

IIS 10

kullanıyorum? Kök nedeni nedir ve nasıl çözülür?

+0

Fonksiyon çağrılarını izlemeden profil dinlerseniz, arama aynı mı sayılır? Profilleyicideki çağrı yığınları biraz farklıdır (hata ayıklama özelliği, hata ayıklamanın olmadığı ExecuteFinish ve AddAll'e sahiptir). NH'nin bir sebepten ötürü çok farklı şeyler yapıp yapmadığını merak ediyorum. –

+0

2015'te, olay kaydedicisi (muhtemelen sql ifadeleriyle dolu, muhtemelen bahis oynar) da dahil olmak üzere, tanılamadan bahse girerim muhtemelen sizi rahatsız ediyor. http://i.stack.imgur.com/QWV4V.png Tekrar başvurup kontrol edin. Bunu devre dışı bırakıp açamayacağınızı ve bundan ne yarar sağlayacağınızı görün. – Will

+1

@Will Sadece teşhisi devre dışı bırakmayı denedi ve hiçbir fark yaratmadı. – jonh

cevap

0

deneyin tek seçenek vs2015

yılında teşhis devre dışı bırakmak için oldu gerçekten ado.net ekleme işlemleri bir sürü teşhis oldu Viual Studio 2017 rc modelinde aynı

İlgili konular