SORU
6 Kasım 2012, Salı


Nasıl "ısınma" Varlık Çerçevesi? Ne zaman "soğuk" mi;?

Hayır, ikinci sorum, kış değil.

Önsöz:

Varlık Çerçevesi üzerinde araştırma son zamanlarda çok yapıyorum ve beni huzursuz eden birşey sorgular-ısıt, sözde soğuk sorgular olmadığında performansı.

Varlık Çerçevesi için performance considerations makale 5.0 üzerinden gittim. Yazarlar kavramı kullanılmaya başlandıSıcakveSoğuksorgular ve nasıl farklı, ben de onların varlığını bilmeden kendimi fark ettim. Burada muhtemelen değer ben sadece arkamdan iş deneyimi altı ay olduğundan bahsetmeme gerek yok.

Şimdi ise çerçeve daha iyi performans açısından anlamak istiyorum ayrıca araştırma yapabileceğimi biliyorum. Ne yazık ki internetteki bilgilerin çoğu ya da öznellik, dolayısıyla benim yetersizlik ile eski şişmiş herhangi bir ek bilgi bulmak içinSıcakvsSoğuksorgular konuyu.

Şimdiye kadar fark etmemiştim temelde yeniden ya da geri dönüşüm vurur zaman, benim ilk sorgu çok yavaş alıyor. Herhangi bir sonraki veri hızlı okuma (öznel), beklendiği gibi.

2012, İİS8 ve SQL Server 2012 Windows Server geçiş olacağız ve bir genç olarak kendimi geri kalanını önce onları test etme şansı kazandı. Benim uygulama ilk istek için hazır olacak ısınma-up modülü tanıttı çok mutluyum. Ancak, Varlık benim Çerçeve ısınma ile devam etmek için nasıl emin değilim.

Zaten bildiğim bir şeyi yapmaya değer

  • Görüşlerimi oluşturmak peşin olarak önerdi.
  • Sonunda ayrı bir topluluk halinde modellerimi hareket.

Ben, sağduyu ile giderek yapıyor, düşününmuhtemelen yanlış bir yaklaşım:

  • İşin kukla veri şeyleri sıcak için Uygulama başlangıcında okur ve modeller oluşturmak doğrulamak.

Soru:

  • Her an Varlık benim ortamı yüksek kullanılabilirlik için en iyi yaklaşım ne olurdu?
  • Hangi durumlarda Varlık Çerçeve "" yine mi soğuk olur mu (Derleme, Geri Dönüşüm, Yeniden IIS vb.)

CEVAP
28 Kasım 2012, ÇARŞAMBA


  • Her an Varlık benim ortamı yüksek kullanılabilirlik için en iyi yaklaşım ne olurdu?

Pregenerated görüş ve statik derlenmiş sorguları karışımı için gidebilirsiniz.

Statik CompiledQuerys yazma ve performans azaltmak için hızlı ve kolay, çünkü onlar iyi. Ancak EF5 ile EF otomatik derleme kendisi sorguları beri tüm sorgular derlemek için gerekli değildir. Tek sorun bu sorgu önbelleği silip süpürdü zaman kaybolabilir. Hala sadece çok nadir ortaya çıkan bu kendi derlenmiş sorguları için başvurular tutmak istiyorum, ama o da çok pahalı. Eğer statik sınıflara bu sorguları koyarsanız ilk gerekli olduğunda derlenmiş olacak. Bu bazı sorgular için çok geç olabilir, uygulama başlatılırken bu sorgu derleme zorlamak isteyebilirsiniz.

Pregenerating manzarası bahsettiğin gibi diğer olasılık. Özellikle, bu sorgular için çok uzun bir derleme ve bu değişmez. Bu şekilde performans yükü, çalışma zamanı derleme taşıyın. Ayrıca bu herhangi bir gecikme tanıştırmayacak. Ama tabii ki bu değişiklik ile başa çıkmak için o kadar kolay değil yani veritabanına gider. Kod daha esnektir.

TPT miras bir sürü (EF genel bir performans sorunu var) kullanmayın. Ne miras çok derin ne de çok geniş hiyerarşileri oluşturun. Sadece 2-3 özelliklerini bazı sınıf için kendi özel bir tür ihtiyaç için yeterli olmayabilir, ama varolan bir türü için (null) isteğe bağlı özellikler olarak ele alınabilir.

Uzun bir süre için tek bir içerik haline bırakmıyoruz. Her bir bağlam örneği daha büyük büyüdükçe performansını yavaşlatır kendi ilk seviye önbelleği vardır. İçerik yaratma ve ucuz, ama içeriği önbelleğe alınan varlıklar içinde devlet yönetimi pahalı hale gelebilir. Diğer önbelleğe (sorgu planı ve meta veri) kapsamları arasında paylaşılan ve birlikte Uygulama ile ölecek.

Sonuçta emin olmalısın tahsis bağlamlarda sık ve bunları kullanmak için sadece kısa bir süre, başlangıç uygulama hızlı bir şekilde, bu derleme sorgular nadiren kullanılan ve sağlamak pregenerated görüşlerini sorgulayan performans kritik ve sık sık kullanılır.

  • Hangi durumlarda Varlık Çerçeve "" yine mi soğuk olur mu (Derleme, Geri Dönüşüm, Yeniden IIS vb.)

Temelde, her zaman Uygulama kaybedersiniz. IIS 29 hours asla örneklerini etrafında olacak garanti edemez o yüzden her yeniden gerçekleştirir. Ayrıca bir süre bir şey olmazsa Uygulama da kapatılmış durumda. En kısa zamanda yeniden gelmek için çalışmalıdır. Belki başlatılması biraz zaman uyumsuz olarak (ama çok iş parçacığı sorunları dikkat) yapabilirsiniz. Ölümden Uygulama önlemek için istekleri vardır hayır, ama zamanlarda uygulamanızı boş sayfa sonunda çağrı zamanlanmış görevleri kullanabilirsiniz.

Ben de senin config veya derlemeleri bir dosya değişikliği yeniden olacak değiştirdiğinizde varsayalım.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • уσ ρℓz sυв ιℓℓ sυв вαcқ

    уσ ρℓz

    14 EKİM 2010
  • newreleaseblitz

    newreleasebl

    13 Ocak 2010
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008