Module MemCached

From Dolibarr ERP CRM Wiki
(Redirected from Module MemCached)
Jump to navigation Jump to search

Return to developer
documentation index

File Doc dev.png

Informations

Module name Accelerator MemCached
Editor / Editeur NLTechno - http://www.nltechno.com
Download or buy page / Page achat ou téléchargement www.dolistore.com
Status / Statut / Estado Stable
Prerequisites / Prérequis Dolibarr min version 3.6.0   
Last update date / Date mise à jour fiche / Fecha última actualización 2019-08-16
Note / Nota

Features

Allows Dolibarr to increase speed by using a cache server MemCached. Dolibarr use this cache to store result of redundant operation like reading language files. According to platform, speed increase can be between 20% and 40%.

Prerequisites

To install/use this module, you must before:

  • Have a running memcached server and know its address (ex: localhost) and its port (ex: 11211). Process to install such a server is not part of this documentation. See articles found on the Internet for this. Ie:

- See http://rutfin.wordpress.com/2013/05/19/installing-memcache-on-windows-8-for-wamp-server/ for install on Windows

- See http://2bits.com/articles/installing-memcached-125-and-memcache-pecl-223-ubuntu-server.html for install on Ubuntu, ...

- See https://wincent.com/wiki/Installing_memcached_1.4.1_on_Mac_OS_X_10.6_Snow_Leopard for isntall on MacOS 10.6

  • Have functions "memcache" or "memcached" activated into your PHP (Go into Dolibarr menu Home -> System information -> PHP to see if at least one PHP client (memcache or memcached) is available.

Again, if those functions are not available, search article on the Internet to see how to setup your PHP to support memcache ou memcached.

Installation

  • Download archive file of module (.zip file) from web site www.dolistore.com or from any other source.
  • Install module into the custom folder of Dolibarr:
    • Go to Home - Setup - Modules - Deploy/install external app/module
    • Upload the file. Note: If it fails, you can manually unzip the file into the custom directory from command line: Go into the *custom* directory and uncompress file with command
unzip modulefile.zip
  • Module is ready to be activated and used.

Configuration

To use this module, you must first enable it using an administrator account, via the menu option "Home - Setup - Modules".

Choose the tab where the module is listed. Then click on "Activate".

The module is now activated.

If an icon appears at end of the line for the module, click on it to access the setup page specific to the module.


Module setup page:

The tab Server setup

In the server setup page, you must fill the following information:

  • Name of Memcached server: Put a DNS name or IP address of Memcached server.
  • Port or Memcached server: Put here the port of the Memcached server.

Save and that's all. Dolibarr should now use the cache server when it can.

Note: If you add the line

$dolibarr_memcached_view_disable=1;

into file htdocs/conf/conf.php, then the 2 tabs to view statistics on cache server are removed. This is usefull for web hosting providers of Dolibarr (SaaS) to avoid users to see information (the cache content) shared by the hosted server.

The tab Server statistics

This tab show you the status of the cache and how much it is used. To have an idea of the efficiency, see the next chapter.

Memcached screenshot 1.png

Usage

This module is a technical module. As soon as setup is done, Dolibarr use the cache server when it thinks it's necessary. There is no other things to do.

The following screenshot show you a performance comparison, done with BlackFire, with and without the module. As we can see, the gain (59ms faster for a total of 152ms, so 25% faster) is mostly on the step to load the language files (already in cache, 56ms for this step in function Translate::load).

Comparison with blackfire.png

Development

Development of this module is not included inside the standard GIT repository of Dolibarr but inside a repository dedicated to modules not supported by the Dolibarr development team but supported by NLTechno on platform Git by Framasoft:

Note this is a private repository, so to contribute and/or get sources, you must create an account on https://git.framasoft.org web site.