Моя рабочая нагрузка медленная
Если вы обнаружите, что ваша рабочая нагрузка в DuckDB медленная, мы рекомендуем выполнить следующие проверки. Более подробные инструкции приведены по каждой точке.
- У вас достаточно оперативной памяти? DuckDB работает лучше всего, если у вас 5-10 ГБ оперативной памяти на каждый процессорный ядро.
- Вы используете быстрый диск? Диски, подключенные к сети (например, облачный блочный хранилище), замедляют рабочие нагрузки с интенсивными операциями записи и объемом, превышающим объем оперативной памяти. Для запуска таких рабочих нагрузок в облачных средах рекомендуется использовать хранилище, подключенное к экземпляру (NVMe SSD).
- Вы используете индексы или ограничения (ключ первичности, уникальность и т. д.)? Если возможно, попробуйте отключить их, что ускоряет загрузку и обновление производительность.
- Вы используете правильные типы данных? Например, используйте
TIMESTAMPдля кодирования значений даты и времени. - Вы читаете данные из файлов Parquet? Если да, имеют ли они размер блоков строк между 100k и 1M и размер файлов между 100 МБ и 10 ГБ?
- План запроса выглядит правильно? Изучите его с помощью
EXPLAIN. - Рабочая нагрузка выполняется параллельно? Используйте
htopили диспетчер задач операционной системы для наблюдения за этим. - DuckDB использует слишком много потоков? Попробуйте ограничить количество потоков.
Вы знаете о других распространенных проблемах? Если да, пожалуйста, нажмите на ссылку Сообщить о проблеме с контентом ниже и опишите их вместе с решениями.
© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/guides/performance/my_workload_is_slow.html