# 性能
`LDAPBackend`經過精心設計,不要求每個請求都連接到`LDAP`服務。當然,這在很大程度上取決于它是如何配置的。如果您的部署需要考慮LDAP流量或延遲問題,則本節將按照影響順序降低最小化的一些提示。
1. 緩存組。如果`AUTH_LDAP_FIND_GROUP_PERMS`為`True`,則默認行為是在每個請求上重新加載用戶的組成員資格。這是最安全的行為,因為任何會員資格變更立即生效,但價格昂貴。如果可能,請將`AUTH_LDAP_CACHE_GROUPS`設置為`True`,以刪除大部分流量。
2. 不要訪問`user.ldap_user.*`。除`ldap_user.dn`之外,這些屬性僅在每個請求的基礎上進行緩存。如果您可以將`LDAP`屬性傳播給用戶,則只會在登錄時更新它們。 `user.ldap_user.attrs`為其訪問的每個請求觸發一個`LDAP`連接。
3. 使用更簡單的組類型。一些分組機制比其他分組機制更昂貴。這通常不受您的控制,但需要注意的是,更復雜的組類型(如`NestedGroupOfNamesType`)的額外功能不是免費的,通常需要更大數量和更復雜的LDAP查詢。
4. 使用直接綁定。用`AUTH_LDAP_USER_DN_TEMPLATE`綁定比依靠`AUTH_LDAP_USER_SEARCH`更有效率。具體而言,每次登錄都會節省兩次`LDAP`操作(一次綁定和一次搜索)。