本節討論開發高效能 RPC 伺服器之其他效能秘訣。 本節提供許多參考 RPC 用戶端的秘訣。 開發 RPC 用戶端可讓 RPC 伺服器執行較少的工作。
使用 Kerberos
如果使用安全性,請使用 Kerberos。 在伺服器端,Kerberos 不需要存取 KDC。 這會將工作負載從伺服器移至用戶端,以提供更好的執行伺服器。
使用靜態身分識別追蹤
如果使用安全性,請嘗試使用靜態身分識別追蹤。 靜態身分識別追蹤比動態身分識別追蹤便宜的資源使用量。 如果用戶端身分識別變更,而且伺服器不應該知道變更,請使用動態追蹤,而不是為每個身分識別建立不同的系結句柄。 但是,如果身分識別相同,請確定 RPC 知道該事實,以避免每次進行 RPC 檢查變更的身分識別。
使用 RpcGetAuthorizationContextForClient 函式
如果您需要檢查 Windows XP 中的存取權,請使用 RpcGetAuthorizationContextForClient 函式。 產生的 Authz 內容可啟用非常快速的存取檢查,而 RPC 運行時間會有效率地快取這些檢查。
除非必要,否則請勿修改令牌
如果使用動態身分識別追蹤,除非絕對必要,否則請勿修改線程/進程令牌。 即使它修改為先前擁有的設定,令牌通常與安全性系統大不相同,以觸發建立新的安全性內容。
考慮內容句柄的混合模式串行化
內容句柄的預設串行化模式會串行化(獨佔)。 請考慮進行未在共用串行化模式中修改內容句柄狀態的所有呼叫。 如需詳細資訊,請參閱 RpcSsContextLockExclusive。