В настоящий момент у меня есть сервер базы данных, на котором мне нужно одновременно выполнять около 200 запросов через веб-сокет (необходимо для веб-сокета). В то же время круглосуточно работает процесс, который добавляет данные в эту базу данных.
В дополнение к этому важному процессу, намерение состоит в том, чтобы регулярно отправлять запросы в базу данных для извлечения данных из разных таблиц.
Проблема: мне кажется, что Mysql ждет запросов. Поэтому он запускает их поочередно, в то время как я хочу, чтобы они работали асинхронно, чтобы поддерживать скорость. Я уже искал где-то в Google об уровне изоляции транзакции, но мне это не совсем понятно ...
У меня также есть идея, что, поскольку мы выполняем эти 200 запросов каждую секунду, он выбрасывает меня из соединения. Через некоторое время, иногда через полчаса, а иногда через 5 минут, я получаю сообщения об ошибках:
Database Error: Error: connect ETIMEDOUT
& Host '**. ***. **. **' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' "
. Теперь последнее легко решить, выполнив FLUSH HOSTS
в терминале mysql, но это не кажется правильным решением.
Итак, мой вопрос: есть ли что-нибудь в сообщении об ошибке, которое я получаю что делать с этими запросами, ожидающими, что "очередь" станет слишком длинной? Или что-то еще происходит?
Информация о базе данных:
- Тип сервера: Mysql
- Работает на Ubuntu
(Если потребуется дополнительная информация, добавлю позже)