Что лучше по производительности?keep-alive соединение для получения ресурсов с того же сервера или получения ресурсов из общедоступного CDN.
Редактировать 1:
- Я имею в виду под производительностью = загрузка страницывремя
Я сравниваю эти 2 сценария, чтобы найти, что быстрее при загрузке страницы:
1 - Если я обслуживаю HTML и JavaScript с одного (моего) сервера.Это выиграет от поддержания соединения, что сократит количество рукопожатий TCP / TLS на разных серверах.
2 - Если я использую CDN для файлов javascript, это будет выгодно от преимуществ CDN, но также потребует несколькихTCP-соединения с различными серверами для рукопожатия.
Редактировать 2:
См. Ниже изображения из книги " Высокопроизводительная сеть браузера"Автор: ИЛЬЯ ГРИГОРИК"
Следующие 2 изображения объясняют запрос HTML с моего сервера и CSS с другого сервера.Поддержание активности не будет преимуществом, так как необходимо 2 запроса от разных серверов, что увеличит время для TCP-рукопожатий и медленного запуска.
Это изображение ниже для показа HTML и CSS с одного и того же сервера с использованием keep alive
Сравнение времени загрузки:
1- Мой сервер + CDN = 284 мс
2- Только мой сервер + поддерживать активность = 228 мс
Разница между этими значениями составляет 56 мс, необходимые для установления связи TCPСервер CDN.
Кроме того, если я добавлю конвейерный запрос к одному серверу, это увеличит скорость страницы до 172 мс.