Remediați utilizarea ridicată a procesorului pentru generarea de previzualizări Nextcloud: Configurați generatorul de previzualizări

Răspuns scurt: Instalați aplicația Generator de previzualizări, activați-o, rulați o generație inițială atent definită, apoi programați-o occ preview:pre-generateîn orele mai puțin frecvente. De asemenea, limitați dimensiunile previzualizărilor și numărul de noi previzualizări pe care Nextcloud le generează simultan. Aplicația mută munca din momentul în care un utilizator deschide un fișier; nu impune un plafon fix pentru CPU și poate crește utilizarea discului.

Această configurație se potrivește unui server Nextcloud auto-găzduit, unde miniaturile provoacă vârfuri vizibile de solicitare a procesorului în timpul navigării, în special pe un server mic cu o bibliotecă de fotografii sau documente deja existentă. Este mai puțin util dacă instanța dvs. folosește criptare pe server: proiectul Preview Generator listează criptarea ca o incompatibilitate cunoscută. Găzduirea gestionată, Nextcloud AIO, Docker și instalările de pachete utilizează, de asemenea, căi de comandă diferite, așa că adaptați comenzile la implementarea dvs. Nu le rulați dintr-un director ghicit.

Instrucțiunile actuale ale aplicației recomandă instalarea și activarea aplicației, rularea preview:generate-allo singură dată și programarea preview:pre-generatemodificărilor ulterioare ale fișierelor. Prima comandă poate fi costisitoare într-o bibliotecă mare. Începeți cu un utilizator sau un folder și un lucrător. Verificați fișierul README al proiectului și opțiunile de comandă din Generatorul de previzualizări și selectați o versiune compatibilă cu versiunea dvs. Nextcloud din Nextcloud App Store .

1. Confirmați că aceasta este soluția corectă

Mai întâi, stabiliți când crește volumul procesorului. Dacă se întâmplă atunci când utilizatorii deschid foldere sau documente cu multe fotografii care necesită previzualizări, pregenerarea poate muta o mare parte din această muncă către o sarcină programată. Dacă volumul procesorului rămâne ridicat atunci când nimeni nu navighează sau vârfurile coincid cu un alt serviciu, este posibil ca Generatorul de previzualizări să nu rezolve cauza. Verificați monitorul de procese și jurnalele Nextcloud înainte de a modifica setările.

Generatorul de previzualizări înregistrează fișierele adăugate sau modificate și le procesează într-un job în fundal. Previzualizările existente fac solicitările ulterioare mai ieftine, dar previzualizările lipsă pot fi generate la cerere înainte ca jobul programat să ajungă la ele. Aceasta înseamnă că aplicația reduce rafalele de solicitare a utilizatorului atunci când coada este ocupată; nu poate promite zero vârfuri de solicitare a procesorului. De asemenea, oferă spațiu de stocare pentru o livrare mai rapidă a previzualizărilor. O bibliotecă mică, cu răsfoire rară, poate fi potrivită pentru comportamentul la cerere al Nextcloud.

2. Instalați versiunea compatibilă a aplicației

Pagină generică de administrare în cloud cu o fișă de aplicație de previzualizare a imaginii și comutatorul de activare activat.
O pagină generică de administrare în cloud afișează o fișă de previzualizare a imaginii activată, ilustrând pașii de instalare și activare; aspectul nu este o captură de ecran specifică versiunii.

Conectați-vă ca administrator Nextcloud, deschideți zona Aplicații, găsiți Generatorul de previzualizări , instalați-l și activați-l. Înainte de a continua, confirmați dacă App Store oferă o versiune stabilă pentru versiunea majoră Nextcloud instalată. Evitați să copiați manual cel mai recent folder al aplicației peste o versiune pe care App Store o marchează ca fiind incompatibilă.

Administratorii cu acces la shell pot verifica sau activa aplicația prin occ. O comandă tipică de instalare a pachetului este prezentată mai jos; modificați fișierul binar PHP și calea Nextcloud pentru a se potrivi cu gazda dvs. Pentru Docker sau AIO, utilizați în schimb comanda containerului acceptată sau instrucțiunile planificatorului pentru implementarea respectivă.

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

3. Setați joburile de fundal ale Nextcloud la Cron

În setările de administrare Nextcloud, selectați Cron ca mod de lucru în fundal și verificați dacă cron-ul obișnuit al sistemului Nextcloud rulează efectiv. Fișierul README al aplicației spune că jobul său de previzualizare în fundal încorporat necesită modul Cron; modurile Webcron și AJAX nu sunt acceptate pentru acel job cu rulare lungă. Dacă cron-ul obișnuit este defect, instalarea acestei aplicații în sine nu va menține coada în mișcare.

Nu confundați programul cron.php normal al Nextcloud cu programul dedicat opțional al aplicației preview:pre-generate. Ambele sunt mecanisme separate. Puteți utiliza jobul de fundal încorporat în aplicație sau o comandă cron dedicată sistemului. Dacă alegeți comanda dedicată, proiectul recomandă dezactivarea jobului de fundal de previzualizare încorporat pentru a evita rularea ambelor căi pentru aceeași coadă.

Pagină generică de planificare cu o sarcină recurentă activă care duce la o fereastră de comenzi și rezultate în miniatură.
O pagină de planificare afișează o sarcină recurentă activă care preia previzualizarea unei ferestre de comenzi și returnează rezultate în miniatură.

4. Reduceți volumul de lucru pentru previzualizare înainte de prima rulare în bloc

Panou de configurare generic cu setări asemănătoare codului deasupra controalelor pentru dimensiunea previzualizării și utilizarea procesorului.
Un panou de configurare generic combină setări de tip cod cu controale pentru dimensiunea imaginii și procesor, ilustrând cele două limite pe care administratorii ar trebui să le ajusteze.

Pentru crearea de previzualizări limitate la CPU, reduceți numărul de previzualizări noi care rulează simultan. În referința de configurare a Nextcloud 35, preview_concurrency_newse controlează generarea simultană de noi previzualizări; valoarea implicită documentată este patru, iar manualul recomandă menținerea acesteia la maximum numărul de nuclee CPU. Pe o gazdă mică, testați o valoare precum două sau unu dacă serverul nu răspunde. Acest lucru limitează lucrul simultan, dar o singură imagine sau un videoclip mare poate consuma în continuare o cantitate semnificativă de CPU.

Dimensiunile previzualizării contează și ele. Nextcloud 35 documentează o lățime și o înălțime maxime implicite de 4096 pixeli. Reducerea valorilor preview_max_xși preview_max_ya valorilor config/config.phppoate reduce nevoile de procesare și memorie, cu prețul unor previzualizări mai mici. Faceți o copie de rezervă a fișierului de configurare și îmbinați setările în matricea PHP existentă; nu înlocuiți fișierul cu un fragment de cod. De exemplu, un administrator ar putea seta ambele valori la 2048 și testa calitatea în vizualizările Fișiere și Fotografii.

Aplicația poate genera, de asemenea, mai multe variante de dimensiune. Fișierul său README oferă un profil de dimensiune redusă pentru utilizările comune ale Fișierelor, Fotografiilor și Activității: dimensiuni pătrate 64 256, dimensiuni fill-width-height 256 4096și grupuri de variante goale widthSizes, heightSizespentru a omite aceste setări. Folosește aceste setări numai dacă se potrivesc aplicațiilor de care se bazează utilizatorii tăi; cronologiile Amintirilor sau alte aplicații pot necesita dimensiuni suplimentare. Proiectul menționează că dimensiunile de previzualizare trebuie să respecte regulile de dimensiune acceptate și nu pot depăși limitele configurate. Examinează setările de dimensiune și calitate a previzualizării Nextcloud și referința de configurare specifică versiunii .

5. Generați previzualizări existente într-un prim lot mic

După ce aplicația este activată și limitele sunt setate, rulați generatorul inițial pentru un folder de testare sau pentru un utilizator, în loc de întreaga instanță. Aplicația acceptă filtrarea după ID-ul utilizatorului sau calea, iar comanda acceptă un număr de lucrători. Folosiți un singur lucrător pentru o primă trecere conservatoare:

sudo -u www-data php /var/www/nextcloud/occ preview:generate-all --workers=1 --path="/alice/files/Photos"
Ecran de setări generice pentru joburile în fundal cu opțiunea de sarcină programată selectată.
O pagină de setări pentru joburile în fundal afișează opțiunea selectată pentru sarcina programată; etichetele exacte și opțiunile disponibile variază în funcție de versiunea Nextcloud.

Înlocuiți alice, calea și calea de instalare Nextcloud cu valori reale de pe serverul dvs. Opțiunea path folosește forma /[username]/files/[folder path]. Dacă omiteți calea și filtrul de utilizator, comanda poate traversa întreaga bibliotecă. Rulați lotul atunci când utilizatorii sunt mai puțin activi, urmăriți CPU-ul, memoria și spațiul pe disc și opriți-vă pentru a reevalua dacă serverul devine instabil. Nu creșteți numărul de lucrători doar pentru a termina mai repede până când nu ați măsurat efectul.

6. Programați fișierele nou adăugate sau modificate

Odată ce lotul de testare se comportă corect, adăugați-l preview:pre-generatela un program cron al sistemului. Fișierul README al aplicației oferă o dată la zece minute ca exemplu, nu ca o cerință. Alegeți un interval care să corespundă volumului de încărcare și timpului de inactivitate disponibil. De exemplu, un crontab deținut de contul serverului web ar putea conține următoarea linie, cu căi ajustate pentru instalare:

*/10 * * * * cd /var/www/nextcloud && /usr/bin/php -f occ preview:pre-generate
Panou în stil terminal cu o pictogramă de folder urmată de miniaturi de imagini generate.
O fereastră în stil terminal afișează un folder selectat urmat de miniaturi de imagini, reprezentând o primă trecere efectuată de un singur lucrător pe o cale limitată.

Dacă utilizați acest cron de sistem dedicat, dezactivați jobul de previzualizare în fundal încorporat în aplicație, așa cum este recomandat de proiect. Setarea documentată a aplicației este:

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

Păstrați jobul cron.php obișnuit al Nextcloud activat. Pentru containere și platforme găzduite, utilizați planificatorul acceptat de platformă în loc să introduceți o cale gazdă într-o intrare cron a containerului. Dacă aplicația este instalată cu criptarea activată, opriți-vă aici și consultați administratorul sau furnizorul de găzduire; proiectul listează în prezent această configurație ca neacceptată.

7. Monitorizați coada și confirmați îmbunătățirea

Ecran de monitorizare generic cu un grafic de utilizare a CPU și două bare de progres pentru coadă.
Un panou de monitorizare generic combină un grafic al procesorului cu bare de progres în coadă pentru compararea încărcării serverului și a previzualizării restanțelor.

Executați occ preview:queue-statspentru a inspecta coada de pre-generare și previzualizările învechite. O coadă care se micșorează între rulările programate sugerează că worker-ul recuperează decalajul. Dacă crește constant, utilizatorii adaugă fișiere mai repede decât le procesează jobul configurat; creșteți frecvența de rulare sau limitele permise ale joburilor cu precauție, după ce verificați dacă sarcina suplimentară a CPU este acceptabilă. Aplicația expune limite pentru timpul de execuție al jobului și previzualizări per rulare. Fișierul README spune că zero înseamnă nelimitat, așa că nu alegeți zero din întâmplare pe o gazdă cu resurse limitate.

Comparați vârfurile de putere ale procesorului înainte și după lansare la momente similare, apoi deschideți un folder cu fotografii reprezentative și o previzualizare a documentului ca utilizator normal. Confirmați că apar miniaturile, paginile încă răspund și utilizarea procesorului se stabilizează după lotul programat. Un profil procesor mai plat în timpul zilei, cu un progres adecvat în coadă, este un rezultat util; o acumulare de lucrări restante în continuă creștere sau sesiuni de utilizator mai lente înseamnă că programarea, profilul de dimensiune sau furnizorul de previzualizare subiacent necesită o nouă analiză.

Galerie de fișiere în cloud care afișează șase miniaturi de imagini într-o vizualizare de folder.
O galerie în stil Fișiere afișează miniaturi de imagini, reprezentând verificarea vizuală pentru care se încarcă acum previzualizările solicitate.

Limite importante și curățare în siguranță

Unele tipuri de previzualizări depind de programele de pe server: manualul Nextcloud listează FFmpeg pentru previzualizări video și LibreOffice pentru previzualizări de documente Office. Aceste formate se pot comporta diferit față de miniaturile obișnuite ale imaginilor, iar suportul lor depinde de configurația furnizorului. Începeți prin a reduce concurența și a testa un set restrâns de fișiere înainte de a schimba furnizorii sau de a adăuga servicii.

Dacă modificați dimensiunile de previzualizare sau tipurile de fișiere acceptate și trebuie să eliminați previzualizările din cache, Nextcloud 31 și versiunile mai noi prevăd occ preview:cleanupacest lucru, conform fișierului README al proiectului. Acesta elimină toate fișierele de previzualizare generate, după care Nextcloud creează previzualizări la cerere pe măsură ce utilizatorii accesează fișierele. Acest lucru poate readuce temporar acele vârfuri de solicitare a procesorului pe care încercați să le reduceți. Faceți o copie de rezervă acolo unde este cazul, programați curățarea în mod deliberat și evitați ștergerea manuală a directorului de previzualizare appdata ca reglare de rutină. Fișierul README al generatorului de previzualizări documentează, de asemenea, un .nomediafișier pentru omiterea unui folder și a descendenților acestuia atunci când este cazul.

Simbol pentru dosar și fișiere ascunse lângă un scut cu lacăt.
Un simbol de folder și un fișier ascuns apar lângă un scut și un lacăt, ilustrând limitarea criptării și opțiunea de a omite un folder.

În practică, Generatorul de previzualizări este o alegere bună atunci când previzualizările lente la cerere creează vârfuri de sarcină vizibile, puteți programa lucrul în fundal și aveți spațiu pe disc pentru dimensiunile din cache. Combinați-l cu o limită modestă de concurență, dimensiuni de previzualizare care corespund nevoilor reale de afișare și o rulare în bloc axată pe testare. Dacă instanța este criptată, gestionată fără programare shell sau limitată de CPU din motive care nu au legătură cu solicitările de previzualizare, investigați aceste constrângeri înainte de implementare.

Referințe oficiale

Lasă un comentariu

10 cele mai bune instrumente Ping Sweep pentru găsirea dispozitivelor în rețeaua dvs.

10 cele mai bune instrumente Ping Sweep pentru găsirea dispozitivelor în rețeaua dvs.

Comparați 10 instrumente de scanare ping pentru descoperirea rapidă a rețelelor LAN, scanarea multi-platformă și gestionarea adreselor IP. Aflați ce vă poate spune o scanare (sweep).

6 Cele mai bune instrumente de gestionare a rețelei pentru urmărirea performanței

6 Cele mai bune instrumente de gestionare a rețelei pentru urmărirea performanței

Comparați șase instrumente de gestionare a rețelei pentru monitorizarea performanței, inclusiv acoperirea SNMP, maparea, alertele, modelele de implementare și compromisurile de costuri.

QoS în rețele: Ce face calitatea serviciilor și cum funcționează

QoS în rețele: Ce face calitatea serviciilor și cum funcționează

Aflați ce înseamnă QoS în rețele, cum marcajele DSCP și cozile de trafic prioritizează aplicațiile vocale, video și de business și ce nu poate remedia QoS.

Cel mai bun software de server SFTP pentru transferuri securizate de fișiere

Cel mai bun software de server SFTP pentru transferuri securizate de fișiere

Compară software-ul de server SFTP fiabil pentru Windows și Linux, inclusiv OpenSSH, Bitvise, SolarWinds și SFTPGo. Găsește soluția potrivită pentru nevoile tale de securitate și transfer de fișiere.

Cele mai bune practici de monitorizare a rețelei: Ce să urmăriți și ce instrumente să utilizați

Cele mai bune practici de monitorizare a rețelei: Ce să urmăriți și ce instrumente să utilizați

Construiți o monitorizare practică a rețelei cu o acoperire clară a dispozitivelor, indicatori de performanță utili, alerte acționabile și o comparație între SolarWinds NPM, PRTG și OpManager.

Cele mai bune 7 instrumente de gestionare a adreselor IP pentru echipele de rețea

Cele mai bune 7 instrumente de gestionare a adreselor IP pentru echipele de rețea

Comparați șapte instrumente de gestionare a adreselor IP pentru descoperirea subrețelelor, coordonarea DNS și DHCP, inventarul rețelei și IPAM open-source.

10 cele mai bune instrumente de scanare a rețelei pentru descoperirea dispozitivelor și a adreselor IP

10 cele mai bune instrumente de scanare a rețelei pentru descoperirea dispozitivelor și a adreselor IP

Comparați instrumentele de scanare a rețelei pentru descoperirea rapidă a dispozitivelor, scanări IP pe mai multe platforme și IPAM pentru întreprinderi, cu îndrumări privind potrivirea fiecărei opțiuni la rețeaua dvs.

Cum se utilizează Nmap pentru Traceroute și citirea căii de rețea

Cum se utilizează Nmap pentru Traceroute și citirea căii de rețea

Folosește opțiunea --traceroute din Nmap pentru a mapa salturi la o gazdă autorizată, a înțelege ieșirea saltului și a RTT-ului și a depana răspunsurile lipsă fără a suprascana.

6 Cele mai bune instrumente de monitorizare a serverelor Windows pentru o disponibilitate și o performanță mai bune

6 Cele mai bune instrumente de monitorizare a serverelor Windows pentru o disponibilitate și o performanță mai bune

Comparați șase instrumente de monitorizare Windows Server în funcție de colectarea datelor Windows, vizibilitatea aplicațiilor, modelul de implementare și licențierea pentru a găsi instrumentul potrivit.

6 instrumente de monitorizare a rețelei Linux pentru dispozitive, gazde și trafic

6 instrumente de monitorizare a rețelei Linux pentru dispozitive, gazde și trafic

Comparați șase instrumente de monitorizare a rețelei Linux pentru descoperirea dispozitivelor SNMP, grafice de interfață, metrici gazdă, verificări de servicii și fluxuri de trafic.