2012-07-25 17 views
5

kullanarak daha iyi performans için WCF Servis ayarlamak için.nasıl IAM yeni WCF Services ServiceThrottling

Biz MSMQ dinleyen bir hizmet var. maxConcurrentInstances ve maxConcurrentSessions, hizmet için 1 olarak ayarlanır. , kuyruktaki mesajların ve iletilerin yavaşça sunulmasına neden olur. maxConcurrentInstances ve maxConcurrentSessions serviceThrottling elemanda özellik arasında fark nedir

.

Halihazırda çok yavaş olan 120 İletiye hizmet vermek 10 dakika sürmektedir.

hizmetin performansını artırmak için ideal bir değer olması gerekeni. Advance

cevap

4

maxConcurrentInstances içinde

Teşekkür: bakılmaksızın eşzamanlılık modu ve örnek bağlam modunun aynı anda isteğine yanıt verebilir hizmet sınıfının örnekleri maksimum sayısı.

maxConcurrentSessions: Aynı anda etkin olan maksimum WCF oturumu sayısı. eşzamanlılık modu varsayıldığında


NO çoklu ayarlanır.

IF Instance context mode = Per session 
    THEN Max number of requests processed in parallel = Min(maxConcurrentInstances, maxConcurrentSessions) 

IF Instance context mode = Per call 
    THEN Max number of requests processed in parallel = maxConcurrentInstances 

IF Instance context mode = Single 
    THEN Max number of requests processed in parallel = 1 

o eşzamanlılık modu çoklu olarak ayarlanır varsayarsak.

Tek bir örnek şimdi birden çok isteği işleyebilir, ancak eşzamanlılık sorunlarına dikkat etmeniz gerekir.


önemli soru şudur: nasıl örnek bağlam modunu seçiyorsunuz?

  • Sen çoklu işlemli programlama güvenen değildir: PerSession sopa veya PerCall
  • Aynı istemciden çağrılar arasında hizmet düzeyinde verileri tutmak gerekmez: PerSession kaçının
  • Hizmetin yeni bir örneğinin oluşturulması çok maliyetli: Tek kullanın, ancak eşzamanlılık sorunları ile başa çıkmak için hazırlıklı olun.

Bundan sonra, maksimum örnek sayısını (PerCall için) ve oturumları ayarlama (PerSession için). Genellikle 100 gibi bir sayıya ayarlayarak başlar ve daha hızlı bir şey yapıp yapmadığını görürsünüz. Eğer öyleyse, o zaman iyi. Değilse, örneklerinizi oluşturmak için yeterince hızlı olup olmadığını kontrol edin.