Beheers de CPU-pieken van Nextcloud Preview met een geplande wachtrij.

Als de CPU-belasting van uw Nextcloud-server piekt tijdens het genereren van previews, komt de werklast vaak in één keer binnen: gebruikers openen mappen met veel afbeeldingen, een grote bibliotheek wordt geïndexeerd of een previewtaak probeert grotere formaten te genereren dan nodig is. Installeer de Nextcloud Preview Generator-app, laat deze nieuwe en gewijzigde bestanden volgens een gecontroleerd schema verwerken en verklein onnodige previewformaten. Dit verplaatst taken buiten drukke browsesessies; het maakt de conversie van afbeeldingen niet gratis en elimineert ook niet de initiële inhaalslag.

Deze stappen volgen de README van Preview Generator en de Nextcloud 35-documentatie, gecontroleerd op 10 oktober 2026. Controleer de compatibiliteit voor uw release in de Nextcloud App Store. In de README staat vermeld dat versleutelde bestanden niet worden ondersteund.

Waarom zorgt de preview-generatie voor een hoger CPU-gebruik?

Nextcloud maakt miniaturen aan zodra gebruikers daarom vragen, tenzij er al een voorbeeld bestaat. Het decoderen, verkleinen en converteren van afbeeldingen – met name voor grote originelen of afbeeldingen met meerdere gewenste afmetingen – kan veel CPU-kracht en geheugen verbruiken. Een piek in het aantal verzoeken maakt dit werk zichtbaar, tegelijk met het interactieve gebruik.

Preview Generator plaatst nieuwe of gewijzigde bestanden in de wachtrij voor verwerking op de achtergrond. Het is goedkoper om bestaande previews te leveren, maar ontbrekende previews maken nog steeds gebruik van Nextcloud's on-demand service. De app verplaatst een deel van het werk naar rustigere perioden; het kan de totale verwerkingstijd niet verkorten of andere knelpunten zoals videoconversie of trage opslag oplossen.

Stel een gecontroleerde previewwachtrij in.

1. Controleer de achtergrondtaakmodus en de compatibiliteit van de app.

In de beheerdersinstellingen controleert u de achtergrondtaken. De ingebouwde taak van Preview Generator vereist de Cron-modus; in de README staat dat AJAX en Webcron niet worden ondersteund voor deze langlopende taak. Nextcloud raadt de systeem-cron aan. Controleer of de beheerderspagina aangeeft dat er een Cron-taak actief is.

Installeer Preview Generator via het scherm Apps, of, als uw implementatie OCC gebruikt en app-installatie toestaat, voer deze opdrachten uit vanuit de Nextcloud-installatiemap. Op Debian of Ubuntu is het webserveraccount meestal www-data; gebruik de daadwerkelijke HTTP-gebruiker en PHP CLI-versie voor uw host:

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

Als het al geïnstalleerd is, sla dan de eerste opdracht over. Controleer de status en de beschikbare opdrachten:

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

Voer OCC uit als de HTTP-gebruiker, zodat het eigenaarschap van bestanden consistent blijft. Padnamen en gebruikers variëren per implementatie. Zie de OCC-documentatie van Nextcloud .

2. Verminder het aantal previewvarianten voordat u een grote generatierun start.

Preview Generator kan vierkante miniaturen en previews met verschillende beeldverhoudingen maken in geconfigureerde formaten. In de README staat dat de formaten machten van vier moeten zijn en dat een lege waarde deze previewcategorie overslaat. Hieronder wordt een beperkt startprofiel voor een server met een hoge belasting weergegeven. Dit profiel behoudt kleine vierkante tegels en twee beeldverhoudingen, terwijl aparte varianten met alleen breedte en alleen hoogte worden overgeslagen:

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

Dit profiel met lagere belasting is niet universeel: apps hebben mogelijk grotere voorbeelden of andere vormen nodig. Als miniaturen ontbreken of onscherp zijn, identificeer dan de gewenste weergave en voeg alleen de bijbehorende grootte toe. Grotere afmetingen verhogen het verwerkings- en cachegebruik. De in de README aanbevolen minimale instellingen voor Bestanden, Foto's en Activiteiten gebruiken een grotere afmeting van 4096 pixels; beoordeel de afweging die dit op uw hardware maakt. Zie de officiële README van de Preview Generator ; deze gebruikt een grotere beeldverhouding van 4096 pixels, dus beoordeel de afweging die dit op uw hardware maakt.

De preview_max_xinstellingen preview_max_yleggen config/config.phpeen algehele pixellimiet op. Maak een back-up van het bestand voordat u het bewerkt en zorg ervoor dat het compatibel is met de gekozen app-formaten. Het uitschakelen van voorbeelden verwijdert miniaturen in alle apps.

3. Plan de pre-generatieopdracht van de app in zonder de bijbehorende worker te dupliceren.

Voor een kleine server kan de ingebouwde wachtrijworker voldoende zijn zodra de Cron-modus is ingeschakeld. De standaardtaak is beperkt tot maximaal vijf minuten per uitvoering en de app biedt wachtrijstatistieken ter monitoring. Als u een voorspelbaar dalurenvenster nodig hebt, gebruik dan in plaats daarvan de speciale OCC-opdracht in de systeemcron. Schakel bij gebruik van dat aangepaste schema de standaard wachtrijtaak van de app uit, zodat beide mechanismen niet met elkaar concurreren.

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

Bewerk vervolgens de crontab voor de webservergebruiker ( sudo crontab -u www-data -e) en voeg een voorbeeldschema toe, zoals:

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

Tien minuten is slechts een voorbeeld. Kies een frequentie en tijdsvenster dat past bij uw verkeer en capaciteit; controleer uw PHP- en OCC-paden. Plan de opdracht niet ook elders in. Behoud de reguliere Nextcloud- cron.phptaak, die andere achtergrondtaken uitvoert. Raadpleeg de Nextcloud-handleiding voor achtergrondtaken voor de configuratie van de cron-taak.

4. Vermijd een ongecontroleerde inhaalrace bij de eerste poging.

In de README wordt aangeraden om preview:generate-allna de installatie bestaande bestanden te overschrijven. Bij een grote bibliotheek kan deze inhaalactie een flinke piek in het CPU-gebruik veroorzaken. Vermijd veel workers op een drukke server. Begin met één gebruiker of pad tijdens een rustig moment en monitor het CPU-gebruik, het geheugen, de schijfdoorvoer en de vrije ruimte. De opdracht ondersteunt gebruikers-ID's, paden en het aantal workers; begin met één worker. Verdeel de scan indien nodig over meerdere vensters.

Controleer of de belasting voorspelbaar wordt.

Controleer de wachtrij nadat de opdracht is uitgevoerd:

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

De wachtrijstatistieken bevatten verouderde voorbeelden. Een afnemende achterstand en CPU-pieken die eindigen met geplande taken, geven aan dat de wachtrij vordert. Open een representatieve map om de miniaturen te controleren en observeer vervolgens het normale browsen. Vergelijk het CPU-gebruik bij vergelijkbare verkeersniveaus; het zal niet nul bereiken.

Als de wachtrij niet kleiner wordt, controleer dan de cron-logboeken en voer het programma uit preview:pre-generate -vvin een gecontroleerd venster om de verwerkte bestanden te bekijken. Als het CPU-gebruik hoog blijft nadat de wachtrij is leeggehaald, onderzoek dan andere PHP-workers, taken of mediaservices. Als previews te veel schijfruimte in beslag nemen, verwijder dan ongebruikte formaten of verklein de afmetingen. Controleer of de resterende previews de weergaven ondersteunen die gebruikers nodig hebben.

Officiële referenties

Laat een reactie achter

Beheers de CPU-pieken van Nextcloud Preview met een geplande wachtrij.

Verplaats het genereren van miniaturen naar een gecontroleerd achtergrondschema, verklein ongebruikte voorbeeldformaten en controleer de wachtrij zonder uw Nextcloud-server te overbelasten.

Nextcloud Desktop Sync: Voorbij het "Bestanden verwerken"-scherm

Zoek naar het bestand, de uitsluitingsregel, het verbindingsprobleem of de status van de clientdatabase die de Nextcloud-synchronisatie blokkeert, en controleer vervolgens of uploads en downloads veilig verlopen.

Verwijder de Nextcloud OPcache-waarschuwing door de rechterlimiet aan te passen.

Zoek de PHP OPcache-limiet die de waarschuwing van Nextcloud veroorzaakt, werk de juiste web-PHP-configuratie bij, herstart de server veilig en controleer het resultaat.

Nextcloud verbinden met CODE Docker: installatie en afwegingen

Nextcloud verbinden met CODE Docker: installatie en afwegingen

Vergelijk de ingebouwde en op Docker gebaseerde code en verbind Collabora Online vervolgens met Nextcloud via een beveiligde HTTPS-reverseproxy.

Bouw een robuust Nextcloud-cluster met Galera

Plan een betrouwbare Nextcloud HA-implementatie met gedeelde opslag, Redis-vergrendeling, quorum-bewuste MariaDB-routering en praktische failover-controles.

Krijg Nextcloud Talk-gesprekken tot stand wanneer directe media niet werkt.

Krijg Nextcloud Talk-gesprekken tot stand wanneer directe media niet werkt.

Configureer en verifieer een bereikbare TURN-relais voor Nextcloud Talk wanneer firewalls of restrictieve NAT directe gespreksmedia blokkeren.

Verwijder Nextcloud-integriteitswaarschuwingen door de juiste bestanden te herstellen.

Gebruik het rapport met ongeldige bestanden om gewijzigde, ontbrekende of extra Nextcloud-code te identificeren, vertrouwde bestanden veilig te herstellen en het resultaat te controleren.

Verbind Gmail of Microsoft 365 met Nextcloud Mail via OAuth2.

Stel OAuth2 in voor Nextcloud Mail met Gmail of Microsoft 365, verifieer het ontvangen en verzenden van e-mails en los veelvoorkomende toestemmings- en SMTP-problemen op.

Definieer de vastgelopen Nextcloud-onderhoudsmodus veilig met OCC.

Definieer de vastgelopen Nextcloud-onderhoudsmodus veilig met OCC.

Gebruik OCC om de toegang tot Nextcloud te herstellen, de status van de databasemigratie te controleren en de juiste opdracht te kiezen voor archivering, Docker- of Snap-installaties.

Nextcloud LDAP- en Active Directory-aanmelding instellen

Verbind Nextcloud met LDAP of Active Directory, beperk de toegang met gebruikers- en groepsfilters en verifieer de veilige authenticatie vóór de uitrol.