Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
documentation:2.1:performances [2019/05/20 18:45]
xguimard [Cron optimization]
documentation:2.1:performances [2019/12/23 21:54] (current)
cmaudoux [Disable unused modules]
Line 1: Line 1:
 ====== Performances ====== ====== Performances ======
  
-LemonLDAP::​NG is designed ​to be very performant. Indeed, it uses Apache2 threads capabilities. So to increase performances,​ prefer using [[http://httpd.apache.org/docs/2.2/misc/perf-tuning.html#​compiletime|mpm-worker]].+LemonLDAP::​NG is designed ​for high performance,​ both in throughput and response time. Indeed, it can use Apache2 threads capabilities ​but since Apache version 2.4, mpm_worker seems to break mod_perl. So to increase performances,​ prefer using Nginx. 
 + 
 +===== Built-in ===== 
 + 
 +==== Cache system ==== 
 + 
 +LLNG uses different cache systems to avoid querying to many the databases: 
 + 
 +^                 ​^ ​          ​Lifetime in memory ​            ​^^ ​     Lifetime in Local-Cache (file) ​        ​^^ ​ DB  ^ 
 +^                 ​^ ​         Parameter ​        ​^ ​  ​Default ​   ^        Parameter ​           ^    Default ​    ​^ ​     ^ 
 +^  Configuration ​ |     ''​checkTime'' ​         |  1 second ​   |                     ​| ​ Until "​reload"​ order  |  ✔   | 
 +^     ​Session ​    ​| ​ ''​handlerInternalCache'' ​ |  15 seconds ​ |  ''​default_expires_in''​(*) ​ |   10 minutes ​  ​| ​ ✔   | 
 + 
 +//(*): Manager >> General parameters >> Sessions >> Sessions storage >> Cache module options// 
 + 
 +<​note>​ 
 +Configuration and sessions are first looked up in-memory, then in the cache file, and then in their backing storeThis means that after a configuration reload ​//(using Manager)//, you have to wait for ''​checkTime''​ before you can see your changes, or wait for configuration cache expiration in ''​checkTime''​ is disabled. 
 +</​note>​
  
 ===== Global performance ===== ===== Global performance =====
Line 204: Line 221:
 Now ldapgroups contains "admin su" Now ldapgroups contains "admin su"
 </​note>​ </​note>​
 +
 +==== NGINX performances ====
 +
 +To increase launch by web browser, for example to load js, css, or fonts, Gzip compression can be activated.
 +
 +Edit file /​etc/​nginx/​mime.types
 +Check those lines or add :
 +<code perl>
 +application/​vnd.ms-fontobject ​   eot;
 +application/​x-font-ttf ​          ttf;
 +application/​font-woff ​           woff;
 +font/​opentype ​                   ott;
 +</​code>​
 +
 +Edit file /​etc/​nginx/​nginx.conf
 +<code perl>
 +gzip on; # active la compression Gzip
 +gzip_disable "​msie6"; ​
 + 
 +gzip_vary on;
 +gzip_proxied any;
 +gzip_comp_level 6;
 +gzip_buffers 16 8k;
 +gzip_http_version 1.1;
 +gzip_min_length 128;
 +gzip_types text/plain text/css application/​json application/​javascript application/​x-javascript text/xml application/​xml application/​rss+xml text/​javascript application/​vnd.ms-fontobject application/​x-font-ttf font/​opentype image/jpeg image/png image/​svg+xml image/​x-icon;​
 +</​code>​
 +
 +Restart NGINX and watch web-browser console.
  
 ===== Manager performances ===== ===== Manager performances =====
Line 215: Line 261:
 </​code>​ </​code>​
  
 +==== Enable compactConf parameter ====
 +
 +By enabling compactConf option, all unused configuration parameters are removed. Could be usefull to shrink lemonldap-ng configuration file and save space.
 +
 +Go in Manager, ''​General Parameters''​ » ''​Configuration reload''​ » ''​Compact configuration file
 +''​ and set to ''​On''​.
 ==== Use static HTML files ==== ==== Use static HTML files ====