Надежность с Neo4J. Есть ли способ настроить neo4j, чтобы он не вылетал?

Я оцениваю neo4j для использования в производстве. Во время моей игры с neo4j он много раз падал (исключения OutOfMemory) из-за неоптимизированных запросов.

Я так понимаю, что возможно не хватает памяти. В других базах данных, которые я использовал, сервер не просто дает сбой, а вместо этого замедляет или завершает определенный запрос/транзакцию. С другой стороны, Neo4j просто выключается.

Есть ли способ настроить neo4j, чтобы он не вылетал?


Вот ответ, который я получил от команды neo4j:

вы можете настроить несколько параметров, которые мы, например. также включили в песочница: транзакций и глобальной памяти, ограничение глобальной памяти должно составлять около 70% от сконфигурированной кучи, и если вы знаете, что параллелизм ваших заявлений, вы также можете настроить ограничение памяти для каждого оператора, если у вас нет запросов с выбросами тайм-ауты транзакций, ограничивать время выполнения запросов не более X секунд и прерывать их после Эти настройки должны быть по умолчанию для новых установок, но к сожалению еще нет.

Источник

Могу я спросить вас, насколько велик набор данных (узлы и отношения)?

KWriter 14.02.2023 20:06

@KWriter размер не имеет значения (это означает, что причина сбоя не имеет значения). Однако он разбился при выполнении 10 000 операций MERGE (к которым я обращался). Вопрос в том, как предотвратить сбои. Эти запросы могут выполняться в потоке и не должны вызывать сбой всего сервера. Вопрос в том, как предотвратить сбои при нехватке памяти

Y C 14.02.2023 20:17
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Калькулятор CGPA 12 для семестра
Калькулятор CGPA 12 для семестра
Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие...
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц....
Как собрать/развернуть часть вашего приложения Angular
Как собрать/развернуть часть вашего приложения Angular
Вам когда-нибудь требовалось собрать/развернуть только часть вашего приложения Angular или, возможно, скрыть некоторые маршруты в определенных средах?
Запуск PHP на IIS без использования программы установки веб-платформы
Запуск PHP на IIS без использования программы установки веб-платформы
Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем...
Оптимизация React Context шаг за шагом в 4 примерах
Оптимизация React Context шаг за шагом в 4 примерах
При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после...
0
2
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы захотите контролировать и ограничить использование памяти транзакций, см.: https://neo4j.com/docs/operations-manual/current/performance/memory-configuration/#memory-configuration-limit-transaction-memory

Другие вопросы по теме