Verschiedene RPC-Tipps

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. Wenn Sie einen RPC-Client ordnungsgemäß entwickeln, 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 das KDC. Dadurch wird die Workload vom Server auf den Client verschoben, wodurch server mit höherer Leistung zur Verfügung steht.

Verwenden der statischen Identitätsnachverfolgung

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

Verwenden der RpcGetAuthorizationContextForClient-Funktion

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

Ändern Sie das Token nur, wenn dies erforderlich ist.

Wenn die dynamische Identitätsnachverfolgung verwendet wird, ändern Sie das Thread-/Prozesstoken nur, wenn dies unbedingt erforderlich ist. Auch wenn es an Einstellungen geändert wurde, die es zuvor hatte, unterscheidet sich das Token häufig ausreichend vom Sicherheitssystem, um die Einrichtung eines neuen Sicherheitskontexts auszulösen.

Erwägen der Serialisierung im gemischten Modus für Kontexthandles

Der Standardserialisierungsmodus für das Kontexthandle wird serialisiert (exklusiv). Erwägen Sie, alle Aufrufe vorzunehmen, die den Zustand des Kontexthandle im freigegebenen Serialisierungsmodus nicht ändern. Weitere Informationen finden Sie unter RpcSsContextLockExclusive.