Freigeben über


Verschiedene RPC-Leistungstipps

In diesem Abschnitt werden verschiedene Leistungstipps für die Entwicklung leistungsstarker RPC-Server erläutert. Dieser Abschnitt enthält viele Tipps, die sich auf den RPC-Client beziehen. Durch die ordnungsgemäße Entwicklung eines RPC-Clients kann der RPC-Server weniger Arbeit ausführen.

Verwenden von Kerberos

Wenn Sicherheit verwendet wird, verwenden Sie Kerberos. Auf serverseitiger Seite erfordert Kerberos keinen Zugriff auf den KDC. Dadurch wird die Arbeitsauslastung vom Server auf den Client verschoben, was eine bessere Leistung bietet.

Verwenden der statischen Identitätsnachverfolgung

Wenn Sicherheit verwendet wird, versuchen Sie, die statische Identitätsnachverfolgung zu verwenden. Statische Identitätsnachverfolgung ist im Hinblick auf die Ressourcennutzung günstiger als die dynamische Identitätsnachverfolgung. Wenn sich die Clientidentität ändert und der Server die Änderung nicht kennen sollte, verwenden Sie dynamische Nachverfolgung, anstatt für jede Identität ein anderes Bindungshandle zu erstellen. Wenn die Identität jedoch identisch ist, stellen Sie sicher, dass RPC diese Tatsache kennt, um zu vermeiden, dass RPC jedes Mal Überprüfungen auf geänderte Identitäten vorgibt.

Verwenden der RpcGetAuthorizationContextForClient-Funktion

Wenn Sie den Zugriff in Windows XP überprüfen müssen, verwenden Sie die funktion RpcGetAuthorizationContextForClient. Die resultierenden Authz-Kontexte ermöglichen sehr schnelle Zugriffsprüfungen, die von der RPC-Laufzeit effizient zwischengespeichert werden.

Das Token nur ändern, wenn dies erforderlich ist

Wenn die dynamische Identitätsnachverfolgung verwendet wird, ändern Sie das Thread-/Prozesstoken nicht, es sei denn, es ist unbedingt erforderlich. Selbst wenn es in den zuvor vorgenommenen Einstellungen geändert wurde, unterscheidet sich das Token häufig ausreichend vom Sicherheitssystem, um die Einrichtung eines neuen Sicherheitskontexts auszulösen.

Berücksichtigen der Serialisierung im gemischten Modus für Kontexthandles

Der Standard serialisierungsmodus für den Kontexthandle wird serialisiert (exklusiv). Erwägen Sie, alle Aufrufe zu tätigen, die den Status des Kontexthandles im freigegebenen Serialisierungsmodus nicht ändern. Weitere Informationen finden Sie unter RpcSsContextLockExclusive.