Controlează vârfurile de CPU din previzualizarea Nextcloud cu o coadă programată

Dacă volumul procesorului serverului Nextcloud crește brusc în timp ce se creează previzualizări, volumul de lucru ajunge adesea în rafale: utilizatorii deschid foldere cu multe imagini, o bibliotecă mare este indexată sau o lucrare de previzualizare încearcă să genereze mai multe dimensiuni decât au nevoie utilizatorii. Instalați aplicația Generator de previzualizări Nextcloud, permiteți-i să proceseze fișiere noi și modificate într-un program controlat și eliminați dimensiunile de previzualizare inutile. Acest lucru elimină sesiunile de navigare aglomerate; nu face conversia imaginilor gratuită și nu elimină volumul de lucru inițial de recuperare.

Acești pași respectă documentația README a Generatorului de Previzualizare și a Nextcloud 35, verificată pe 10 octombrie 2026. Confirmați compatibilitatea pentru versiunea dvs. în Nextcloud App Store. README listează fișierele criptate ca fiind neacceptate.

De ce generează previzualizarea și determină utilizarea procesorului?

Nextcloud creează miniaturi pe măsură ce utilizatorii le solicită, cu excepția cazului în care există deja o previzualizare. Decodarea, redimensionarea și conversia imaginilor - în special pentru originale mari sau cu mai multe dimensiuni țintă - pot consuma CPU și memorie. O explozie de solicitări face ca această muncă să fie vizibilă în același timp cu utilizarea interactivă.

Generatorul de previzualizări pune fișierele noi sau modificate în coadă pentru procesare în fundal. Previzualizările existente sunt mai ieftine de livrat, dar previzualizările lipsă utilizează în continuare calea la cerere a Nextcloud. Aplicația mută o parte din muncă în perioade mai liniștite; nu poate reduce procesarea totală sau remedia un alt blocaj, cum ar fi conversia video sau stocarea lentă.

Configurați o coadă de previzualizare controlată

1. Verificați modul de lucru în fundal și compatibilitatea aplicației

În setările de administrare, verificați joburile în fundal. Jobul încorporat în Generatorul de previzualizări necesită modul Cron; fișierul README al acestuia spune că AJAX și Webcron nu sunt acceptate pentru această lucrare de lungă durată. Nextcloud recomandă cron-ul de sistem. Confirmați că pagina de administrare raportează Cron.

Instalați Generatorul de previzualizări din ecranul Aplicații sau, acolo unde implementarea dvs. utilizează OCC și permite instalarea aplicațiilor, executați aceste comenzi din directorul de instalare Nextcloud. Pe Debian sau Ubuntu, contul serverului web este de obicei www-data; utilizați utilizatorul HTTP real și versiunea CLI PHP pentru gazda dvs.:

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

Dacă este deja instalată, săriți peste prima comandă. Verificați starea și comenzile disponibile:

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

Rulați OCC ca utilizator HTTP, astfel încât proprietatea fișierului să rămână consistentă. Căile și utilizatorii variază în funcție de implementare. Consultați documentația OCC a Nextcloud .

2. Reduceți variantele de previzualizare înainte de a începe o generație extinsă

Generatorul de previzualizări poate crea miniaturi pătrate și previzualizări cu raport de aspect la dimensiuni configurate. Fișierul README specifică dimensiunile care trebuie să fie puteri ale lui patru, iar o valoare goală omite acea categorie de previzualizare. Un profil de pornire restricționat pentru un server cu probleme de încărcare este prezentat mai jos. Acesta păstrează plăcuțele pătrate mici și două dimensiuni de raport de aspect, omițând în același timp variantele separate doar pentru lățime și doar pentru înălțime:

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

Acest profil de încărcare redusă nu este universal: aplicațiile pot necesita previzualizări mai mari sau alte forme. Dacă miniaturile lipsesc sau sunt slabe, identificați vizualizarea necesară și adăugați doar dimensiunea acesteia. Dimensiunile mai mari cresc utilizarea procesării și a memoriei cache. Setul minim recomandat de fișierul README pentru Fișiere, Fotografii și Activitate utilizează o dimensiune mai mare de 4096 de pixeli; evaluați acest compromis pe hardware. Consultați fișierul README oficial al Generatorului de Previzualizări ; acesta utilizează o dimensiune mai mare de 4096 de pixeli a raportului de aspect, așa că evaluați acest compromis pe hardware.

Setările preview_max_xși preview_max_ydin config/config.phpimpun un plafon general de pixeli. Faceți o copie de rezervă a fișierului înainte de editare și mențineți-l compatibil cu dimensiunile alese ale aplicațiilor. Dezactivarea previzualizărilor elimină miniaturile din toate aplicațiile.

3. Programați comanda de pregenerare a aplicației fără a duplica worker-ul acesteia

Pentru un server mic, funcționarea implicită a cozii de așteptare poate fi suficientă odată ce modul Cron este activ. Lucrarea sa implicită este limitată la maximum cinci minute per execuție, iar aplicația oferă statistici ale cozii pentru monitorizare. Dacă aveți nevoie de o fereastră previzibilă în afara orelor de vârf, utilizați comanda OCC dedicată în cron-ul sistemului. Când utilizați acel program personalizat, dezactivați funcționarea implicită a cozii de așteptare a aplicației, astfel încât ambele mecanisme să nu concureze:

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

Apoi editați crontab-ul pentru utilizatorul serverului web ( sudo crontab -u www-data -e) și adăugați un exemplu de programare, cum ar fi:

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

Zece minute sunt doar un exemplu. Alegeți o cadență și o fereastră pentru traficul și capacitatea dvs.; confirmați căile PHP și OCC. Nu programați comanda și în altă parte. Păstrați cron.phpjobul obișnuit al Nextcloud, care execută alte sarcini în fundal. Consultați ghidul pentru sarcinile în fundal ale Nextcloud care documentează configurarea cron-ului sistemului.

4. Evitați o recuperare necontrolată la prima încercare

Fișierul README sugerează, preview:generate-alldupă instalare, să se acopere fișierele existente. Într-o bibliotecă mare, această recuperare poate cauza o creștere semnificativă a volumului de procesare a procesorului. Evitați prezența mai multor lucrători pe un server aglomerat. Începeți cu un utilizator sau o cale în timpul unei ferestre silențioase și monitorizați procesorul, memoria, debitul pe disc și spațiul liber. Comanda acceptă ID-uri de utilizator, căi și numărul de lucrători; începeți cu un singur lucrător. Dacă este necesar, împărțiți scanarea pe mai multe ferestre.

Verificați dacă sarcina devine previzibilă

După rularea comenzii, verificați coada:

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

Statisticile cozii includ previzualizări învechite. O scădere a restanțelor și vârfurile CPU care se termină cu lucrări programate indică progresul cozii. Deschideți un folder reprezentativ pentru a confirma miniaturile, apoi observați navigarea normală. Comparați CPU la niveluri de trafic similare; nu va ajunge la zero.

Dacă coada nu se micșorează, inspectați jurnalele cron și rulați preview:pre-generate -vvîntr-o fereastră controlată pentru a vedea fișierele procesate. Dacă CPU-ul rămâne ridicat după ce coada se golește, investigați alți worker-i PHP, joburi sau servicii media. Dacă previzualizările utilizează prea mult disc, eliminați dimensiunile neutilizate sau dimensiuni mai mici. Verificați dacă previzualizările rămase acceptă vizualizările de care au nevoie utilizatorii.

Referințe oficiale

Lasă un comentariu

Controlează vârfurile de CPU din previzualizarea Nextcloud cu o coadă programată

Mută ​​miniaturile într-un program controlat în fundal, decupează dimensiunile de previzualizare neutilizate și verifică coada fără a suprasolicita serverul Nextcloud.

Obțineți sincronizarea desktop Nextcloud trecând de la „Procesarea fișierelor”

Găsiți fișierul, regula de excludere, problema de conexiune sau starea bazei de date client care blochează sincronizarea Nextcloud, apoi verificați încărcările și descărcările în siguranță.

Ștergeți avertismentul Nextcloud OPcache prin ajustarea limitei din dreapta

Găsiți limita PHP OPcache care declanșează avertismentul Nextcloud, actualizați configurația web PHP corectă, reporniți în siguranță și verificați rezultatul.

Conectarea Nextcloud la CODE Docker: Configurare și compromisuri

Conectarea Nextcloud la CODE Docker: Configurare și compromisuri

Compară CODUL încorporat și cel bazat pe Docker, apoi conectează Collabora Online la Nextcloud printr-un proxy invers HTTPS securizat.

Construiți un cluster Nextcloud rezilient cu Galera

Planificați o implementare fiabilă Nextcloud HA cu stocare partajată, blocare Redis, rutare MariaDB cu funcție de cvorum și verificări practice de failover.

Transmiteți apelurile Nextcloud Talk atunci când Direct Media eșuează

Transmiteți apelurile Nextcloud Talk atunci când Direct Media eșuează

Configurați și verificați un releu TURN accesibil pentru Nextcloud Talk atunci când firewall-urile sau NAT-ul restrictiv blochează apelurile directe media.

Ștergeți avertismentele de integritate Nextcloud prin restaurarea fișierelor corecte

Folosește raportul fișierelor nevalide pentru a identifica codul Nextcloud modificat, lipsă sau suplimentar, pentru a restaura în siguranță fișierele de încredere și pentru a verifica rezultatul.

Conectați Gmail sau Microsoft 365 la Nextcloud Mail folosind OAuth2

Configurați OAuth2 pentru Nextcloud Mail cu Gmail sau Microsoft 365, verificați primirea și trimiterea și rezolvați erorile de consimțământ comun și SMTP.

Ștergeți în siguranță modul de întreținere Nextcloud blocat cu OCC

Ștergeți în siguranță modul de întreținere Nextcloud blocat cu OCC

Folosește OCC pentru a restaura accesul la Nextcloud, a verifica starea migrării bazei de date și a alege comanda potrivită pentru instalările de arhivă, Docker sau Snap.

Configurați autentificarea Nextcloud LDAP și Active Directory

Conectați Nextcloud la LDAP sau Active Directory, limitați accesul cu filtre de utilizatori și grupuri și verificați autentificarea securizată înainte de implementare.