ITS#6521 docs: pcache overlay section in admin guide

This commit is contained in:
Gavin Henry 2011-01-06 18:02:16 +00:00
parent 12cee3bfcb
commit 4dea614056

View File

@ -724,13 +724,13 @@ design and implementation details.
H3: Proxy Cache Configuration H3: Proxy Cache Configuration
The cache configuration specific directives described below must The cache configuration specific directives described below must
appear after a {{EX:overlay proxycache}} directive within a appear after a {{EX:overlay pcache}} directive within a
{{EX:"database meta"}} or {{EX:database ldap}} section of {{EX:"database meta"}} or {{EX:"database ldap"}} section of
the server's {{slapd.conf}}(5) file. the server's {{slapd.conf}}(5) file.
H4: Setting cache parameters H4: Setting cache parameters
> proxyCache <DB> <maxentries> <nattrsets> <entrylimit> <period> > pcache <DB> <maxentries> <nattrsets> <entrylimit> <period>
This directive enables proxy caching and sets general cache This directive enables proxy caching and sets general cache
parameters. The <DB> parameter specifies which underlying database parameters. The <DB> parameter specifies which underlying database
@ -738,7 +738,7 @@ is to be used to hold cached entries. It should be set to
{{EX:bdb}} or {{EX:hdb}}. The <maxentries> parameter specifies the {{EX:bdb}} or {{EX:hdb}}. The <maxentries> parameter specifies the
total number of entries which may be held in the cache. The total number of entries which may be held in the cache. The
<nattrsets> parameter specifies the total number of attribute sets <nattrsets> parameter specifies the total number of attribute sets
(as specified by the {{EX:proxyAttrSet}} directive) that may be (as specified by the {{EX:pcacheAttrset}} directive) that may be
defined. The <entrylimit> parameter specifies the maximum number of defined. The <entrylimit> parameter specifies the maximum number of
entries in a cacheable query. The <period> specifies the consistency entries in a cacheable query. The <period> specifies the consistency
check period (in seconds). In each period, queries with expired check period (in seconds). In each period, queries with expired
@ -746,16 +746,16 @@ TTLs are removed.
H4: Defining attribute sets H4: Defining attribute sets
> proxyAttrset <index> <attrs...> > pcacheAttrset <index> <attrs...>
Used to associate a set of attributes to an index. Each attribute Used to associate a set of attributes to an index. Each attribute
set is associated with an index number from 0 to <numattrsets>-1. set is associated with an index number from 0 to <numattrsets>-1.
These indices are used by the proxyTemplate directive to define These indices are used by the pcacheTemplate directive to define
cacheable templates. cacheable templates.
H4: Specifying cacheable templates H4: Specifying cacheable templates
> proxyTemplate <prototype_string> <attrset_index> <TTL> > pcacheTemplate <prototype_string> <attrset_index> <TTL>
Specifies a cacheable template and the "time to live" (in sec) <TTL> Specifies a cacheable template and the "time to live" (in sec) <TTL>
for queries belonging to the template. A template is described by for queries belonging to the template. A template is described by
@ -763,7 +763,7 @@ its prototype filter string and set of required attributes identified
by <attrset_index>. by <attrset_index>.
H4: Example H4: Example for slapd.conf
An example {{slapd.conf}}(5) database section for a caching server An example {{slapd.conf}}(5) database section for a caching server
which proxies for the {{EX:"dc=example,dc=com"}} subtree held which proxies for the {{EX:"dc=example,dc=com"}} subtree held
@ -773,27 +773,60 @@ at server {{EX:ldap.example.com}}.
> suffix "dc=example,dc=com" > suffix "dc=example,dc=com"
> rootdn "dc=example,dc=com" > rootdn "dc=example,dc=com"
> uri ldap://ldap.example.com/ > uri ldap://ldap.example.com/
> overlay proxycache > overlay pcache
> proxycache bdb 100000 1 1000 100 > pcache bdb 100000 1 1000 100
> proxyAttrset 0 mail postaladdress telephonenumber > pcacheAttrset 0 mail postaladdress telephonenumber
> proxyTemplate (sn=) 0 3600 > pcacheTemplate (sn=) 0 3600
> proxyTemplate (&(sn=)(givenName=)) 0 3600 > pcacheTemplate (&(sn=)(givenName=)) 0 3600
> proxyTemplate (&(departmentNumber=)(secretary=*)) 0 3600 > pcacheTemplate (&(departmentNumber=)(secretary=*)) 0 3600
> >
> cachesize 20 > cachesize 20
> directory ./testrun/db.2.a > directory ./testrun/db.2.a
> index objectClass eq > index objectClass eq
> index cn,sn,uid,mail pres,eq,sub > index cn,sn,uid,mail pres,eq,sub
H4: Example for slapd-config
The same example as a LDIF file for back-config for a caching server
which proxies for the {{EX:"dc=example,dc=com"}} subtree held
at server {{EX:ldap.example.com}}.
> dn: olcDatabase={2}ldap
> objectClass: olcDatabaseConfig
> objectClass: olcLDAPConfig
> olcDatabase: {2}ldap
> olcSuffix: dc=example,dc=com
> olcRootDN: dc=example,dc=com
> olcDbURI: "ldap://ldap.example.com"
>
> dn: olcOverlay={0}pcache
> objectClass: olcOverlayConfig
> objectClass: olcPcacheConfig
> olcOverlay: {0}pcache
> olcPcache: bdb 100000 1 1000 100
> olcPcacheAttrset: 0 mail postalAddress telephoneNumber
> olcPcacheTemplate: "(sn=)" 0 3600 0 0 0
> olcPcacheTemplate: "(&(sn=)(givenName=))" 0 3600 0 0 0
> olcPcacheTemplate: "(&(departmentNumber=)(secretary=))" 0 3600
>
> dn: olcDatabase={0}hdb
> objectClass: olcHdbConfig
> objectClass: olcPcacheDatabase
> olcDatabase: {0}hdb
> olcDbDirectory: ./testrun/db.2.a
> olcDbCacheSize: 20
> olcDbIndex: objectClass eq
> olcDbIndex: cn,sn,uid,mail pres,eq,sub
H5: Cacheable Queries H5: Cacheable Queries
A LDAP search query is cacheable when its filter matches one of the A LDAP search query is cacheable when its filter matches one of the
templates as defined in the "proxyTemplate" statements and when it references templates as defined in the "pcacheTemplate" statements and when it references
only the attributes specified in the corresponding attribute set. only the attributes specified in the corresponding attribute set.
In the example above the attribute set number 0 defines that only the In the example above the attribute set number 0 defines that only the
attributes: {{EX:mail postaladdress telephonenumber}} are cached for the following attributes: {{EX:mail postaladdress telephonenumber}} are cached for the following
proxyTemplates. pcacheTemplates.
H5: Examples: H5: Examples:
@ -801,7 +834,7 @@ H5: Examples:
> Attrs: mail telephoneNumber > Attrs: mail telephoneNumber
is cacheable, because it matches the template {{EX:(&(sn=)(givenName=))}} and its is cacheable, because it matches the template {{EX:(&(sn=)(givenName=))}} and its
attributes are contained in proxyAttrset 0. attributes are contained in pcacheAttrset 0.
> Filter: (&(sn=Richard*)(telephoneNumber)) > Filter: (&(sn=Richard*)(telephoneNumber))
> Attrs: givenName > Attrs: givenName