Снизьте скачки загрузки ЦП в предварительной версии Nextcloud с помощью запланированной очереди.

Если во время создания предварительных просмотров на вашем сервере Nextcloud происходит резкое увеличение нагрузки на процессор, это часто связано с внезапным наплывом пользователей: открываются папки с большим количеством изображений, индексируется обширная библиотека или задача предварительного просмотра пытается создать изображения большего размера, чем требуется. Установите приложение Nextcloud Preview Generator, позвольте ему обрабатывать новые и измененные файлы по контролируемому расписанию и обрезать ненужные размеры предварительных просмотров. Это переносит работу за пределы активных сеансов просмотра; это не делает преобразование изображений бесплатным и не устраняет первоначальную нагрузку по обработке.

Эти шаги соответствуют инструкциям из файла README генератора предварительной версии и документации Nextcloud 35, проверенной 10 октября 2026 года. Подтвердите совместимость вашей версии в магазине приложений Nextcloud. В файле README зашифрованные файлы указаны как неподдерживаемые.

Почему предварительная генерация влияет на загрузку процессора?

Nextcloud создает миниатюры по запросу пользователей, если предварительный просмотр еще не существует. Декодирование, изменение размера и преобразование изображений — особенно для больших оригиналов или изображений с несколькими целевыми размерами — могут потреблять ресурсы процессора и памяти. При большом количестве запросов эта работа становится заметной одновременно с интерактивным использованием.

Preview Generator ставит новые или измененные файлы в очередь на фоновую обработку. Предоставление существующих превью обходится дешевле, но для отсутствующих превью по-прежнему используется механизм обработки по запросу Nextcloud. Приложение переносит часть работы на более спокойные периоды; оно не может уменьшить общую обработку или устранить другие узкие места, такие как конвертация видео или медленная скорость хранения.

Настройте контролируемую очередь предварительного просмотра.

1. Проверьте режим фоновых заданий и совместимость приложений.

В настройках администрирования проверьте раздел «Фоновые задания». Встроенное задание генератора предварительного просмотра требует режима Cron; в его файле README указано, что AJAX и Webcron не поддерживаются для этой длительной работы. Nextcloud рекомендует использовать системный cron. Убедитесь, что на странице администрирования отображается Cron.

Установите Preview Generator с экрана приложений или, если ваша система развертывания использует OCC и разрешает установку приложений, выполните эти команды из каталога установки Nextcloud. В Debian или Ubuntu учетная запись веб-сервера обычно — www-data; используйте фактического пользователя HTTP и версию PHP CLI для вашего хоста:

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

Если он уже установлен, пропустите первую команду. Проверьте состояние и доступные команды:

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

Запускайте OCC от имени пользователя HTTP, чтобы обеспечить согласованность прав собственности на файлы. Пути и пользователи различаются в зависимости от развертывания. См. документацию Nextcloud по OCC .

2. Сократите количество вариантов предварительного просмотра перед началом масштабного процесса генерации.

Генератор предварительного просмотра может создавать квадратные миниатюры и предварительные просмотры с заданным соотношением сторон для указанных размеров. В файле README указано, что размеры должны быть степенями четырех, а пустое значение пропускает эту категорию предварительного просмотра. Ниже показан сдержанный стартовый профиль для сервера, испытывающего трудности с нагрузкой. Он сохраняет небольшие квадратные плитки и два размера с заданным соотношением сторон, пропуская при этом отдельные варианты только по ширине и только по высоте:

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

Этот профиль с меньшей нагрузкой не является универсальным: приложениям могут потребоваться более крупные предварительные просмотры или другие формы. Если миниатюры отсутствуют или нечеткие, определите необходимый размер и добавьте только его размер. Большие размеры увеличивают использование вычислительных ресурсов и кэша. Рекомендуемый минимальный размер для файлов, фотографий и действий, указанный в README, использует больший размер в 4096 пикселей; оцените этот компромисс на вашем оборудовании. См. официальный README генератора предварительных просмотров ; он использует больший размер с соотношением сторон в 4096 пикселей, поэтому оцените этот компромисс на вашем оборудовании.

Настройки вводят общий потолок разрешения preview_max_xв пикселях. Перед редактированием сделайте резервную копию файла, чтобы он был совместим с выбранными размерами приложения. Отключение предварительного просмотра удаляет миниатюры во всех приложениях.preview_max_yconfig/config.php

3. Запланируйте выполнение команды предварительной генерации приложения, не дублируя его обработчик.

Для небольшого сервера встроенного обработчика очереди может быть достаточно после активации режима Cron. Его задание по умолчанию ограничено максимум пятью минутами на выполнение, а приложение предоставляет статистику очереди для мониторинга. Если вам нужен предсказуемый период вне пиковой нагрузки, используйте вместо этого специальную команду OCC в системном cron. При использовании этого пользовательского расписания отключите задание очереди по умолчанию в приложении, чтобы оба механизма не конкурировали:

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

Затем отредактируйте файл crontab для пользователя веб-сервера ( sudo crontab -u www-data -e) и добавьте пример расписания, например:

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

Десять минут — это всего лишь пример. Выберите периодичность и временной интервал для вашего трафика и пропускной способности; подтвердите пути к PHP и OCC. Не планируйте выполнение команды в другом месте. Сохраните обычное cron.phpзадание Nextcloud, которое запускает другие фоновые задачи. См. руководство по фоновым заданиям Nextcloud, в котором описана настройка системного cron.

4. Избегайте неконтролируемого наверстывания упущенного с первого раза.

В файле README preview:generate-allпосле установки рекомендуется выполнить сканирование существующих файлов. При работе с большой библиотекой такое ускоренное сканирование может вызвать значительный скачок загрузки ЦП. Избегайте большого количества рабочих процессов на загруженном сервере. Начните сканирование с одного пользователя или пути в спокойный период и отслеживайте загрузку ЦП, памяти, пропускную способность диска и свободное место. Команда поддерживает идентификаторы пользователей, пути и количество рабочих процессов; начните с одного рабочего процесса. При необходимости разделите сканирование на несколько окон.

Убедитесь, что нагрузка становится предсказуемой.

После выполнения команды проверьте очередь:

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

Статистика очереди включает устаревшие предварительные просмотры. Уменьшение объема невыполненных задач и пиковые нагрузки на ЦП, завершающиеся запланированными заданиями, указывают на то, что очередь продвигается. Откройте показательную папку, чтобы подтвердить наличие миниатюр, затем понаблюдайте за обычным просмотром. Сравните загрузку ЦП при аналогичных уровнях трафика; она не достигнет нуля.

Если очередь не уменьшается, изучите логи cron и запустите программу preview:pre-generate -vvв контролируемом окне, чтобы увидеть обработанные файлы. Если после очистки очереди загрузка ЦП остается высокой, проверьте другие PHP-процессы, задания или медиасервисы. Если предварительный просмотр занимает слишком много места на диске, удалите неиспользуемые размеры или уменьшите размерность. Убедитесь, что оставшиеся предварительные просмотры поддерживают необходимые пользователям режимы отображения.

Официальные ссылки

Оставить комментарий

Снизьте скачки загрузки ЦП в предварительной версии Nextcloud с помощью запланированной очереди.

Перенесите обработку миниатюр в контролируемый фоновый режим, обрежьте неиспользуемые размеры предварительного просмотра и проверьте очередь, не перегружая сервер Nextcloud.

Переход от «обработки файлов» к синхронизации Nextcloud Desktop Sync

Найдите файл, правило исключения, проблему с подключением или состояние базы данных клиента, препятствующие синхронизации Nextcloud, а затем безопасно проверьте загрузку и скачивание файлов.

Устраните предупреждение Nextcloud OPcache, отрегулировав правильный лимит.

Найдите ограничение на использование PHP OPcache, вызывающее предупреждение Nextcloud, обновите правильную конфигурацию PHP для веб-приложений, безопасно перезапустите систему и проверьте результат.

Подключение Nextcloud к CODE Docker: настройка и компромиссы.

Подключение Nextcloud к CODE Docker: настройка и компромиссы.

Сравните встроенный и основанный на Docker код, затем подключите Collabora Online к Nextcloud через защищенный обратный прокси-сервер HTTPS.

Создайте отказоустойчивый кластер Nextcloud с помощью Galera.

Спланируйте надежное развертывание Nextcloud HA с использованием общего хранилища, блокировок Redis, маршрутизации MariaDB с учетом кворума и практичных проверок отказоустойчивости.

Проводите звонки Nextcloud Talk, если прямая передача медиаданных не работает.

Проводите звонки Nextcloud Talk, если прямая передача медиаданных не работает.

Настройте и проверьте доступность TURN-ретранслятора для Nextcloud Talk, если брандмауэры или ограничительные NAT блокируют прямые вызовы.

Устраните предупреждения о целостности Nextcloud, восстановив правильные файлы.

Используйте отчет о недействительных файлах, чтобы выявить измененный, отсутствующий или лишний код Nextcloud, безопасно восстановить доверенные файлы и проверить результат.

Подключите Gmail или Microsoft 365 к Nextcloud Mail с помощью OAuth2.

Настройте OAuth2 для почты Nextcloud с использованием Gmail или Microsoft 365, проверьте получение и отправку сообщений, а также устраните распространенные ошибки, связанные с согласием и SMTP.

Безопасно выведите из зависшего режима обслуживания Nextcloud с помощью OCC.

Безопасно выведите из зависшего режима обслуживания Nextcloud с помощью OCC.

Используйте OCC для восстановления доступа к Nextcloud, проверки статуса миграции базы данных и выбора правильной команды для установки архивов, Docker или Snap.

Настройка входа в Nextcloud через LDAP и Active Directory.

Подключите Nextcloud к LDAP или Active Directory, ограничьте доступ с помощью фильтров по пользователям и группам и проверьте безопасную аутентификацию перед развертыванием.