MySQL медленное соединение
Я запускаю приложение laravel, которое находится на отдельном сервере, чем моя база данных MySQL.
Если я запускаю запрос на сервере Mysql, то для его возврата требуется около 0,00 - 0,01 секунды. Однако, когда я записываю время от начала запроса до конца, требуется.3secs. Весь вызов API занимает от 800 до 1000 мс.
Я изменил my.cnf на skip-name-resolution, у меня включен кеш запросов, я использую IP, а не имя домена для соединения.
Я не уверен, что еще попробовать. Это очень простой RestAPI с простыми запросами и без сложностей, а самая большая таблица в базе данных имеет 9000 строк. Я не думаю, что это проблема с базой данных, а проблема с подключением.
Процессор только когда-либо использует 1%, и есть много памяти.
Какие уловки мне не хватает?
1 ответ
Я понял, что низкая производительность была из-за того, что мои серверы находились в разных регионах / дата-центрах.
После выполнения traceroute это заняло в среднем 40 секунд, и было добавлено 3 запроса на каждую транзакцию.
Я создаю новый сервер в том же регионе, и теперь он намного быстрее с типичным ответом между 150-200 мс.