Доброе время суток Предыстроия: я собрал Telegram бота, закинул его на хостинг, подключил прием запросов через webhook. В самом боте использую подключение к БД через mysqli, а для отправки сообщений в Telegram использую file_get_contents. Первое время все работало довольно шустро, однако со временем работы у бота появился небольшей пинг при использовании. Нагрузка на сервер не возрастала, количество соединений к БД тоже. После чего я предположил что дело в последовательной обработке запросов Telegram (так как базе надо немножко подумать, а потом дать ответ, очередь начала накапливать это ожидание ответа). После чего мне пришла мысль про асинхронную обработку запросов Вопрос: как лучше реализовать асинхронную обработку? или же она мне не нужна и есть решения по лучше? подскажите как привольнее сделать или в какую сторону двигаться для ускорения ответов сервера. Заранее благодарю
Сначала все же выясни откуда задержка... и что в твоем понимании асинхронность обработки? ИМХО ... тормоза связаны с самим Телеграмом..... была такая же фигня как на нее повлиять - хз.... если только свой север поднимать телеговский
ибо нефиг в каждой команде у бота в теле функции или где-то там еще делать по 100500+ подключений mysqli
Не могли бы подсказать какие то способы для этого? как и чем лучше протестировать? Тут я немного намудрил, закралась мысль что запросы с webhook(а) обрабатываются последовательно (и пока первый не обработан второй обрабатываться не начнет) Были похожие проблемы, прямо долгая задержка, решил данный вопрос взяв сервер гео Германии Такой фигней я не страдаю. Обычно подключаю 1 раз в начале, а когда нужно взаимодействовать с базой ссылаюсь на подключение с переменной
ведите лог... например типа 13:55:45 - start script 13:55:46 - connect mysql 13:55:48 - start execute SQL 13:56:48 - end execute SQL Тут станет понятно что затык в запросе.... или например - послали команду боту 13:55:43 а в логах видите что начало исполнения скрипта сильно дальше по времени - это значит что-то с сервером тг