SORU
15 EYLÜL 2008, PAZARTESİ


Arabiriminin performansını artırmak için en iyi yolu nedir?

Kendi ORM olarak Arabiriminin kullanan bir uygulama var ve performans sorunları bilgileri erişiliyor nasıl nedeniyle bu deneyimler bazen. Ne tür şeyler Arabiriminin performansını artırmak için neler yapılabilir? (Her cevap için bir öneri için sınırı) lütfen

CEVAP
15 EYLÜL 2008, PAZARTESİ


Arabiriminin ile içine çalıştırabilirsiniz ve en dramatik ilk performans sorunu varsa, oluşturduğunuz her oturum için yeni bir oturum fabrika oluşturuyorsanız. Fabrika örneği, her bir uygulama yürütme ve tüm oturumlar için oluşturulan tek bir oturum fabrika tarafından oluşturulmalıdır.

Bu doğrultuda, aynı oturum kullanarak mantıklı olduğu sürece devam etmelidir. Bu uygulama tarafından değişir, ancak çoğu web uygulamaları için istek başına tek seans tavsiye edilir. Eğer oturumunuz sık atarsan, kendi önbellek faydayı değil mi. Akıllıca oturum önbelleği kullanarak çok iş olmadan sabit bir numarası için sorgu (veya daha kötü) doğrusal bir dizi ile bir rutin değiştirebilirsiniz.

Tembel olduğunuzdan emin olun aynı derecede önemlidir nesne referanslarını yükleniyor. Eğer değilse, tüm nesne grafikler, hatta en basit sorguları için yüklü olabilir. Sadece bunu yapmak için bazı nedenleri vardır, ama her zaman gerektiği gibi tembel yükleme ile başlamak ve geri dönmek için daha iyi olur.

O istekli getirilirken, tembel yükleme tam tersi için bize getiriyor. Nesne hiyerarşileri geçme ya da koleksiyon döngü sırasında, kaç yapıyoruz izini kaybetmek kolay olabilir ve size sorguları üstel bir sayı ile sonuna kadar. İstekli getiriliyor GETİRME BİRLEŞTİRME ile her sorgu bazında yapılabilir. Eğer her zaman getir tabloları belirli bir çifti birleştirmek ise yok gibi ender durumlarda, bu ilişki için tembel yükleme kapatma göz önünde bulundurun.

Her zaman olduğu gibi, SQL Profiler yavaş, art arda yapılan çalışan sorgular bulmak için harika bir yoldur. Son işimde sayfa başına isteği sayılır sorguları da bu gelişme bir özelliği vardı. Rutin sorguları için yüksek sayıda rutin iyi Arabiriminin ile çalışmayan en belirgin göstergesidir. Eğer sayı sorgular başına rutin veya talep iyi görünüyor, muhtemelen veritabanı ayarlama; sana yardım için yeterli bellek deposu yürütme planları ve veri önbelleği, doğru dizin oluşturma veri, vb.

Karşılaştık bir hileli sorun SetParameterList oldu(). İşlevi kolayca bir sorgu için parametre listesi geçmesine izin verir. Arabiriminin her madde geçirilen bir parametre oluşturarak bu hayata. Bu parametrelerin her sayı için farklı bir sorgu planı sonuçları. Yürütme planları hemen hemen her zaman önbellekten taburcu edildi. Ayrıca, çok sayıda parametrede anlamlı bir sorgu yavaşlatabilir. Özel Arabiriminin kesmek tek bir parametre olarak sınırlandırılmış bir liste gibi öğeleri göndermek için yaptık. Tablo değerine göre SQL Server ayrıldığı listemize otomatik olarak sorgu tümcesi içine hack işlev. Bu şekilde diğer kara mayınları uygulamanıza bağlı olarak olabilir. SQL Profiler onları bulmak için en iyi yoldur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DavidParody

    DavidParody

    17 EKİM 2009
  • iNCH

    iNCH

    20 Temmuz 2009
  • The Dubstep FX

    The Dubstep

    5 Mart 2011