- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Идем на пингдомтулс, делаем замер скорости загрузки страницы, видим, что она разбита на несколько этапов. Удивляемся, проверяем разные сайты, здесь скриншоты слева направо
сайт на самописе, вордпресс и хтмл (инклюды + JS).
1-я строка везде это запрос DNS.. А вот остальное как и на что делится, я понять не могу. На одном сайте была ступенька задержка при ожидании загрузки счетчика liru, я его перенес в подвал, более его не ждут, но ступенька образовалась в другом месте, этот сайт хтмл, последний на скрине.
Вопросы классические: WTF и что можно ли это как-то победить, чтобы, например отгружались изображения и скрипты не пачками, а одновременно. В канал там не упирается, по крайней мере на двух последних скринах точно, в производительность сервера тоже.
WTF и что можно ли это как-то победить, чтобы, например отгружались изображения и скрипты не пачками, а одновременно.
Ты упускаешь один момент: "одновременность" кроме всего прочего зависит от одновременности запросов ЮА.
Ну и как бэ реальной одновременности не существует. Все запросы делаются по мере получения ответов на предыдущие запросы. А вот ко-во запросов (и полученных ответов) зависит от конкретного ЮА (в старой опере хорошо видно было - это настраиваемо).
получили днс, получили заголовок и html (там хтмл-я копейки байты) с включениями, начинаем подтягивать включения (картинки, скрипты), получаем размеры страниц, начинаем разворачивать верстку с учетом размера картинок..
От чего зависит очередность?
Вот есть, допустим, тестовая страница, без скриптов, текст с разметкой + несколько изображений. От чего там зависит последовательность получения контента от сервера?
Зы сжатие у себя на хостинге не могу получить. Хотелось бы попробовать сжимать все на лету и посмотреть, как это отобразится на скорости.
Все запросы делаются по мере получения ответов на предыдущие запросы.
Но на графике полная фигня.. ладно бы скрипт запросил что-то или картинку по очереди хтмл попросил подтянуть - начало подтягиваться. А то я не могу проследит очередность. Почему эта картинка лезет в первой пачке, а эту кто-то решил (сервер или юзерагент) получить во второй пачке.
От чего зависит очередность?
От расположения в коде. Но там есть важный нюанс: не все браузеры отправят запрос пока не получат блок полностью. Типа защита от разваливания страницы. (как яркий пример: с таблицами не всё гладко\просто. Было во всяком случае. Как сейчас ЮА парсят tr\td - я давненько не интересовался, но думаю ничего кардинально не изменилось)
Вот старой опере (и опере-мини тоже вроде бы) как раз на это было плевать, за счёт чего она и славилась быстротой получения контента (один из факторов её скорости): правильная отрисовка и выравнивание страницы происходила уже по мере получения остального.
Чтобы запараллелить процессы, можно разнести контент по поддоменам.
Например
http://img.site.ru/тут_картинки
http://css.site.ru/тут_стили
http://js.site.ru/тут_скрипты
и т.д.
В некоторых случаях это немного увеличит скорость загрузки. И немного увеличит нагрузку на сервер.
От расположения в коде. Но там есть важный нюанс: не все браузеры отправят запрос пока не получат блок полностью. Типа защита от разваливания страницы.
Блок - это порция контента из картинок и скриптов? От чего зависит этот блок, кто решает что попадает в блок, а что нет, Юзерагент?
Как сейчас ЮА парсят tr\td - я давненько не интересовался, но думаю ничего кардинально не изменилось
у меня мобильный провайдер. Если понаблюдать за загрузкой страниц с таблицами и картинками в них, видно, что разворачивается таблицы по ширине и высоте ячеек еще до того, как начинают показываться картинки. Как я понимаю, в начале получаются какие-то заголовки от файлов изображений, где указан размер.
---------- Добавлено 08.11.2013 в 20:10 ----------
;12320731']Чтобы запараллелить процессы, можно разнести контент по поддоменам.
==============
В некоторых случаях это немного увеличит скорость загрузки. И немного увеличит нагрузку на сервер.
обращение на другой домен не повлечет за собой еще одно обращение к DNS? У меня на графиках это сжирает весьма приличный % от загрузки страниц.
обращение на другой домен не повлечет за собой еще одно обращение к DNS? У меня на графиках это сжирает весьма приличный % от загрузки страниц.
Повлечёт, но во-первых эти запросы кэшируются, а во-вторых, если запросы к DNS отжирают приличный %, это значит, что что-то не в порядке или с вашим DNS (обслуживающим сайт) или с DNS вашего интернет-провайдера (откуда вы смотрите).
Зы сжатие у себя на хостинге не могу получить. Хотелось бы попробовать сжимать все на лету и посмотреть, как это отобразится на скорости.
.
Сожмите с помощью PHP, у меня тоже хостинг не позволяет, PHP отлично справляется. Если движок WP , достигается добавлением одной строчки в файл
---------- Добавлено 08.11.2013 в 23:42 ----------
От расположения в коде. Но там есть важный нюанс: не все браузеры отправят запрос пока не получат блок полностью. Типа защита от разваливания страницы.
От расположения в коде, чтобы загрузка и особенно отображение страницы в браузере шло последовательно без ожиданий: верстка делается отдельными блоками: "составленными друг на друга блоками" . В большинстве же случаев на сайтах вложенность блоков в другдруга существенная.
= Блок в данном случае - див, таблица...
= получение и разворачивать, по сути два разных процесса. Браузер в зависимости от верстки, может начать прорисовывать страницу с получением файлов, а может начать только с получением всех файлов страницы
---------- Добавлено 08.11.2013 в 23:48 ----------
Идем на пингдомтулс, делаем замер скорости загрузки страницы, видим, что она разбита на несколько этапов. Удивляемся, проверяем разные сайты, здесь скриншоты слева направо
можно ли это как-то победить, чтобы, например отгружались изображения и скрипты не пачками, а одновременно. .
= этапы: параллельных загрузок файлов с сервера может быть не более 5ти, насколько помню
= параллельностью загрузки с других адресов -> img.domen, или domen2
обращение на другой домен не повлечет за собой еще одно обращение к DNS? У меня на графиках это сжирает весьма приличный % от загрузки страниц.
Надо смотреть баланс между много подключений и выигрышем в параллености загрузки
- В любом случае отправляем файлы дизайна в паральнуюю загрузку, с другого сервера, лучше CDN, на данный момент для этого можно пользоваться гугловским сервером неплохо
Файлы дизайна: Загружается вначале файл CSS, и только после его загрузки, файлы картинок прописанные в файле CSS -> однозначно не с доменного хоста, чтобы не мешались
Файлы скриптов туда же.
Обычно дизайнеры верстальщики такие умельцы...наваяют 10ток файлов css - все собрать в один файл. Скрипты тоже по возможности в минимум файлов - надробят мелких скриптиков и насоздают пачку файлов
;12320962']Повлечёт, но во-первых эти запросы кэшируются, а во-вторых, если запросы к DNS отжирают приличный %, это значит, что что-то не в порядке или с вашим DNS (обслуживающим сайт) или с DNS вашего интернет-провайдера (откуда вы смотрите).
я измеряю скорость со стороннего ресурса
На графике видно (самая верхняя строчка на всех трех скринах), что и сколько примерно занимает. Скорость работы сервера в принципе быстрая, поэтому и запрос ДНС становится видно по времени, они становятся соизмеримыми с временем ответа сервера. Чтобы было примерно понятен масштаб, на первом скрине (самопис) страница открывается ~2.5 сек. На втором 1.2 сек, на третьем менее 1 сек. Во всех случаях NS-серверы крупных регистраторов.
---------- Добавлено 08.11.2013 в 21:46 ----------
Сожмите с помощью PHP, у меня тоже хостинг не позволяет, PHP отлично справляется. Если движок WP , достигается добавлением одной строчки в файл
Бросите в меня этой строчкой и местом куда ее нужно вставить? Я хочу попробовать сжимать данные и посмотреть, как это будет влиять на скорость открытия страницы.
Жмется только код страницы или весь поток, включая css?
От расположения в коде
= этапы: параллельных загрузок файлов с сервера может быть не более 5ти, насколько помню
= параллельностью загрузки с других адресов -> img.domen, или domen2
Если на графики посмотреть, можно увидеть, что "порции" содержат точно больше 5 файлов.
Надо смотреть баланс между много подключений и выигрышем в параллености загрузки
- В любом случае отправляем файлы дизайна в паральнуюю загрузку, с другого сервера, лучше CDN, на данный момент для этого можно пользоваться гугловским сервером неплохо.
гугл не везде быстродоступен, был пример с гуглом, где был расположен шрифт, не угадаешь, у одних быстро, у других ждет, отказался, стал и шрифты держать у себя и скрипты.
Файлы дизайна: Загружается вначале файл CSS, и только после его загрузки, файлы картинок прописанные в файле CSS -> однозначно не с доменного хоста, чтобы не мешались
Файлы скриптов туда же.
в примере на хтмл естественно сначала объявляется css, где описана бОльшая часть картинок дизайна, потом скрипты, потом уже из тела документа запрашиваются картинки. Так, по идее, на всех трех примерах. Это правильно?
Обычно дизайнеры верстальщики такие умельцы...наваяют 10ток файлов css - все собрать в один файл. Скрипты тоже по возможности в минимум файлов - надробят мелких скриптиков и насоздают пачку файлов
в третьем примере всего 3 файла CSS:
<link rel="stylesheet" href="css/reset.css" type="text/css" media="all">
<link rel="stylesheet" href="css/layout.css" type="text/css" media="all">
<link rel="stylesheet" href="css/style.css" type="text/css" media="all">
+ CSS для IE ie6.css
Это в на самом простом сайте (хтмл + SSI +JS)
Шаблон перепиленный фриварный, добалены пару скриптов, переделана расцветка, картинки ну и по мелочи.
А вот в первом там огромное количество мелких сктиптиков и скриптов, у многих еще и свои css, все они объявляются в заголовке документа.
я измеряю скорость со стороннего ресурса
Может быть, ресурс далеко от вашего сайта? :)
Днс-ы и сайты рекомендуется держать ближе к целевой аудитории, чтобы минимизировать задержки в сети.
2 сайта хостятся в России, 1 в Германии. Сможете сказать какой где, глядя на графики?
Проверка из Амстердама (Нидерланды, Европа).
Первый и третий сайты - сервер в России. Второй - в Германии.
Пинги до места неплохие.
Кстати, вот давний пример того, что пинг Москва-Москва (Корбина -мажордомо), может быть больше чем Москва - Нюрнберг (Корбина - дц хетзнера, вроде там кейвеб.де).
Я не парюсь самой скоростью открытия сайтов в браузере, хотя это конечно цель, да, но сейчас мне интересно, что можно еще сделать.