Outils pour utilisateurs

Outils du site


optimisation

1 – Améliorer les performances de votre Nextcloud avec le cache

1.1 – Cache PHP : OPcache

OPcache (qui signifie Optimizer Plus Cache) est introduit depuis la version 5.5.0 de PHP. Il sert à cacher l’opcode de PHP, c’est-à-dire les instructions de bas niveau générées par la machine virtuelle PHP lors de l’exécution d’un script. Autrement dit, le code pré-compilé est stocké en mémoire. Cela évite ainsi l’étape de compilation à chaque requête PHP. De plus, OPcache va optimiser l’exécution du code afin d’en améliorer les performances.

  • Éditez le fichier /etc/php/7.3/fpm/php.ini, décommentez et modifiez les lignes suivantes dans la section [opcache] :
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.save_comments=1
  • La nouvelle configuration sera prise en compte après redémarrage du service PHP-FPM :
systemctl restart php7.3-fpm.service

1.2 – Cache de données : APCu & Redis

APCu permet notamment de mettre en cache les variables PHP et de les stocker en mémoire vive. Redis est un système de gestion de base de données NoSQL avec un système de clef-valeur scalable (s’adapte à la charge). Une des principales caractéristiques de Redis est de conserver l’intégralité des données en RAM. Cela permet d’obtenir d’excellentes performances en évitant les accès disques, particulièrement coûteux.

  • Installez les paquets APCu et Redis :
apt-get install php-apcu redis-server php-redis -y
  • Ajoutez les lignes suivantes dans le fichier /var/www/nextcloud/config/config.php :
<?php
$CONFIG = array (
  'instanceid' => '*****secret*****',
  'passwordsalt' => '*****secret*****',
  'secret' => '*****secret*****',
  'trusted_domains' =>
  array (
    0 => 'cloud.mondomaine.com',
  ),
  'datadirectory' => '/var/www/nextcloud/data',
  'overwrite.cli.url' => 'http://cloud.mondomaine.com',
  'dbtype' => 'mysql',
  'version' => '13.0.2.1',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'www-data',
  'dbpassword' => '*****secret*****',
  'installed' => true,
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => array(
    'host' => 'localhost',
    'port' => 6379,
  ),
);
  • La nouvelle configuration sera prise en compte après redémarrage du service PHP-FPM :
systemctl restart php7.3-fpm.service

Optimiser la base de donnée

sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
optimisation.txt · Dernière modification : de 127.0.0.1