Raspi 3B, CPU proche de 100% lors d'upload multiples

Bonjour, j’utilise Nextcloud 20.0.3 dans un conteneur Docker sur un Raspberry 3B (image GitHub - linuxserver/docker-nextcloud).

Y-a-t-il des retours d’experiences sur ce genre de config minimaliste ?
Je n’ai que 4 users. Tout va bien quand on upload quelques fichiers (4 ou 5), mais le CPU frĂŽle les 100% quand on upload un rĂ©pertoire entier d’un coup (~ 100 fichiers). Ce sont des photos, je soupçonne un travail d’arriere plan pour faire les vignettes ? Une idĂ©e d’optimisation ?

Je ne suis pas sĂ»r que c’est liĂ©, mais lors de ces uploads et pics de CPU, j’ai du coup qques erreurs dans les logs, et certains fichiers ne sont pas uploadĂ©s.

Ex d’erreur 1 :
Sabre\DAV\Exception\BadRequest: Expected filesize of 5122929 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 4718592 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side.

Ex d’erreur 2 (plus frĂ©quente celle lĂ ) :
Error: Cannot modify header information - headers already sent by (output started at /config/www/nextcloud/3rdparty/sabre/http/lib/Sapi.php:132) at /config/www/nextcloud/apps/dav/lib/Connector/Sabre/File.php#691

Merci de votre aide, je suis assez newbie Ă  la fois sur Pi et sur Nextcloud.

bonjour @CocoCloud, il se peut que ce soit la gĂ©nĂ©ration des vignettes qui utilise l’intĂ©gralitĂ© de votre CPU. Lors du transfert des fichiers, ĂȘtes vous dans le dossier ou sont transfĂ©rer vos images si oui c’est bien la gĂ©nĂ©rations des vignettes, si non il se peut que ça vienne d’autre part.
il me semble que vos 2 erreurs soit bien liés avec la surcharge de votre CPU.
Normalement la gĂ©nĂ©ration des vignettes ne s’active que lorsque l’utilisateur se rend dans un rĂ©pertoire.

Pour paramĂ©trer la gĂ©nĂ©ration des vignettes voici le lien vers la documentation : Previews configuration — Nextcloud latest Administration Manual latest documentation

Vous pouvez aussi utiliser cette application pour générer les vignettes des images tout les x temps : Preview Generator - Apps - App Store - Nextcloud

1 Like

bonjour, merci pour votre aide.
Effectivement, la piste de l’appli de gĂ©nĂ©ration des vignettes offline semble prometteuse pour soulager le CPU. Pour la tester, et effectuer ce qu’ils indiquent ( ./occ preview:generate-all -vvv) j’ai un autre pb, je n’arrive pas Ă  utiliser OCC !

La commande “sudo -u www-data php occ” lancĂ©e dans un terminal (dans le rĂ©pertoire /nextcloud/config/www/nextcloud) indique un pb de version PhP (This version of Nextcloud requires at least PHP 7.2
You are currently running 7.0.33-0+deb9u10. Please update your PHP).

J’imagine qu’il y a une diffĂ©rence entre la version de PhP utilisĂ© dans mon OS et dans mon conteneur (dans l’IHM d’admin NC, rubrique “system”, je vois bien PhP 7.3.25)


Comment puis-je lancer la commande occ “à l’intĂ©rieur” de mon conteneur (excuser la question de newbie, je dĂ©couvre Docker), ou bien forcer l’OS Raspbian Ă  utiliser la bonne version de PhP ?

Je m’auto rĂ©ponds, car la solution peut aider d’autres personnes :
docker exec sudo -u abc php7 /config/www/nextcloud/occ

@CocoCloud la commande ( 
 preview:generate-all -vvv ) sert Ă  gĂ©nĂ©rer toute les vignettes des images qui n’en ont pas encore. Ceci qui va utiliser partiellement ou totalement votre CPU suivant le nombre d’images qui n’ont encore de vignettes gĂ©nĂ©rĂ©es.

Vous pouvez aussi dĂ©finir une taille mĂ©moire pour laquelle les images la dĂ©passant n’auront pas de vignettes gĂ©nĂ©rĂ©es ( par dĂ©faut c’est 50 Mo) :
Pour modifier cette limite ajouter cette ligne Ă  votre config.php :
‘preview_max_filesize_image’ => 50,
Remplacer le 50 par une autre valeur (Mo)

c’est en cours, cela prend ~20 à 30 sec par photo (j’en ai des milliers
), mais le CPU reste autour de 25%.

Pour les petites config comme la mienne, je recommande d’appliquer les paramĂ©trages dĂ©crits dans ce trĂšs bon article :
https://ownyourbits.com/2019/06/29/understanding-and-improving-nextcloud-previews/

1 Like