Как защитить БД при использовании библиотеки npm mysql?

0

Если в то же время есть много запросов сервера db, говорящих, что QPS равно 100, а сервер БД имеет ограничение на соединение 1000, поэтому, если запросы являются медленными запросами, которые в конечном итоге получат inactivity timeout, в это время то, что shoud я сделать, чтобы npm package mysql не создавал новое соединение?

Поскольку npm package mysql удалит объект соединения из пула объектов соединения с фатальной ошибкой, такой как inactivity timeout и оставьте место для создания нового соединения.

Теги:
database
performance
database-connection

1 ответ

0

Для высокой нагрузки вы должны использовать пулы соединений с постоянными соединениями. Обычно они доступны в сборщиках запросов высотного уровня и ORM, таких как knex и sequelize.

Но если вы не хотите их использовать, вы также можете попробовать собственные пулы.

  • 0
    Спасибо за ответы. Но пулы mysq удалят соединение с фатальной ошибкой и создадут новое соединение, если запросы продолжатся, что может использовать лимит соединения сервера db
  • 0
    Вы должны настроить максимальное количество подключений, максимальное количество пулов и максимальное время ожидания подключения, чтобы избежать достижения ограничения подключения. Вы также можете уничтожить соединения, которые работают слишком долго, вручную. Нет волшебства, которое каким-то образом решит эту проблему по-другому.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню