Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
O
OpenLDAP
Manage
Activity
Members
Labels
Plan
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Christopher Ng
OpenLDAP
Commits
37465b1f
Commit
37465b1f
authored
21 years ago
by
Kurt Zeilenga
Browse files
Options
Downloads
Patches
Plain Diff
Rework for overlay (should be checked by someone who knows this
stuff).
parent
5e77767b
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/guide/admin/proxycache.sdf
+34
-49
34 additions, 49 deletions
doc/guide/admin/proxycache.sdf
with
34 additions
and
49 deletions
doc/guide/admin/proxycache.sdf
+
34
−
49
View file @
37465b1f
...
...
@@ -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 <lo_thresh> <hi_thr
es
h
> <n
um
attrsets> <
max_entries> <cc_
period>
>
proxyCache <DB> <maxentri
es> <nattrsets> <
entrylimit> <
period>
The directive enables proxy caching and sets general cache parameters.
Cache replacement is invoked when the cache size crosses the
<hi_thresh> bytes and continues till the cache size is greater than
<lo_thresh> bytes. Total number of attributes sets (as specified
by the attrset directive) is given by <numattrsets>. The entry
restriction for cacheable queries is specified by <max_entries>.
Consistency check is performed every <cc_period> duration (specified
in secs). In each cycle queries with expired TTLs are removed.
The <DB> 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 <maxentries> parameter specifies
the total number of entries which may be held in the cache. The
<nattrsets> parameter specifies the total number of attribute sets
(as specified by the {{EX:proxyAttrSet}} directive) may be defined.
The <entrylimit> parameter specifies the maximum number of entries
in a cachable query. The <period> specifies the duration consistency
check period (in seconds). In each period, queries with expired
TTLs are removed.
H3: Defining attribute sets
>
a
ttrset <index> <attrs...>
>
proxyA
ttrset <index> <attrs...>
Used to associate a set of attributes to an index. Each attribute
set is associated with an index number from 0 to <numattrsets>-1.
...
...
@@ -82,52 +86,33 @@ cacheable templates.
H3: Specifying cacheable templates
>
addt
emplate <prototype_string> <attrset_index> <TTL>
>
proxyT
emplate <prototype_string> <attrset_index> <TTL>
Specifies a cacheable template and the "time to live" (in sec) <TTL>
for queries belonging to the template. A template is described by
its prototype filter string and set of required attributes identified
by <attrset_index>.
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
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment