[C#]WCF Service 'koude start'

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 03-09 19:59
Ik draai hier met een zelf ontwikkelde tool die meerdere WCF services start. Op het moment dat de clients verbinding gaan maken is het geheel nogal traag. De eerste aanroep van een methode op de service duurt soms meer dan 5 seconden. Omdat ik gebruik maak van meerdere services duurt het opstarten van de client te lang. Zijn er mensen die dit probleem kennen en of hier een oplossing voor hebben?
Ik gebruik NetTcpBinding.

http://hawvie.deviantart.com/


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:30
warming tooltjes maken die gescheduled worden ergens aan het begin / voor de werkdag die gewoon een bepaalde method van iedere service eens gaan aanroepen ... ?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Anders zet je even tracing aan voor je WCF services. Dit kun je vrij eenvoudig doen met met de WCF Service Configuration Editor. Met de Service Trace Viewer kun je dan precies zien wat er tijdens dat opstarten gebeurt en wat er het langst duurt. Wellicht is er een bottleneck die je kunt voorkomen.

Zonder je service kennende denk ik echter dat je weinig winst hiermee zult halen, en dat een warming up call de beste oplossing is.

Acties:
  • 0 Henk 'm!

  • jan-marten
  • Registratie: September 2000
  • Laatst online: 09-09 19:38
Kijk eens naar je throttling instellingen van je service. Bij het opstarten moet het proces een aantal threads initialiseren en dit kan even duren.

Acties:
  • 0 Henk 'm!

  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 03-09 19:59
whoami schreef op maandag 15 september 2008 @ 15:54:
warming tooltjes maken die gescheduled worden ergens aan het begin / voor de werkdag die gewoon een bepaalde method van iedere service eens gaan aanroepen ... ?
Thanks voor je suggestie. :) Ik moet er nog even over nadenken hoe of dat ik dit ga implementeren.
Verwijderd schreef op maandag 15 september 2008 @ 16:07:
Anders zet je even tracing aan voor je WCF services. Dit kun je vrij eenvoudig doen met met de WCF Service Configuration Editor. Met de Service Trace Viewer kun je dan precies zien wat er tijdens dat opstarten gebeurt en wat er het langst duurt. Wellicht is er een bottleneck die je kunt voorkomen.

Zonder je service kennende denk ik echter dat je weinig winst hiermee zult halen, en dat een warming up call de beste oplossing is.
Mijn test service is vrij kaal en doet er toch vrij lang over. Ik denk ook dat het te maken heeft met alle overige references die on the fly worden geladen.
jan-marten schreef op maandag 15 september 2008 @ 17:14:
Kijk eens naar je throttling instellingen van je service. Bij het opstarten moet het proces een aantal threads initialiseren en dit kan even duren.
Ga ik morgen bekijken. Bedankt voor de antwoorden. :)

http://hawvie.deviantart.com/


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
Houd er ook rekening mee dat het opzetten van de verbinding tussen de service en client (afhankelijk van je configuratie, gebruik je beveiliging opties ?) een dure operatie is.
Plus het hangt er ook vanaf hoe je het doet.
Gebruik je een gegenereerde proxy? of gebruik je handmatig de channelfactory? Doe je misschien at runtime je proxy met geserialiseerde data genereren ? (http://msdn.microsoft.com/en-us/library/aa751883.aspx).
Hoe zijn je services gehost?

Ik heb een zelfde situatie als jij. Alleen heb ik geen last van die service lag. Maar zonder meer informatie kan ik er weinig over roepen.
Pagina: 1