Microsoft Dynamics CRM 4.0 | It´s all about Performance (Kerberos Auth Persistence)

 

Heute bin ich bei meiner täglichen Blog-Sichtung auf einen Artikel von Dave Barry aufmerksam geworden, der sich mit Kerberos Auth Persistence für IIS 6.0 auseinandersetzt und zu einer Performance-Verbesserung des CRM Systems führte.

Obwohl schon seit langer Zeit keine Installation mehr auf einem Windows Server 2003 mit IIS 6.0 durchgeführt, habe ich mich gefragt: Wie mag es sich mit einer Installation unter Windows Server 2008 und IIS 7.0 verhalten?

fiddler_beforeAuthPersistNonNTLM In einer meiner Entwicklungs- und Testumgebungen habe ich mir daher einmal den Netzwerkverkehr mitgeschnitten und siehe da, mit IIS 7.0 habe ich hier 401 und anschließend 200 (OK) – Meldungen ohne einen “Schalter” gesetzt zu haben.

Da ich in vielen meiner Projekte per JavaScript oder ASPX den WebService des CRM kontaktiere und auch dort zunächst 401 und dann 200 – Meldungen erhalte, hatte ich mir bei dem Wechsel von IIS 6.0 auf IIS 7.0 Installationen kaum noch Gedanken über das Thema gemacht, da sich die Performance mit einem IIS 7.0 bereits signifikant gebessert hatte (nicht zuletzt auch durch das Output Caching).

Eine Recherche brachte mich zum Support Artikel 954873, der den Schalter “authPersistNonNTLM” im IIS 7.0 beschreibt, der den Registry Key EnableKerbAuthPersist für den IIS 6.0 ersetzt.

Die Konfiguration des IIS 7.0 ist schnell durchgeführt:

  1. Click Start, click Run, type cmd, and then click OK.
  2. At the command prompt, type the following commands, and then press ENTER:

    cd %SystemRoot%\System32\inetsrv

          appcmd set config /section:windowsAuthentication /authPersistNonNTLM:true

 

fiddler_afterAuthPersistNonNTLMDen Schalter gesetzt und anschließend den Netzwerkverkehr überprüft, war ich erfreut über den erneuten Performancegewinn beim Aufruf der CRM Seiten und insbesondere im Zusammenhang mit zahlreichen WebService Aufrufen.

Natürlich kann man unter Sicherheitsaspekten von einem solchen “Schalter” Abstand nehmen, da er sich jedoch nur auf eine HTTP-Keep-Alive Session bezieht, ist immer noch ausreichend Sicherheit gewährleistet.

“After you set the authPersistNonNTLM property to True, you do not require authentication for every request that is made over the same keep-alive connection. You may have to authenticate again if you use a different client TCP port to make another HTTP request. This scenario occurs when a new HTTP keep-alive session must be established.

For more information about HTTP keep-alive sessions, visit the following Internet Engineering Task Force (IETF) Web site:

http://www.ietf.org/rfc/rfc2616.txt 

 

Natürlich gilt es vor dem Einsatz in einer Live-Umgebung diese Konfiguration mit all seinen Plug-Ins, Add-Ons, IFDeployment, etc. zu testen. Doch der mögliche Performancegewinn ist einen Test mit Sicherheit wert…

 

3 Gedanken zu “Microsoft Dynamics CRM 4.0 | It´s all about Performance (Kerberos Auth Persistence)

  1. Ja, diese Einstellung bringt einen echten Performance Schub – insbesondere bei Verbindungen mit hohen Latenzzeiten!
    Allerdings rate ich von der Änderung der IIS Einstellungen ab, weil dann der ResportServer nicht mehr in allen Fällen funktioniert.
    Man kann das gleiche Ergebnis über einen Schalter in der Registry erzielen. Meine Erfahrung zeigt, dass der Registry Switch system-kompatibler ist.

  2. Pingback: Microsoft Dynamics CRM 4.0 | All about performance « Microsoft Dynamics CRM & Co

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s