Maîtrisez les pics d'utilisation du processeur lors de la prévisualisation de Nextcloud grâce à une file d'attente planifiée

Si l'utilisation du processeur de votre serveur Nextcloud connaît des pics lors de la création des aperçus, cela est souvent dû à un pic de charge : ouverture de dossiers contenant de nombreuses images, indexation d'une bibliothèque volumineuse ou génération d'un nombre d'aperçus supérieur aux besoins. Installez l'application Preview Generator de Nextcloud, planifiez le traitement des fichiers nouveaux et modifiés et réduisez la taille des aperçus inutiles. Cette solution permet de libérer du temps pendant les sessions de navigation les plus chargées ; elle ne rend pas la conversion d'images gratuite et n'élimine pas la charge de travail initiale.

Ces étapes suivent les instructions du fichier README du générateur de prévisualisation et la documentation de Nextcloud 35 (consultée le 10 octobre 2026). Vérifiez la compatibilité de votre version sur l'App Store de Nextcloud. Le fichier README indique que les fichiers chiffrés ne sont pas pris en charge.

Pourquoi la génération de prévisualisation influence-t-elle l'utilisation du processeur ?

Nextcloud crée des vignettes à la demande des utilisateurs, sauf si un aperçu existe déjà. Le décodage, le redimensionnement et la conversion des images, notamment pour les fichiers originaux volumineux ou comportant plusieurs dimensions cibles, peuvent consommer beaucoup de ressources CPU et de mémoire. Un pic de requêtes rend ce travail visible simultanément à l'utilisation interactive.

Preview Generator met en file d'attente les fichiers nouveaux ou modifiés pour un traitement en arrière-plan. La diffusion des aperçus existants est moins coûteuse, mais les aperçus manquants continuent d'utiliser le service à la demande de Nextcloud. L'application décale certaines tâches vers les périodes de faible activité ; elle ne peut cependant pas réduire le volume total de traitement ni résoudre d'autres problèmes tels que la conversion vidéo ou la lenteur du stockage.

Configurer une file d'attente de prévisualisation contrôlée

1. Vérifiez le mode de traitement en arrière-plan et la compatibilité de l'application.

Dans les paramètres d'administration, examinez les tâches en arrière-plan. La tâche intégrée de Preview Generator requiert le mode Cron ; son fichier README indique que les protocoles AJAX et Webcron ne sont pas pris en charge pour cette opération de longue durée. Nextcloud recommande l'utilisation de Cron système. Vérifiez que la page d'administration indique bien que Cron est activé.

Installez Preview Generator depuis l'écran Applications ou, si votre déploiement utilise OCC et autorise l'installation d'applications, exécutez ces commandes depuis le répertoire d'installation de Nextcloud. Sous Debian ou Ubuntu, le compte du serveur web est généralementwww-data ; utilisez l'utilisateur HTTP et la version PHP CLI correspondant à votre hébergeur :

sudo -u www-data php /var/www/nextcloud/occ app:install previewgenerator
sudo -u www-data php /var/www/nextcloud/occ app:enable previewgenerator

Si le programme est déjà installé, ignorez la première commande. Vérifiez l'état et les commandes disponibles :

sudo -u www-data php /var/www/nextcloud/occ app:list
sudo -u www-data php /var/www/nextcloud/occ list preview

Exécutez OCC en tant qu'utilisateur HTTP afin de garantir la cohérence des droits d'accès aux fichiers. Les chemins d'accès et les utilisateurs varient selon le déploiement. Consultez la documentation OCC de Nextcloud .

2. Réduisez le nombre de variantes en prévisualisation avant de lancer une génération à grande échelle.

Preview Generator peut créer des vignettes carrées et des aperçus au format d'image standard aux tailles configurées. Son fichier README précise que les tailles doivent être des puissances de quatre et qu'une valeur vide désactive cette catégorie d'aperçu. Un profil de démarrage simplifié pour un serveur surchargé est présenté ci-dessous. Il conserve les petites vignettes carrées et deux formats d'image standard, tout en ignorant les variantes en largeur uniquement et en hauteur uniquement.

sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="64 256" previewgenerator squareSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="256 1024" previewgenerator fillWidthHeightSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="" previewgenerator widthSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="" previewgenerator heightSizes

Ce profil de charge réduit n'est pas universel : les applications peuvent nécessiter des aperçus plus grands ou d'autres formats. Si les vignettes sont manquantes ou floues, identifiez l'affichage requis et indiquez uniquement sa taille. Des dimensions plus importantes augmentent la puissance de traitement et l'utilisation du cache. La configuration minimale recommandée dans le fichier README pour les fichiers, les photos et l'activité utilise une taille plus grande de 4 096 pixels ; évaluez ce compromis en fonction de votre matériel. Consultez le fichier README officiel du générateur d'aperçus ; il utilise un format d'image plus large de 4 096 pixels, évaluez donc ce compromis en fonction de votre matériel.

Les paramètres et preview_max_ximposent une limite de pixels globale. Sauvegardez le fichier avant de le modifier et assurez-vous qu'il soit compatible avec les tailles d'application choisies. La désactivation des aperçus supprime les vignettes dans toutes les applications.preview_max_yconfig/config.php

3. Planifiez la commande de pré-génération de l'application sans dupliquer son processus.

Pour un petit serveur, le gestionnaire de file d'attente intégré peut suffire une fois le mode Cron activé. Sa durée d'exécution par défaut est limitée à cinq minutes, et l'application fournit des statistiques de file d'attente pour la surveillance. Si vous avez besoin d'une plage horaire hors pointe prévisible, utilisez plutôt la commande OCC dédiée dans le cron système. Lors de l'utilisation de cette planification personnalisée, désactivez le gestionnaire de file d'attente par défaut de l'application afin d'éviter tout conflit entre les deux mécanismes.

sudo -u www-data php /var/www/nextcloud/occ config:app:set --value=true --type=boolean previewgenerator job_disabled

Modifiez ensuite le fichier crontab de l'utilisateur du serveur web ( sudo crontab -u www-data -e) et ajoutez un exemple de planification comme :

*/10 * * * * php -f /var/www/nextcloud/occ preview:pre-generate

Dix minutes ne sont qu'un exemple. Choisissez une cadence et une plage horaire adaptées à votre trafic et à votre capacité ; vérifiez vos chemins PHP et OCC. Ne planifiez pas cette commande ailleurs. Conservez la cron.phptâche régulière de Nextcloud, qui exécute d'autres tâches en arrière-plan. Consultez le guide des tâches en arrière-plan de Nextcloud pour la configuration du cron système.

4. Évitez une première course de rattrapage incontrôlée.

Le fichier README recommande, preview:generate-allaprès l'installation, de couvrir les fichiers existants. Sur une bibliothèque volumineuse, cette opération peut entraîner une forte augmentation de l'utilisation du processeur. Évitez de multiplier les processus sur un serveur chargé. Commencez par un seul utilisateur ou chemin d'accès pendant une période de faible activité et surveillez l'utilisation du processeur, de la mémoire, du débit disque et de l'espace libre. La commande prend en charge les identifiants utilisateur, les chemins d'accès et le nombre de processus ; commencez par un seul processus. Si nécessaire, répartissez l'analyse sur plusieurs fenêtres.

Vérifiez que la charge devient prévisible.

Une fois la commande exécutée, vérifiez la file d'attente :

sudo -u www-data php /var/www/nextcloud/occ preview:queue-stats

Les statistiques de la file d'attente incluent les aperçus obsolètes. La diminution du nombre de tâches en attente et les pics d'utilisation du processeur qui se terminent par des tâches planifiées indiquent que la file d'attente progresse. Ouvrez un dossier représentatif pour vérifier les miniatures, puis observez la navigation normale. Comparez l'utilisation du processeur à des niveaux de trafic similaires ; elle n'atteindra pas zéro.

Si la file d'attente ne diminue pas, consultez les journaux cron et exécutez le programme preview:pre-generate -vvdans une fenêtre de traitement contrôlée pour visualiser les fichiers traités. Si l'utilisation du processeur reste élevée après la vidage de la file d'attente, examinez les autres processus PHP, tâches ou services multimédias. Si les aperçus occupent trop d'espace disque, supprimez les fichiers inutilisés ou réduisez leurs dimensions. Vérifiez que les aperçus restants prennent en charge les affichages nécessaires aux utilisateurs.

Références officielles

Laisser un commentaire

Maîtrisez les pics d'utilisation du processeur lors de la prévisualisation de Nextcloud grâce à une file d'attente planifiée

Déplacez le traitement des vignettes vers une planification en arrière-plan contrôlée, réduisez les tailles d'aperçu inutilisées et vérifiez la file d'attente sans surcharger votre serveur Nextcloud.

Obtenez Nextcloud Desktop Sync : passez à l’étape suivante, celle du « traitement des fichiers ».

Trouvez le fichier, la règle d'exclusion, le problème de connexion ou l'état de la base de données client qui bloque la synchronisation Nextcloud, puis vérifiez les chargements et les téléchargements en toute sécurité.

Éliminez l'avertissement OPcache de Nextcloud en ajustant la limite appropriée

Identifiez la limite du cache PHP OPcache qui déclenche l'avertissement de Nextcloud, mettez à jour la configuration PHP web correspondante, redémarrez en toute sécurité et vérifiez le résultat.

Connecter Nextcloud à CODE Docker : Configuration et compromis

Connecter Nextcloud à CODE Docker : Configuration et compromis

Comparez le code intégré et celui basé sur Docker, puis connectez Collabora Online à Nextcloud via un proxy inverse HTTPS sécurisé.

Créez un cluster Nextcloud résilient avec Galera

Planifiez un déploiement Nextcloud HA fiable avec stockage partagé, verrouillage Redis, routage MariaDB prenant en compte le quorum et contrôles de basculement pratiques.

Réussir les appels Nextcloud Talk même en cas de défaillance de Direct Media

Réussir les appels Nextcloud Talk même en cas de défaillance de Direct Media

Configurez et vérifiez un relais TURN accessible pour Nextcloud Talk lorsque des pare-feu ou un NAT restrictif bloquent les flux multimédias d'appel direct.

Éliminer les avertissements d'intégrité de Nextcloud en restaurant les fichiers appropriés

Utilisez le rapport de fichiers invalides pour identifier le code Nextcloud modifié, manquant ou supplémentaire, restaurer les fichiers de confiance en toute sécurité et vérifier le résultat.

Connectez Gmail ou Microsoft 365 à Nextcloud Mail via OAuth2.

Configurez OAuth2 pour Nextcloud Mail avec Gmail ou Microsoft 365, vérifiez la réception et l'envoi, et résolvez les problèmes courants de consentement et d'échec SMTP.

Débloquer Nextcloud en mode maintenance en toute sécurité avec OCC

Débloquer Nextcloud en mode maintenance en toute sécurité avec OCC

Utilisez OCC pour restaurer l'accès à Nextcloud, vérifier l'état de la migration de la base de données et choisir la commande appropriée pour les installations d'archives, Docker ou Snap.

Configurer la connexion LDAP et Active Directory à Nextcloud

Connectez Nextcloud à LDAP ou Active Directory, limitez l'accès avec des filtres d'utilisateurs et de groupes, et vérifiez l'authentification sécurisée avant le déploiement.