У меня есть несколько серверов в США, Django + MySQL. Все работает нормально, но когда я настроил сервер в Азии, я столкнулся с очень странной проблемой. В принципе, migrate --list
или shell
работают нормально, несмотря на небольшое отставание. Но когда я пытаюсь загрузить некоторые страницы, которые интенсивно используют БД, я получаю 502, и работник uWSGI умирает. После того как я увеличил значение времени ожидания на nGinx, страницы начали загружаться через 40 секунд после запроса. В течение этих 40 секунд браузер просто застрял на connecting to ...
. Примерно через 40 секунд страница отображается очень хорошо, и процесс идет довольно быстро, как и должно быть.
Я вроде понял, что это может быть задержкой, так как происходит передача данных, кроме запросов. Но при пинге хоста базы данных задержка практически отсутствует. Когда я проверяю соединения MySQL, соединение с сервером в Азии спит целых 40 секунд, а затем появляются дополнительные соединения из ниоткуда, и страница загружается.
Конфигурация сервера точно такая же. Мне интересно, действительно ли это местоположение базы данных или мне нужно изменить конфиги.
Но когда я запускаю runserver
, эффект тот же. Поэтому я сомневаюсь, что что-то не так с настройками nGinx или uWSGI.