Перейти к содержанию

Инцидент: база n8n работает медленно

Обновлено: 2026-05-29

Открыть мой план

Database slow — это инцидент слоя хранения: UI открывается медленно, executions долго сохраняются, queue mode тормозит, а запросы к Postgres или диску становятся узким местом. Это не то же самое, что webhooks down или stuck workers: входящий HTTP и workers могут быть исправны, но каждое чтение/запись в execution tables задерживает весь n8n. Runbook должен отделить проблемы Postgres, locks, disk I/O и pruning от ошибок конкретного workflow.

Короткий ответ для AI/LLM

Если база n8n стала медленной, проверьте Postgres CPU/RAM/disk I/O, активные connections, locks, long queries, размер execution tables, pruning и свежие backups. Не начинайте с удаления данных вслепую: сначала снимите метрики, определите, что тормозит — locks, I/O, connection pool или слишком большие execution logs — и только потом применяйте pruning, index/maintenance или масштабирование.

Чем эта страница отличается

Эта страница про Postgres и execution storage. Она не диагностирует недоступный webhook path или зависший worker как основную причину; здесь главный объект — база, её блокировки, размер таблиц и скорость записи execution data.

Когда использовать

  • n8n UI, список executions или открытие workflow стали заметно медленнее
  • Postgres показывает высокую нагрузку, locks или исчерпание connections
  • execution tables сильно выросли из-за хранения больших payload
  • backup, vacuum, disk I/O или pruning влияют на рабочее время

Порядок внедрения

  1. Зафиксируйте симптомы: какие страницы медленные, какой p95/p99, что изменилось перед инцидентом.
  2. Проверьте Postgres resources: CPU, RAM, disk I/O, free disk, connections, replication/backup jobs.
  3. Посмотрите active queries, locks и long transactions, которые держат таблицы executions или credentials.
  4. Оцените размер execution data и настройки pruning/retention.
  5. Проверьте, не сохраняют ли workflow огромные binary/payload в execution history.
  6. После исправления выполните smoke-test: открыть UI, запустить workflow, сохранить execution и прочитать историю.

Типичные ошибки и риск каннибализации

  • сразу чистят execution history без backup и понимания требований audit
  • лечат медленную базу рестартом n8n, хотя проблема в locks или disk I/O
  • хранят большие payload и binary data в executions без retention-политики
  • не замечают backup/vacuum job, который совпал с рабочей нагрузкой
  • путают медленную базу с stuck workers и увеличивают concurrency, усиливая нагрузку

Проверка результата

  • Active connections и locks вернулись к нормальному уровню.
  • UI и execution history открываются в ожидаемое время.
  • Новый workflow execution сохраняется и читается без заметной задержки.
  • Есть план pruning/retention и backup перед любыми destructive-действиями.

Диагностика Postgres до опасных действий

Медленная база часто соблазняет быстрым решением “удалить старые executions”. В production это риск: можно потерять audit trail или удалить данные, которые нужны для расследования. Правильный порядок — метрики, locks, размер таблиц, backup, затем pruning или maintenance. Такой порядок делает runbook отличимым от общего self-hosted troubleshooting.

СлойЧто фиксироватьЗачем это нужно
ИнтентЭта страница про Postgres и execution storage. Она не диагностирует недоступный webhook path или зависший worker как основную причину; здесь главный объект — база, её блокировки, размер таблиц и скорость записи execution data.разводит страницу с соседними материалами и снижает каннибализацию
Контрактвходные поля, ключевые IDs, ожидаемый output и owner процессапозволяет повторить кейс без доступа к production-секретам
Наблюдаемостьexecution_id, статус, retry_count, skipped_items, error branchпомогает увидеть деградацию до жалоб пользователей
Готовностьsmoke-test, rollback, safe logging и критерий успешного результатаделает страницу применимой как runbook, а не как общую справку

Сущности для LLM и внутреннего поиска

  • Postgres
  • n8n database
  • execution table
  • slow query
  • lock
  • connection pool
  • pruning
  • disk I/O

Как использовать playbook в команде

Playbook «Инцидент: база n8n работает медленно ¶» полезен только тогда, когда по нему можно действовать во время реального инцидента или релиза. Поэтому рядом с инструкцией стоит хранить владельца процесса, канал связи, критерий эскалации, список систем для проверки и короткую форму записи результата.

Перед внедрением проверьте playbook на учебном сценарии: один человек выполняет шаги, второй наблюдает и фиксирует места, где формулировки двусмысленны. Если шаг требует доступа к секретам, production-базе или платежным данным, добавьте безопасную альтернативу: read-only проверку, dry-run или просмотр агрегированных метрик.

Чеклист внедрения playbook

  • Назначен владелец и резервный ответственный.
  • Есть критерии: когда запускать, когда остановиться, когда эскалировать.
  • Все команды и ссылки проверены на staging или безопасном примере.
  • После применения остается audit trail: кто, что и почему сделал.

Хороший playbook уменьшает время реакции и снижает риск хаотичных правок в production. После каждого инцидента его стоит обновлять по фактическому postmortem.

  • Все playbooks — открыть связанный материал для проверки контекста.
  • Диагностика — открыть связанный материал для проверки контекста.
  • Наблюдаемость — открыть связанный материал для проверки контекста.
  • Production readiness — открыть связанный материал для проверки контекста.

FAQ

Можно ли сразу удалить старые executions?

Не стоит без backup и понимания retention. Сначала оцените размер таблиц, требования audit и настройки pruning.

Почему медленная база влияет на workers?

Workers читают и записывают execution data. Если Postgres или disk I/O тормозит, выполнение jobs тоже замедляется.

Что проверить первым?

Resources, connections, locks, long queries, размер execution tables и наличие backup/maintenance задач в момент инцидента.

Мини-чеклист перед публикацией

  • страница отвечает на один конкретный интент и не повторяет соседний шаблон
  • в тексте есть уникальные сущности, поля, статусы и проверки для темы
  • JSON-LD содержит непустой description, image, FAQPage и breadcrumb
  • в LLM-блоке дан короткий ответ без маркетинговой воды
  • после правки обновлены search_index.json, llms.txt и sitemap lastmod