Как правильно определить скорость загрузки сайта?

Добрый день.

Часто смотрю на скорость загрузки сайта в различных сервисах. Часто замечаю, что сервисы, такие как (не реклама) mainspy.ru/skorost_zagruzki_sajta и pr-cy.ru/speed_test расходятся с показаниями loadimpact.com.
Доходит до того, что неоднократные повторения в первых двух дает результат, что Сайт1 грузится в несколько раз быстрее Сайта2, а третий сервис показывает наоборот!
Вопрос: в чем разница и какой тест наиболее точный (понимаю, что в третьем сервисе результат агрегированный по миру, но на одной проверке разница была колоссальной!).

62 комментария

avatar
www.webpagetest.org/ вот +- правильные показатели )
так как тест всегда из одной точки + видим что и как грузится

loadimpact больше похож на проверку нагрузки на сервер а не конкретно на сайт все же там проверяется 1 страничка которая зачастую в кеше )
avatar
Все врут! © Доктор Хаус

Реально, все это фантики — смотришь жумлу 3,5с, смотришь modx -3,5 с, смотришь Mostro CMS — 3.5c?! Как?! Ну как может быть такое?

Это получается средняя температура по больнице — морг с 0 и грячительные больные 42.

А посмотрел внимательно — а все зависит от кривизны рук программиста. Фактически нужно смотреть на то, сколько отдает сервер саму страницу — а она где-то 0,2-0,6с. Остальное скрипты, фотки, стили.

Вывод — если тебе не нравится как долго грузится страница — ищи методы оптимизации страницы. Как правило, собака порылась в скриптах javascript. Чтобы клинически долго рендерилась страница — если только ошибки.

Если все более-менее ровно и у вас в браузере нормально показывает — забить.
avatar
Вообще должна быть 0.02 — 0.06 на продакшене
avatar
У меня никогда таких цифр не было. Вот сайт: www.garage-yourself.ru/
Вот что выводится в подвале скрыто от пользователя

<!-- 
0,2444 s - время на запросы к базе данных 
66 - запросов к базе данных
0,1457 s - время на работу PHP скриптов
0,3901 s - общее время на генерацию страницы
database - источник содержимого (база или кэш
-->

Страница не кеширована, кеширован вызов дитто. Это нормальный выход для ево.

А вот в www.webpagetest.org/result/121213_2E_FAD/1/details/
Как видите, страница отдавалась около 0,5 генерировалась. Остальное — скрипты и так далее.
Комментарий отредактирован 2012-12-13 21:12:21 пользователем jean179
avatar
ну я тебе очень сочувствую…
66 запросов на страницу перебор — запросов 10 нормально

и да — выкинь уже свой хостинг на помойку
avatar
Лента новостей, случайные новости, меню, теги = 66 запросов. Пока движок не обновил чтобы все закешировать.

А что с хостингом не так?
avatar
Меню в кеше должно быть, новости тоже в приницпе, но допустим (1), теги — если облако, то(1), если TV, то запрос на каждую новость (10)… в итоге (12)…

Хз… у меня 0.02-0.03 на фронтенде и до 0.06 на бэкенде, меня устраивает ситуация, в принципе можно и с 0,2-0,6 жить =)
avatar
Глючит LiveStreet, блин!

Не верю. На хостинге Kohana выдает генерацию простой страницы «привет, мир!» 0,06 с. MODX Ево меньше 0,1с не выдает. О каких это
у меня 0.02-0.03 на фронтенде и до 0.06 на бэкенде
вы говорите?!

Далее. Вы сказали про мой хостинг
и да — выкинь уже свой хостинг на помойку
Я в предыдущем комментарии попросил уточнить и показать куда смотреть. Ответа так и нет.
Комментарий отредактирован 2012-12-14 12:49:44 пользователем jean179
avatar
Смотреть на версию php и APC как минимум.

Лучший вариант свой сервер поднять.
У меня на Линоде такие цифры. php 5.4.9 + APC
Связка nginx/php-fpm

phpclub.ru/talk/threads/%D0%A6%D0%B5%D0%BB%D0%B5%D1%81%D0%BE%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B0-ob_start-%D0%B2-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B5.73772/page-4

на 4,5 страницах мои размышления и комментарии фаната на скорость генерации.

Я понимаю, что мы не авторитеты =)
Заметил тенденцию, люди, работающие только с одной CMS и боготворящие ее, считают, что все врут =)
Я показываю только очередное мнение, с которым я согласен.
avatar
URL: bezumkin.ru/
Host: bezumkin.ru
IP: 176.58.125.56
Location: United Kingdom*
Initiated By:
Start Offset: 3.364 s
DNS Lookup: 258 ms
Initial Connection: 3104 ms
Time to First Byte: 543 ms
Content Download: 443 ms
Bytes In (downloaded): 8.5 KB
Bytes Out (uploaded): 0.4 KB
Отдача страницы идет 443 ms, а генерация — 543 ms.
Опачки! А ведь тоже самое получается! Тут есть вопрос — почему 3,1с идет соедениние и почему 8,5 КБ качается так долго. Но тем не менее — вот цифры. И думаю сервер в Англии стоит гораздо дороже шареда в Питере.
avatar
Ну и на последок про авторитеты.
У вас есть знания, есть опыт в данной области. Это же хорошо! Я рад, что такие люди проходят и с ними можно запросто пообщаться и узнать у них много нового.

А вот у меня есть опыт в строительстве. И образование у меня высшее (полученное практически в СССР — еще не успели его тогда превратить в Г). И работаю я не простым бумагомаракой в офисе. И постарше вас буду почти в 2 раза. Вот только веб-дизайн для меня хобби, а не работа. И сижу на форуме, учу php и пишу сайты в промежутках между планерками, совещаниями и встречами в администрации и архитектуре города.

Так почему вы отказываете мне в голове на плечах?! И в том, что я могу найти нужную информацию и разобраться в каком-либо вопросе?! Да, у меня не системное образование в области web, но я стараюсь понять картину. Жаль, времени мало.

Если утверждаете что-то, так будьте добры готовы объяснить, показать, доказать. А то выдали 3 слова общих, привели ссылку на форум без контекста и все.

Есть что сказать — покажите, объясните куда смотреть.
avatar
Среди VPS есть масса предложений как в России, так и за рубежом. Hezner, Linode — все в районе 300-600 рублей, можно и в России взять рублей за 200.

Если это хобби, то и относится надо как к хобби. 300-600 рублей для меня — один раз с друзьями пиво не попить. А потратить эти деньги на хобби, которое приносит радость — я считаю не критично.

Настройка любого сервера, если есть голова на плечах и человек не забанен в гугле, занимает день-два. Абсолютно без знаний.

Хостинги, особенно Российские, предоставляют ужасное качество обслуживания. Им насрать на клиентов и на работу сайтов =)

В остальном. Я не знаю откуда у тебя столько агрессии =)
Нас всех учили понемногу… На другом форуме я спокойно, на ты, общаюсь с человеком, который ушел из топ менеджеров в крупном московском банке и начал заниматься программированием, ему в районе 55 лет.

В интернетах на форумах принят такой стиль общения, это нормально… особенно если учесть, что у этого форума нет официальных правил =)

Да и разница у нас всего в 10 лет — уж никак не в два раза.

Так что расслабься — я крайне позитивен к людям, которые стремятся научиться, и всегда помогу советом.

По поводу Василия — ну у меня свое мнение по поводу его профессионализма, которое я не хочу озвучивать.
В целом, он хороший человек, который делает много хорошего для сообщества.

Ну и финал =)
Скорость загрузки не особо важна.
Оптимизация и советы по скорости загрузки статичного контента можно взять из YSlow, плагин для Хрома.
Главное, что это статический контент и он моментально отдается Nginx, без малейшей нагрузки на сервер.

А вот обработка php скрипта — это бутылочное горлышко. И при времени генерации в районе 0,6 могут полететь 504 ошибки, при небольшой нагрузке. С другой стороны до этой нагруки еще надо дожить.

По принципу бритвы Оккама — я бы на твоем месте не стал бы ничего делать.

Предупрежден — значит вооружен. Теперь, если появяться проблемы с нагрузкой — ты знаешь куда рыть.

Ведь тема топика была не исправить ошибки или оптимизировать нагрузку.

Я просто объясняю причины. Все это не критично. Peace! =)
avatar
Ага! Моя маленькая провокация сработала!
Заранее измени, но от твоих фраз веет за версту высокомерием:
ну я тебе очень сочувствую…
66 запросов на страницу перебор — запросов 10 нормально

и да — выкинь уже свой хостинг на помойку
Кстати, не я ставил "-".

А вот теперь когда ты вылез из раковины, уже можно нормально пообщаться.

Я уже почувствовал, что сервер слабоват на шареде, но и посещалка маленькая. Я тихонечко пробую переползти на Рево, думаю и на него уже и более мощный сервер нужен. Погляжу я в сторону Linode. А то я посмотрел сколько на Мажордома стоит — такой как в Линоде — 900 рублей! Однако аппетиты как у чиновников, блин!

Знаешь, у меня совершенно нет агрессии. Я очень неконфликтный человек. И если я такие посты пишу, то с целью опустить человека из заоблачных далей на грешную землю.

Кстати, о птичках. За эту осень скандалы прошли и в сообществе community.modx-cms.ru да так, что появился этот сайт из-за человека, который совсем «зазвездился» и на него не могли найти управу, и в другом сообществе MonstroCMS — там тоже один умник начал плевать против ветра и умничать. Правда там админ (он же разработчик системы) в течении 2 дней его забанил. Просто поветрие какое-то «звездных болезней»!

О нагрузке. Я понимаю, что нужно заботиться о кешировании всего и вся, чтобы не получилось 504 ошибки. Но по далеко не всегда это удается. В частности при пагинации в немодифицированном движке нужно было не кешировать вызов Дитто, иначе на всех страницах пагинации будет одни и те же статьи. Увы, но это косяк движка. Сейчас Дмитрий в своей сборке сделал кеширование по адресу и параметры GET в нем дают разные страницы в кеше. Я просто не успел передлать сайт на новый движок — там есть изменения по базе и в общем это слегка геморно. Кроме того я не понял некоторых нюансов с пагинацие и тегами в движке с изменением и потому пока не буду трогать.

Хотя и есть у меня задумка передать сайт полностью да еще и движок сменить. Но пока на все времени не хватает.
avatar
Нет, я совсем не зазвездился, это стандартная реакция. Кто-то лучше объясняет, кто-то хуже. Но в большенстве случаев мои обьяснения вызывают агрессию на форумах modx, в приниципе меня 2жды на прошлом банили, только за то что я объяснял, почему modx говно.

Я исхожу из таких привал, так как на этом форуме правил нет. phpclub.ru/faq/WhyForum

И как следствие, когда человек просит помощи, у меня в голове рождается 3-4 варианта, как можно реализовать то, что он хочет.
Я обычно намекаю на хорошие варианты, а человек должен сам уже найти свое решение. Ведь по сути не мне же нужен ответ на вопрос =)

Вот и возникает конфликт, я намекаю как лучше всего что-либо сделать. Потом появляется человек, который говорит — дак вот же есть готовый сниппет, воспользуйся им. Причем чаще всего в сниппетах не самые лучшие решения.
Человек, вместо того, чтобы включить голову, и сделать красивое и качественное решение своими руками, берет готовенькое.

Хочешь нормальный код до кучи с хостингом — выкинь абортыш Дитто и напиши нужную выборку своими руками. А еще лучше выкинь вообще все сниппеты, которые позаимствовал у других и напиши сам.

Я сподивгаю людей к этому, что почему то вызывает волны гнева у сообщества. Большинство чуть ли не аннонируют на модекс и крайне болезненно относятся к его критике. А особенно к готовым решениям и сниппетам.
avatar
Redjik, вы можете быть хорошим программистом, но ведь кроме компьютерного мира где 1 и 0 есть еще и реальный мир. А тут не бывает белое-черное, есть еще и оттенки серого. И вы забываете, что есть люди, которые что-то не знают или не видят.

Я бы с удовольствием написал свой сниппет по выборке из базы вместо Ditto. Но вот знаний не хватает. Простую поделку или что-то адапитровать могу, а написать и продумать с нуля без знаний MySQL и кучи методологии программированией очень сложно. Вот если бы вы объяснили как сделать то или иное и написали бы статью — цены бы ей не было! А ваши посты сейчас совершенно не понятны. Мне лень искать цитату — «типа не делай так, есть лучше решение!» Вот мне это совершенно ничего не сказало.

У MODX есть куча косяков и это далеко не супер продукт. Но по совокупной части + и — — это лучший продукт для многих задач на сегодняшний день. А просчеты проектирования с пагинацией, меню, кешированием — ну чтож, приходится бороться. У Drupal отлично сделаны разделение прав, отлично модульная система, есть cron. Но разрабатывать на ней — с ума можно сойти: шаблоны бред сумасшедшего, куча хуков, нет ООП и тому подобные чудеса. У Joomla свои плюсы, но еще больше минусов. И так я могу описать множество движков. Пусть я не изучил их досконально, но на локалке я баловался и балуюсь с ними довольно много.
avatar
Чтобы сделать выборку из базы данных знаний почти никаких не надо. Просто пробуй, зайди через phpmyadmin, глянь на устройство базы, потрать часик и сможешь сделать выборку…
Это на первых порах кажется тяжело.

Единственная трудность, это пагинатор, его тяжело делать новичку, но если если это нужно и если все сделал кроме пагинатора, то я, кончено, подскажу как его запилить =)

А теперь открою одну тайну и, скорее всего завтра, напишу статью, почему в modx (EVO/REVO) тоже НЕТ ООП, ну или почти нет.

Не надо дико минусовать =) Это не троллинг.
Поясню свою позицию и полностью раскрою ее в статье в будущем.

Я работал и более менее знаю архитектуру Yii, Kohana, Symfony 2, ZF. Я переодически перечитываю книги по пэттернам (банду четырех и Эрика Фримена).
Поэтому могу смело заявить. ООП это НЕ код со стрелочками =) ООП — это философия разработки.
avatar
Я работал и более менее знаю архитектуру Yii, Kohana, Symfony 2, ZF. Я переодически перечитываю книги по пэттернам (банду четырех и Эрика Фримена).
Бало бы очень интересно мнение такого спеца по поводу ОРМ вообще и ОРМ в веб-проектах. ООП, как принцип, ничуть не мешает делать быстрые приложения. А вот ОРМ — это гораздо более проблемная вещь в себе.
avatar
kohanaframework.su/
Вот курс статей по Kohana по созданию блога на этом фреймворке. Все довольно просто и понятно. Некоторые вещи в виде методологии разработки идет по верхам или я просто не проникся еще. Но вот там замечательно дается работа с базами и зацепленно ORM. Почитайте.
avatar
Увы, но для того, чтобы что-то сделать, нужно понимать не только алгоритм, но и знать некоторые нюанся.

Думаете я не хотел переписать под себя Ditto? Пробовал весной — получилось хуже чем в стандартном Ditto. А все из-за того, что почитав про Database API MODX и почитав статью с modx.ru захотел сделать себе простейший вывод статей.

Но не учел того, что еще немного нужно знать и MySQL. Моя ошибка была в том, как я понял позднее, что я делал выборку из базы 2 таблиц и получал это 2-мя запросами. А если бы я тогда почитал внимательно, то я бы написал один запрос РУКАМИ, но через JOIN.

Проблема того, что пишут говнокод в том, что есть книги по программированию, в которых дают синтаксис и куски кода. А вот философию и методологию обходят стороной. Толку что я узнаю синтаксис php, знаю объекты и даже могу к ним обращаться. Но без глубины иерархии объектов и для чего все это нагорожено, мое программирование будет простым процедурным. Ну может слегка модульным, но никакого ООП.
avatar
Вот мы и пришли к правильному вопросу. Что нужно прочитать. Единственная нормальная книга для новичков — Котеров (кстати создатель денвера). Все остальные проблемы из-за того, что народ учится по реально плохим материалам. Примеры не буду приводить =)

Как его прочитаешь, поговорим про ООП, посоветую следующие книги =) Но дальше, кончено Фаулера надо читать.
avatar
Хочешь нормальный код до кучи с хостингом — выкинь абортыш Дитто и напиши нужную выборку своими руками. А еще лучше выкинь вообще все сниппеты, которые позаимствовал у других и напиши сам.
Я с этим очень солидарен, хотя PHP почти не знаю и только начинаю осваивать. На PHP ведь есть тысячи и тысячи скриптов на все случаи жизни, которые можно использовать в MODX вместо универсальных сниппетов, которые могут давать десятки лишних запросов к БД. Кое что мне уже удавалось прикрутить, но это совсем простейшие скрипты.

Кстати, Redjik, ты ведь обещал раздел про PHP — а его все нет. В таком разделе можно было бы обсуждать, как прикручивать скрипты PHP к MODX.
avatar
Не кешированная страница это не нормально
нужно кешировать темболее это делается легко и просто )
avatar
Кстати очередной миф, кэшировать надо данные =)
avatar
Да почему же миф?
если у вас правильные запросы в базу и все настроенно как нужно то да кеширование не надо )

а когда используются всякие монстры в виде Дитто которые создают лишние неоптимильные запросто то как то не кешировать их глупо)

да и файлики легче отдаются чем 50 запросов в базу)

про вариант когда все красиво и праильно я не говорю так как там само собой можно и не кешировать)

так что это не миф а суровая реальность )
avatar
Ну дак я о том и говорю, данные надо кэшировать… У меня на одном проекте весит рекурсивное меню, с вложенностью аж до 10ти вроде, я просто закэшировал данные, а выводится оно уже через php. И так меню делать правильно, чтобы потом не вылавливать активный, текущий пункт через js.

Я признаю привлекательность modx. Можно делать сайты, типа, без знаний php. Но если нужен сайт без знаний php, обратись к профессионалам. В любом другом случае — выкидывай сниппеты и учи php. Все же просто.
avatar
Вы забываете 1 маленький нюанс что работаем мы не только за идею и потому что нам нравиться а работаем зарабатывая себе на жизнь )
потому нужно минимизировать затраты максимизировать прибыль )

потому если я могу собрать сайт за 2 часа на MODX
и он будет на 20% медленнее чем сайт собраннный на чистом php но за 2 дня я считаю что я поступаю правильно выбрав MODX )

про сроки я утрирую но думаю суть понятна есть нормальные рамки в которые можно вложиться что б сайт был быстрым и не всегда для этого нужно полностью забивать даже на Ditto ) вообщем ищем компромис и золотую середину и получаем более чем удовлетворяющий результат )

p.s. Сайт на чистом HTML все равно быстрее )))
avatar
Это русское отношение.
Я пришел к другому.
Вместо того чтобы клепать сайтики, как таджики — дома, лучше делать качественный продукт.

ЗЫ.
И тебе, Дима, мне выкать тоже не с руки =)
Кстати посмотри, что там с передачей по ссылке — парень отписал о проблеме, я глянул краем глаза код…

У моего ученика пара заказов на визиточки, думаю твою сборку ему дам, если там сниппеты не долго вычещать… Много в код вшил?
avatar
Нет там все в папке инстал тоесть выпилить ненужное делов на 5 минут)

Основное на что обрати внимание это работа кеширования сейчас работает с учетом гет параметров
тоесть дитто работает вот так
[[Ditto? &display=`10` &paginate=`1`]]
[+pages+]
рабоает на ура)
тоесть теперь снипеты [!!] только для того что рабоатет с POST SESSION и Печеньками
так же вложенные снипеты норм отрабатываются)
avatar
Ну с кэшированием — молодец, но он у меня все равно все сниппеты будет свои писать, иначе получит от меня луч поноса =)

Я его готовлю к той же работе, на которой сам сейчас. С отличной зарплатой и без общения с заказчиками, вообще =)
avatar
ну так свои снипеты кешированию не мешают ))

Может и себе податся на отличную зарплату и без общения с клиентами )
avatar
Дык просто привычка в паблике на ВЫ ) то в личке можно как угодно а тут нужно красиво )
avatar
Всегда кто-то строил котеджи, а кто-то многоэтажки (ты сейчас перешел на многоэтажки, но и на катеджах и на ремонтах квартир люди тоже живут и зарабатывают), и то и то нужно обществу. Неприятные нюансы есть в любой деятельности, это всего лишь вопрос взгляда не вещи. Ты просто выбрал другой путь, но общий смысл от этого никак не меняется.
avatar
Я говорю совершенно другое, не надо перевирать мои слова.

Я заказал встроенный шкаф в фирме. Так эти уроды уже неделю его переделывают — собрали криво.
Чувствуешь разницу?

Я делаю все то же самое, многоэтажки и квартиры, это условности. Просто я не работаю с жадными клиентами, которые хотят получить навороченный продукт за копейки.
avatar
А твои слова я не перевирал, а высказал свою мысль. Т.е. на фирме где ты работает нет жадных клиентов? Просто с ними сейчас общаются другие люди.

Шкаф ты заказал из ДСП и в непонятной фирме?
avatar
за 15к маленький шакфичик в прихожую, в крупной фирме
avatar
Крупная фирма или отдельный человек делает как я понял для тебя разницы нет?
А для меня есть. Я часто что-то заказываю у конкретных людей а не на «крупных» чудо-фирмах, которых похеру на конечных потребителей. А вот конкретные люди даже с той же фирмы куда более ответственно относятся к своим клиентам и качествам работы
Комментарий отредактирован 2012-12-15 14:11:04 пользователем vanchelo
avatar
Тебе лишь бы что-то сказать, чтобы паузы не было? Как это вообще относится к тому, что люди оправдывают свой говнокод и некачественную работу словами, что ремонтами и квартирами надо ведь тоже кому то заниматься.

Как это все вообще относится к русско-таджикской философии… Наклепать 10 сайтов за пару тысяч в течение месяца. Главное чтобы деньги в кармане были… а то, как сделано работа пофигу.

Я радею за качество работы, мне нравится делать хороший качественный продукт.
avatar
Говорю же — из-за пагинации. Нужно на вашу новую версии сборки переходить, а нет пока времени.
avatar
а какая версия?
если 1.0.5 и выше то там можно только 1 файлик заменить
который парсер ) недавно тестил на 1-м проекте )
avatar
1.07 Но без плюшек — там не парсера, нет исключения из пути. В ваших номерах 0,83
avatar
fr меняете документ парсер и пробуйте )
avatar
Дмитрий, расшифруйте пожалуста подробнее
avatar
папка manager/includes

замените файлик
document.parser.class.inc.php
на вашем сайте на тот который в моей сборке
сразу будет и кеш с учетом GET остальное менять не обязательно
avatar
Спасибо, попробуюю на локалке
avatar
Это минус завистника, потому, что у него не получается таких результатов достичь или же у кого-то еще быстрее работает на порядок и я не верные цифры написал?
avatar
Да — это я имел ввиду время генерации страницы.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.