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
Last revision Both sides next revision
documentation:2.1:performances [2019/05/20 18:45]
xguimard [Cron optimization]
documentation:2.1:performances [2019/12/09 20:41]
coudot [Performances]
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 =====