Изображение докера neo4j, кажется, идет спать - PullRequest
0 голосов
/ 08 июня 2018

Кажется, есть проблема с производительностью запросов при использовании образа doo neo4j в сочетании с php-клиентом graphaware на https://github.com/graphaware/neo4j-php-client, и я даже не уверен, что это нормальное / предполагаемое поведение.

Настройка:

  • самое последнее изображение докера neo4j
  • http api, запрашивающее neo4j через https://github.com/graphaware/neo4j-php-client и использующее протокол http вместо болта (болтовое соединение оказалось ненадежным)
  • все вызовы POST
  • все на одной машине

Проблема в том, что после 30 минут отсутствия запроса API первый запрос действительнодолго и работает в течение 5 секунд (настраивается в клиенте графического ПО).Кажется, что neo4j нужно проснуться / прогреться.После этого запросы выполняются очень быстро (~ 100 мс).Теперь даже в производстве не хватает звонков, чтобы neo4j все время просыпался.В целом запросы довольно сложные.

Это нормальное поведение?Если это так, существуют ли общие стратегии для решения этой проблемы вместо периодических вызовов API?

1 Ответ

0 голосов
/ 08 июня 2018

Да, это нормально для Neo4j.Кэши Neo4j недавно коснулись узлов / ребер, чтобы сделать часто просматриваемые узлы более дешевыми для запроса.Он очищает этот кеш через некоторое время, чтобы сэкономить память.

Вот документация Neo4j о том, как «прогреть» кеш, чтобы предотвратить проблему, однако, если у вас довольно холодный сервер (т. Е. Нечастые запросы), вам нужно будет прогреть его, прежде чем делать интенсивныйзапрос, или вы всегда будете страдать, что стоимость холодного запуска.

https://neo4j.com/developer/kb/warm-the-cache-to-improve-performance-from-cold-start/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...