Перейти к основному содержимому

Устранение неполадок

Этот документ поможет вам устранить основные проблемы с производительностью и использованием ресурсов при работе с seq-db.

Проблема: Высокое потребление памяти

Если вы заметили, что seq-db потребляет слишком много оперативной памяти, попробуйте следующие действия:

Снизьте размер кэша

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

Настройте параметры среды выполнения Go

Среда Go использует сборщик мусора (GC), чтобы освобождать память, занятую неиспользуемыми объектами. Сборка мусора запускается, когда размер кучи вырастает в два раза по сравнению с прошлым запуском. Вы можете настроить поведение сборщика мусора с помощью следующих переменных:

  • GOGC — определяет целевой размер памяти после каждой сборки мусора. Например, если для seq-db (учитывая кэш, внутренние буферы и другие ресурсы) обычно требуется 1 GiB памяти, значение GOGC=100 (по умолчанию) допускает увеличение памяти до 2 GiB. Подробнее о GOGC смотрите здесь.

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

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

Для контроля за нагрузкой, создаваемой сборщиком мусора, полезно отслеживать метрику seq-db "The fraction of CPU time used by the GC, %" (todo: график не работает). Рекомендуется, чтобы сборка мусора не занимала более 5% процессорного времени.

Уменьшите значение параметра frac-size

Параметр frac-size определяет максимальный объем памяти, используемой seq-db для хранения данных перед завершением активной фракции. Снижение этого параметра помогает сократить потребление памяти, но может увеличить время поиска. Подробности о параметре frac-size доступны в документации по настройкам.

Проблема: Медленный поиск

todo

Проблема: Медленная загрузка данных

todo