Начальное соединение
Вы обнаружите, что начальное соединение включает в себя согласование SSL, поэтому, поскольку уровень рукопожатия высок, это хороший индикатор того, что что-то не так с тем, как вы настроили SSL.
Google Chrome: понимание сроков ресурсов
Время, необходимое для установления соединения, включая TCP-рукопожатия / повторные попытки и согласование SSL.
SSL рукопожатие и TTFB
У вас есть две основные проблемы: время, потраченное на завершение рукопожатия SSL, и серверы, ожидающие TTFB (время до первого байта).
- TTFB: 4079 мс (должно быть меньше 1000 мс)
- SSL рукопожатие 11830 мс (должно быть меньше 100 мс)
Следует также отметить, что при тестировании с устройствами 3G / 4G это может привести к увеличению длины первых байтов из-за того, что сигналы телефона различаются по силе ... это может вызывать периодические проблемы с подключением и различные задержки.
Шаг 1: Исследование проблемы SSL
Совершенно очевидно, что у вас серьезная проблема с SSL и, скорее всего, из-за неправильной установки OpenSSL или аналогичной. Начните с тестирования вашего SSL-сертификата с использованием SSL Labs, а затем исправьте любые проблемы или предупреждения, которые он предлагает.
Если SSL все еще работает медленно, то, скорее всего, у вас перегруженный сервер или сбой сервера. Если позже, вам нужно будет попытаться определить причину ошибки. Используйте стек сбоев сервера, если вам потребуется дополнительная помощь в этом вопросе, один пользователь сообщил, что создание новых ключей решило проблему медленного SSL, с которой он столкнулся, которая может иметь или не иметь отношение к делу.
Балансировщики нагрузки могут помочь, если это проблема с ресурсом сервера.
Шаг 2: Исследование TTFB
После того, как вы исследовали, решили проблему SSL и у вас все еще есть увеличенный TTFB, тогда вы должны протестировать свой сервер, убедившись, что на нем достаточно ресурсов.
Время первого байта зависит, но не ограничивается:
- Расстояние от пользователя до дата-центра, на котором размещен сервер, может увеличить TTFB
- Некэшированный GZIP может увеличить TTFB
- Перегруженные сети могут увеличить TTFB
- Перегруженные серверы могут увеличить TTFB
Иногда увеличение ЦП и ОЗУ не всегда лучший вариант. Иногда лучше ввести балансировщик нагрузки, потому что это не только означает, что вы можете легко запускать несколько серверов одновременно, но и фактически разгружает кеширование и запросы SSL. Некоторые другие преимущества включают в себя:
ИСТОЧНИК
- Кэширование: устройство может хранить содержимое, которое не изменяется (например, изображения), и предоставлять его напрямую клиенту без отправки трафика на веб-сервер.
- Сжатие: уменьшает объем трафика для объектов HTTP путем сжатия файлов перед их отправкой.
- Разгрузка SSL: обработка трафика SSL требует нагрузки на ЦП веб-сервера, поэтому балансировщик нагрузки может выполнить эту обработку вместо этого.
- Высокая доступность: в случае отказа одного можно использовать два устройства балансировки нагрузки.
Советы по снижению вашего TTFB:
- Убедитесь, что ваша база данных находится в той же сети или в качественном облаке SQL .
- Убедитесь , что ваша база данных считываются из памяти и НИКОГДА SWAP - файл!
- Используйте сеть доставки контента , она разгружает запросы сервера и задачи сжатия.
- Используйте Varnish Cache для уменьшения нагрузки на базу данных путем кэширования страниц.
- Оценивайте свои статические файлы на жестком диске с помощью HDParm
- Оцените ваш сервер с помощью инструмента тестирования Apache HTTP-сервера
- Оцените веб-сайт с 10 проходами с несколькими удаленными местоположениями, используя WebPageTest