From 37465b1f3a44dbccd216ed05a8cd228c080dd8de Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Tue, 16 Dec 2003 03:59:24 +0000 Subject: [PATCH] Rework for overlay (should be checked by someone who knows this stuff). --- doc/guide/admin/proxycache.sdf | 83 ++++++++++++++-------------------- 1 file changed, 34 insertions(+), 49 deletions(-) diff --git a/doc/guide/admin/proxycache.sdf b/doc/guide/admin/proxycache.sdf index 5f0798f34f..7e41346d31 100644 --- a/doc/guide/admin/proxycache.sdf +++ b/doc/guide/admin/proxycache.sdf @@ -49,31 +49,35 @@ expired queries and removes them. The Proxy Cache paper ({{URL:http://www.openldap.org/pub/kapurva/proxycaching.pdf}}) provides -design/implementation details. +design and implementation details. H2: Proxy Cache Configuration The cache configuration specific directives described below must -appear after the {{EX:"database meta"}} directive and before any other -{{EX:"database"}} declaration in {{slapd.conf}}(5). +appear after {{EX:overlay proxycache}} directive within a +{{EX:"database meta"}} or {{EX:database ldap}} section of +the server's {{slapd.conf}}(5) file. H3: Setting cache parameters -> cacheparams +> proxyCache The directive enables proxy caching and sets general cache parameters. -Cache replacement is invoked when the cache size crosses the - bytes and continues till the cache size is greater than - bytes. Total number of attributes sets (as specified -by the attrset directive) is given by . The entry -restriction for cacheable queries is specified by . -Consistency check is performed every duration (specified -in secs). In each cycle queries with expired TTLs are removed. +The parameter specifies which underlying database is to be +used to hold cached entries. It should be set to {{EX:bdb}}, +{{EX:hdb}}, or {{EX:ldbm}}. The parameter specifies +the total number of entries which may be held in the cache. The + parameter specifies the total number of attribute sets +(as specified by the {{EX:proxyAttrSet}} directive) may be defined. +The parameter specifies the maximum number of entries +in a cachable query. The specifies the duration consistency +check period (in seconds). In each period, queries with expired +TTLs are removed. H3: Defining attribute sets -> attrset +> proxyAttrset Used to associate a set of attributes to an index. Each attribute set is associated with an index number from 0 to -1. @@ -82,52 +86,33 @@ cacheable templates. H3: Specifying cacheable templates -> addtemplate +> proxyTemplate Specifies a cacheable template and the "time to live" (in sec) for queries belonging to the template. A template is described by its prototype filter string and set of required attributes identified by . + H3: Example -An example {{slapd.conf}}(5) for a caching server which proxies for -the backend server {{EX:ldap://server.mydomain.com}} and caches -queries with base object in the {{EX:"dc=example,dc=com"}} subtree -is described below, +An example {{slapd.conf}}(5) database section for a caching server +which proxies for the {{EX:"dc=example,dc=com"}} subtree held +at server {{EX:ldap.example.com}}. -> database meta +> database ldap > suffix "dc=example,dc=com" -> uri ldap://server.mydomain.com/dc=example,dc=com -> cacheparams 100000 150000 1 50 100 -> attrset 0 mail postaladdress telephonenumber -> addtemplate (sn=) 0 3600 -> addtemplate (&(sn=)(givenName=)) 0 3600 -> addtemplate (&(departmentNumber=)(secretary=*)) 0 3600 - -A different name space is associated with the local cache database. -E.g if the local database suffix is {{EX:"dc=example,dc=com,cn=cache"}}, -then following rewriting rules need to be defined to translate -between master and cache database naming contexts. - -> rewriteEngine on -> rewriteContext cacheResult -> rewriteRule "(.*)dc=example,dc=com" "%1dc=example,dc=com,cn=cache" ":" -> rewriteContext cacheBase -> rewriteRule "(.*)dc=example,dc=com" "%1dc=example,dc=com,cn=cache" ":" -> rewriteContext cacheReturn -> rewriteRule "(.*)dc=example,dc=com,cn=cache" "%1dc=example,dc=com" ":" - -Finally, the local database for storing cached entries can be declared -as follows: - -> database ldbm -> suffix "dc=example,dc=com,cn=cache" -> #other database specific directives - -The proxy cache database instance could be either {{TERM:BDB}} or -{{TERM:LDBM}}. A script for demonstrating the proxy cache -({{FILE:test019-proxycaching}}) functionality is provided in the -tests/scripts directory of the distribution. +> uri ldap://ldap.example.com/dc=example,dc=com +> overlay proxycache +> proxycache bdb 100000 1 1000 100 +> proxyAttrset 0 mail postaladdress telephonenumber +> proxyTemplate (sn=) 0 3600 +> proxyTemplate (&(sn=)(givenName=)) 0 3600 +> proxyTemplate (&(departmentNumber=)(secretary=*)) 0 3600 +> +> cachesize 20 +> directory ./testrun/db.2.a +> index objectClass eq +> index cn,sn,uid,mail pres,eq,sub -- 2.39.5