Size: a a a

Sequelize - community (eng/ru)

2020 May 24

p

pavelmartinez in Sequelize - community (eng/ru)
Может быть Sequelize что-то копит и кладёт скрипт, я уже неделю ищу проблему. У меня в коде рекурсий нет 100  %. И когда я уменьшил
max_connections
, RAM стала съедаться гораздо быстрее.
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Got timeout reading communication packets - ошибка при краше скрипта (или во время)
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
pavelmartinez
Или Sequelize не подходит для моих нагрузок?
еще раз, sequelize лишь обертка, грубо говоря это просто более умный sql. все что вы пишите, преобразуеться для бд и отправляется ей, в том числе параметры. это аналогично того, если б вы использовали нативный драйвер и сетали те параметры.

попробуйте посмотреть в сторону транзакций.
источник

p

pavelmartinez in Sequelize - community (eng/ru)
У меня ранее использовался findOrCreate для запросов, которые выполняются для каждого сообщения
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
pavelmartinez
Когда max_connections стояло в 2000, скрипт жил ~5 часов, только потом крашился. Сейчас я поставил 30, живет 50 минут
судя по всему вам не хватает для отработки такого количества конекшенов, остальные накапливаются и отлетают из-за таймаута
источник

p

pavelmartinez in Sequelize - community (eng/ru)
pavelmartinez
У меня ранее использовался findOrCreate для запросов, которые выполняются для каждого сообщения
Я заменил его на findOne и Create, если запись не существует. Может быть это лишнее?
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
какие операции вы сейчас делаете
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Каждое сообщение от пользователя: findOne({ where: { user_id: id } })
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Если такого нет, то create
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Также каждое сообщение логирую через create в отдельную базу
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
я бы попробывал увеличить: max_execution_time  и wait_timeout
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Вот у меня от этого и зависит жизнь бота. Я не знаю, как мне правильно связать настройки Pool и MYSQL
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Помоги, пожалуйста
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Я думаю это может решить проблему
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
здесь надо перебирать параметры субд, я думал вам в чате mysql подскажут какие
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Переслано от pavelmartinez
Сейчас у меня такие настройки в mysqld:
max_connections        = 30
max_connect_errors      = 10000
wait_timeout            = 600
interactive_timeout     = 600
net_read_timeout   = 600
net_write_timeout   = 600
max_allowed_packet      = 512M
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Переслано от pavelmartinez
Настройки Pool:
    pool: {
     min: 5,
     max: 10,
     idle: 600000
   },
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Вот при таких параметрах скрипт ложится за 50 минут
источник

p

pavelmartinez in Sequelize - community (eng/ru)
Когда я ставил при таких же параметрах max_connections = 2000, стоял 5-10 часов
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
я понял суть, надо перебирать параметры субд для настройки. у вас ошибка в sql сыпится?
источник