Size: a a a

2019 January 22

AG

Alexey Golda in pro.elixir
Чет долго для запроса в бд
источник

AG

Alexey Golda in pro.elixir
Мильярд записей что ли?
источник

AG

Alex Gonchar in pro.elixir
рекурсивный запрос который тупо цпу жрет
источник

AG

Alex Golubov in pro.elixir
Пробовал, как то, Github API.v4, который тоже на graphql. Если начинаешь запросы посложнее создавать, то Github тоже ругается что для него это не по силам, вот вам и мощь graphql. c запасом на много лет вперед
источник

AG

Alexey Golda in pro.elixir
Ну надо с рекурсией что то делать. Не? Много это короче, кмк 7с
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Рекурсивный запрос кешируется в какой-нибудь графовой БД
источник

AG

Alex Gonchar in pro.elixir
так это graphql так транслируется
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Хотя существует подозрение, что вы где-то продолбались
источник

AG

Alex Gonchar in pro.elixir
идея хипестеров снова провалилась :)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Alex Gonchar
так это graphql так транслируется
Ну у absinthe есть dataloader. Он может всю рекурсию продразвернуть в каких-то пределах
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Но вообще говоря нужно как github - отправлять нафиг на больших запросах.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А то понатыкают резолверов на подполя ... Сталина на вас нет
источник

AK

Alexander Kulikov in pro.elixir
Alexey Golda
Мильярд записей что ли?
да, там слишком большая выгрузка и сложная
источник

AG

Alex Gonchar in pro.elixir
(в режиме оффтопика: тут довелось работать с базой в которую ходит entity framework так там на получение 1 мегабайта данных может перелопатить терабайт таплов :D а потом "что-то у нас база тормозит")
источник

AG

Alex Gonchar in pro.elixir
подозреваю что с graphql нечто сильно подобное происходит
источник

AF

Alexander Fyodorov in pro.elixir
ну как бы базы и без graphql тормозят =)
источник

AF

Alexander Fyodorov in pro.elixir
Alexander Kulikov
Ребята, помогите, использую связку
Elixir (Phoenix) + absinthe как АПИ
Запрос стал тяжелым, работает больше 5 секунд и постоянно на нем связь рвется и вылазит ошибка после этого

[error] Mariaex.Protocol (#PID<0.993.0>) disconnected: (DBConnection.ConnectionError) client #PID<0.1255.0> exited
[error] #PID<0.1253.0> running AresconWeb.Endpoint (connection #PID<0.1252.0>, stream id 1) terminated
Server: 0.0.0.0:4000 (http)
Request: POST /api/graphiql
#PID<0.1255.0> exited
[error] #PID<0.1253.0> running AresconWeb.Endpoint (connection #PID<0.1252.0>, stream id 1) terminated
Server: 0.0.0.0:4000 (http)
Request: POST /api/graphiql
(exit) exited in: Task.await(%Task{owner: #PID<0.1253.0>, pid: #PID<0.1255.0>, ref: #Reference<0.612374490.2114977794.76728>}, 5000)
   ** (EXIT) time out


Я уже не знаю куда копать

Увеличил время в конфиге
config :arescon, AresconWeb.Endpoint,
      http: [port: 4000,
        protocol_options: [max_keepalive: :infinity],
        timeout: 60_000]
источник

AF

Alexander Fyodorov in pro.elixir
включить логирование медленных запросов
источник

AF

Alexander Fyodorov in pro.elixir
и кинуть запросы с explain сюда или в DBA чат
источник

AG

Alexey Golda in pro.elixir
Alexander Kulikov
да, там слишком большая выгрузка и сложная
мне только слово декомпозиция в голову приходит )
источник