Экспорт Про

Действие: экспорт записей ProStandard Edition+

Введение

Плагин «Экспорт Про» предоставляет расширенные возможности поверх стандартной функции экспорта.

Установка

Этот плагин зависит от плагина «Менеджер асинхронных задач». Перед использованием нужно включить плагин «Менеджер асинхронных задач».

Расширения функций

  • Поддерживает асинхронные операции экспорта, выполняемые в отдельном потоке, чтобы экспортировать большие объёмы данных.
  • Поддерживает экспорт вложений.

Руководство пользователя

Настройка режима экспорта

20251029172829

20251029172914

В кнопке экспорта вы можете настроить режим экспорта. Доступны три опциональных режима:

  • Авто: режим определяется объёмом данных. Если число записей меньше 1000 (или меньше 100 для экспорта вложений), используется синхронный экспорт. Если больше 1000 (или 100 для экспорта вложений) — используется асинхронный экспорт.
  • Синхронный: используется синхронный экспорт, который выполняется в основном потоке. Он подходит для небольших объёмов данных. Экспорт больших объёмов в синхронном режиме может привести к блокировке или зависанию системы и невозможности обрабатывать другие запросы пользователей.
  • Асинхронный: используется асинхронный экспорт, который выполняется в отдельном фоновом потоке и не блокирует текущее выполнение системы.

Асинхронный экспорт

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

20251029173028

По завершении экспорта вы сможете скачать экспортированный файл из списка задач экспорта.

Параллельный экспорт

Большое количество одновременных задач экспорта может повлиять на конфигурацию сервера, из-за чего система будет отвечать медленнее. Поэтому разработчикам систем рекомендуется настроить максимальное число одновременных задач экспорта (по умолчанию — 3). Если количество одновременных задач превысит заданный лимит, новые задачи будут поставлены в очередь.

20250505171706

Метод настройки конкурентности: переменная окружения ASYNC_TASK_MAX_CONCURRENCY=concurrency_count.

На основе комплексного тестирования для разных конфигураций и сложности данных рекомендуемые значения конкурентности:

  • Для процессора с 2 ядрами: 3
  • Для процессора с 4 ядрами: 5

О производительности

Если процесс экспорта выполняется аномально медленно (см. таблицу ниже), это может быть проблема производительности, связанная со структурой коллекции.

Характеристики данныхТип индексаОбъём данныхДлительность экспорта
Нет полей связейПервичный ключ / уникальное ограничение1 миллион3-6 минут
Нет полей связейОбычный индекс1 миллион6-10 минут
Нет полей связейКомпозитный индекс (неуникальный)1 миллион30 минут
Поля связей
(один-к-одному, один-ко-многим,
многие-к-одному, многие-ко-многим)
Первичный ключ / уникальное ограничение500 00015-30 минут

Чтобы обеспечить эффективный экспорт, рекомендуем:

  1. Коллекция должна соответствовать следующим условиям:
Тип условияТребуемое условиеПримечания
Структура коллекции (должно выполняться хотя бы одно)Есть первичный ключ
Есть уникальное ограничение
Есть индекс (уникальный, обычный, композитный)
Приоритет: первичный ключ > уникальное ограничение > индекс
Характеристики полейПервичный ключ / уникальное ограничение / индекс (хотя бы один) должен иметь сортируемые характеристики, например: автонумерация идентификатора, идентификатор Snowflake, UUID v1, временная метка, число и т. п.
(Примечание: несортируемые поля, например UUID v3/v4/v5, обычные строки и т. п., могут повлиять на производительность)
Нет
  1. Уменьшайте количество полей, которые не нужно экспортировать, особенно поля связей (производственные проблемы, вызванные полями связей, всё ещё оптимизируются).

20250506215940

  1. Если экспорт всё равно остаётся медленным после выполнения условий выше, можно проанализировать логи или передать обратную связь официальной команде.

20250505182122