Freigeben über


Sonstige 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. Wenn Sie einen RPC-Client ordnungsgemäß entwickeln, kann der RPC-Server weniger Arbeit leisten.

Verwenden von Kerberos

Wenn Sicherheit verwendet wird, verwenden Sie Kerberos. Serverseitig erfordert Kerberos keinen Zugriff auf das KDC. Dadurch wird die Workload vom Server auf den Client verschoben, wodurch server leistungsstärkere Server bereitgestellt werden.

Verwenden der statischen Identitätsnachverfolgung

Wenn Sicherheit verwendet wird, versuchen Sie, die statische Identitätsnachverfolgung zu verwenden. Die statische Identitätsnachverfolgung ist in Bezug 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 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 sich dieser Tatsache bewusst ist, um zu vermeiden, dass RPC jedes Mal Überprüfungen auf geänderte Identitäten vornehmen.

Verwenden der RpcGetAuthorizationContextForClient-Funktion

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

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

Wenn die dynamische Identitätsnachverfolgung verwendet wird, ändern Sie das Thread-/Prozesstoken nicht, es sei denn, dies ist unbedingt erforderlich. Selbst wenn es in einstellungen geändert wird, 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 Standardmäßige Serialisierungsmodus für das Kontexthandle ist serialisiert (exklusiv). Erwägen Sie, alle Aufrufe auszuführen, die den Status des Kontexthandles nicht im freigegebenen Serialisierungsmodus ändern. Weitere Informationen finden Sie unter RpcSsContextLockExclusive .