у меня есть t2.nano
экземпляр, работающий в зоне доступности Северной Вирджинии (us-east-1
) почти на 1 год.
В надежде уменьшить задержку я только что развернул созданный AMI этого экземпляра в t3.micro
экземпляр в Сингапуре (ap-southeast-1
) зона. Есть RDS (AZ:us-east-1
), прикрепленный к серверу Apache экземпляра.
Но t3.micro
(в Сингапуре) реагирует медленнее, чем старые t2.nano
(в Северной Вирджинии, США) из более чем в 4 раза более удаленных мест (Дакка, Бангладеш).
В доказательство медлительности Google Pagespeed сайт оценивает старый и новый сервер как 100 и 71 соответственно, а Pingdom оценивает 2 сервера как 100 и 81 соответственно & GTmetrix оценивает их как 100 и 79 соответственно. Скриншот из сравнения двух сайтов GTmetrix:
РЕДАКТИРОВАТЬ: Ранги были ошибочно сгенерированы с использованием несбалансированных запросов, но на следующем снимке экрана теперь показано, что время ожидания действительно долгое. t3.micro
пример:
На этом сервере размещено множество других REST API (разработанных с использованием Laravel
framework как для веб-интерфейса, так и для мобильных приложений), все из которых отражают длительные задержки.
Я больше не использовал конфигурацию в этой системе, и все другие конфигурации (группа безопасности, AMI, IAM, RDS, S3 и т. Д.) Одинаковы для обоих экземпляров.
Я понимаю, что соединение RDS может иметь задержку на несколько миллисекунд (и, возможно, некоторую задержку из-за какого-либо кеширования?), Но в среднем задержка более 10 секунд кажется недопустимой.
В чем может возникнуть такая разница и что нужно делать больше, чтобы этого избежать?
Эти два экземпляра обслуживают следующие страницы: не то же самое.
Общий размер страницы В 150 раз больше (386 КБ против 2,8 КБ), а количество запросов равно В 8 раз выше (17 против 2).
Прежде всего выровняйте две настройки чтобы они обслуживали ваши страницы одинаково, чем мы можем посмотреть на фактическую производительность экземпляра.
Также не помогает наличие БД в другом регионе - типичный веб-сайт может делать довольно много запросов к БД, и если каждый запрос добавляет задержку в полсекунды или около того, это быстро складывается.
И, наконец, экземпляры T2 и T3 используют так называемые Кредиты ЦП - как только они истощаются, производительность быстро падает. Возможно, вы выполнили тестирование производительности сразу после, например, установка какого-либо программного обеспечения или иное использование кредитов. В этом случае производительность будет действительно плохой. Дайте ему немного времени, чтобы накопить больше кредитов, и повторите попытку.
Надеюсь, это поможет :)