Анализ скорости загрузки сайта

На днях вспомнил про один сервис, который позволяет проверить не время генерации страницы, а скорость загрузки этой самой страницы. То есть вычислить время, которое пользователь будет ждать пока загрузится весь ваш сайт. Называется этот сервис Tools.Pingdom.com.

Что он позволяет:

  1. узнать время загрузки вашего сайта в секундах (с точностью до сотых);
  2. иерархия ссылок;
  3. время начала загрузки каждого отдельного элемента сайта и время, когда он загрузился (то есть можно узнать дельту – разницу, равная времени загрузки элемента);
  4. размер каждого отдельного загружаемого элемента;
  5. можно сортировать результаты по времени и порядку загрузки элементов, по размеру и т.п.;
  6. ну еще много чего можно узнать.

Выглядят результаты вот таким образом:

Время загрузки элементов сайта

Время загрузки элементов сайта

Загружаемые файлы и их размер

Загружаемые файлы и их размер

Советую проверять ваши сайты. Сайт запоминает историю проверок, так что можно сравнивать результаты за разные временные результаты. У меня, к примеру, полгода назад было 6-7 секунд, в январе 9 сек., а сейчас 2,5-3.

Время загрузки моего сайта

Время загрузки моего сайта

Для достижения такого результата я просто посмотрел, что именно загружается дольше всего, и подумал, как это можно уменьшить. В результате вырезал пару ненужных скриптов и рисунков. В скором времени планирую поработать над рисунками.

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

Кстати, я ради интереса посмотрел на Demo.CosyDale.com. Результат меня порадовал – 2.5-3сек. Так что установленный BuddyPress влияет только на нагрузку вашего сервера, а не на время загрузки.

комментариев 79

  1. exay:

    У меня на mozhga.net – 3,5 сек.

  2. Я посмотрел историю тестов… Есть и 21 сек. :)
    Но вы заметили, что дольше всего грузится? Ваша партнерка на loveplanet. Стоит ли оно того? И столько js-библиотек подключено: prototype, jquery… Старайтесь подключать только одну библиотеку, и плагины подбирайте именно по этому принципу.

  3. exay:

    На этом домене и Ворпресс обычный когда то стоял… и Джумла… По библитекам- я честно говоря… не особо в этом смыслю…

  4. у меня просто жуть…
    45extreme.com – 25 секунд
    extreme.md – 10-12 секунд

    =(

  5. @BRED:
    Посмотрел, что у вас там, такое ощущение, что стоит у вас еще RC-1, а не 1,0. Потому что идет загрузка аватаров жуткая. потом заглянул на сайт и понял еще одно: вам надо уменьшить количество пользователей на сайте и активности в блогах.

    PS Хоть не, вроде 2,7,1 + 1,0 стоит, там при загрузке файлов buddypress вот такое есть: ?ver2.7.1

  6. Я буквально на днях обновил и версию MU и BP
    Я правда еще не настраивал кэш, займусь этим с ближайшие дни

  7. Александр:

    Прочитал ваш пост и вспомнил про плагин для firefox: YSlow. Это мощный инструмент, который выполняет схожие задачи. Но он также выдает советы по оптимизации скорости загрузки страниц, показывает хедеры Expires (что позволяет узнать какие элементы кэшируются). Но, насколько я знаю, этот плагин не позволяет хранить историю.

    Также вспомнился webgrind… Но это уже инструмент для профилирования php приложения, который наглядно позволяет увидеть и оценить тяжелые блоки в php коде. Ставится на web-сервер и требует установленного и подключенного php модуля xDebug, собственно результаты работы которого и парсит webgrind.

  8. Александр:

    Прошу прощения, что не совсем в тему…
    Но есть еще один полезный он-лайн сервис для тестирования уже не скорости загрузки, а верстки страниц browsershots.org. Он генерирует скриншоты в разных ОС (win/linux/mac/bsd), на выбор несколько десятков браузеров.

    [отредактировал slaFFik: для ссылки добавляйте также http перед самим адресом сайта]

  9. Хороший сервис, у меня на wordpress’е без кэша 9 сек. получилось …. А это интересно много или мало?

  10. @slaFFik:
    А поподробнее о timThumb можно? Потом шаблон же можно и доработать.

  11. Ну пока посещаемость маленькая, думаю не буду менять шаблон …. А когда надо сделаю, уже с учетом времени загрузки.

  12. @Александр:
    Вы меня опередили, я хотел в следующем посте рассмотреть как раз дополнения к FireFox и browsershots.org :) Теперь что-то новое надо придумывать.

    @Rastler:
    Вообще-то это многовато. Но пользоваться Tools.Pingdom.com надо не для того, чтобы узнать время, а чтобы увидеть, почему так много времени уходит. В вашем случае самые большие проблемы из-за NextGen Gallery – она подгружает много javascript’a и стилей. С моей точки зрения (и только с моей) вы не совсем правильно выбрали шаблон для фотоблога. У вас большие рисунки на главной. Вам бы надо такой шаблон, где стоит resize рисунков (это значит, что стоят скрипты timThumb phpThumb). Они большой рисунок обрезают/уменьшают до нужных размеров и кешируют. То есть на странице записи – полноразмерка, на главной странице/странице рубрик/еще где –
    уменьшенные копии. Это ЗАМЕТНО облегчает загрузку, так как не 100кб грузится на главной (а это только 1 рисунок), а предположим 15кб. Разница заметная?

  13. Боюсь, что для Carrington никто шаблон вам дорабатывать не будет – это именно для этого шаблона сложно :)
    Легче найти другой шаблон, ей Богу.
    timThumb: вызов рисунка идет не напрямую, а через этот скрипт, то есть: адрес скрипта + адрес рисунка + предполагаемые вами размеры и качество уменьшенного рисунка = уменьшение веса выводимого рисунка и главной страницы.

  14. Я понял почему у меня так долго грузится, у меня просто стоит apache … а надо nginx, он намного быстрее отдавать будут

  15. @Александр: Это я понимаю. А как можно узнать некий benchmark скорости php?

  16. Кстати, сайт Ивана Калинина – lecactus.ru – загружается в среднем от 6 до 8 секунд. А проблемы у него с кнопками яндекса, 2 раза грузится одна и та же библиотека JQuery и большая главная страница (на которой много рисунков).

  17. Ну с nginx я не могу ничего сказать – не разбираюсь в этом пока. Хотя у самого сайт на нем :)
    А про apache – это да, есть такой отрицательный пунктик у него :(

  18. Александр:

    Сорри, что спалил тему про browsershots, я не нарочно ;)

  19. WP Super Cache дал 6.3 сек главной страницы, а какие минусы кеширования?

    • Советую поставить ZenCAche, я перепробовал много плагинов кэширования, этот самый адекватный, также могу поделиться переводом его на русский язык. Закините файлы перевода плагина на русский язык в /wp-content/languages/plugins. Также в этом плагине есть дельный совет как включить Gzip сжатие для сайта. Сейчас сайт загружается в районе 3-4 секунд. Хотя у меня он довольно громоздкий.

    • Вот скриншот три раза анализа провёл, всё в районе 4 секунд.

  20. @Александр:
    Хех, да ничего :) У меня идея появилась одна. Раскрою ее на днях. Касаться она будет проверки дизайна сайта не через browsershots, а прямо на компе. Вместе с прогами пост будет, я думаю.

  21. Александр:

    @Rastler:

    Не делайте скоропалительных выводов о необходимости установки nginx.

    Если у вас маленькая посещаемость и большое время загрузки страницы, то скорее всего дело в скорости выполнения php скриптов, а не в скорости отдачи статики. И тогда надо смотреть в сторону кэширования.

    Для начала надо все-таки замерить время выполнения самого php скрипта.

  22. Александр:

    У вас сайт на nginx ?

    Правда он себя нигде в заголовках ответа не выдает (смотрел страницу и картинку). Ответ везде такой:

    Server: Apache/1.3.41 (Unix) mod_throttle/3.1.2 mod_psoft_traffic/0.2 mod_ssl/2.8.31 OpenSSL/0.9.8b

  23. @Александр:
    На nginx у меня. А у Rastler – apache.

    @Rastler:
    Сервер ваш собственный или виртуалка обычная?

  24. Ух ты, тогда можно где-то раза в 1,5-2 его ускорить без особых проблем. Прочитайте вот эту запись: Производительность: BuddyPress. Часть 1..
    Вам не сам BuddyPress нужен пока, а просто про кеширование (это вторая половина поста).

  25. Александр:

    @slaFFik:

    Я привел ответ сервера как раз от cosydale.com.

  26. Александр:

    @Rastler:

    1) Вот пример из документации php

    function getmicrotime()
    { list($usec, $sec) = explode(” “, microtime());
    return ((float)$usec + (float)$sec);
    }

    Это ставим в самом начале скрипта:

    $time_start = getmicrotime();

    Это в самом конце:

    $time_end = getmicrotime();
    $time = $time_end – $time_start; – это разница в секундах. Т.е. общее время выполнения кода.

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

    Ну для простого wordpress можно все вставить в index.php.

    Для mu/buddypress надо смотреть.

    2) Если надо знать, какая именно функция сколько времени отрабатывет, то уже надо использовать другие методы. Например webgrind. Но тут важно что за хостинг и какой тарифный план.

  27. @Александр:
    О, значит когда я поменял хостинг-план пару месяцев назад и у меня был сайт недоступен сутки, мне сменили ip и перевезли на другой сервер вообще. Круто :)
    Зимой еще стоял nginx. Я не за этим слежу, а за тем, как работает мой сайт и на какой скорости. Пока меня полностью устраивает.

    Плагин, который показывает время генерации и запросы, называется WP-Tuner. Идет в сборке WP от Кактуса.

  28. Минусы? Хм… Если неправильно настроить, то:
    1) при создании новой записи она может некоторое время не появляться для пользователей на главной и странице рубрик, так как им будет подсовывать статичная страница, на которой этой записи еще нет;
    2) комментирование может быть затруднено (то есть человек написал сообщение, а оно не появилось);
    3) если на сайте очень много страниц, то будет расти его объем, так как кешируемые страницы сохраняются в 2х экземплярах: html (у меня это ~40кб) и gzip (~7-9кб) – второй, если поддерживает сервер;
    4) а больше минусов я так вспомнить и не могу…
    Но это все при неправильной настройке!

    При правильной проблем не будет: кеш будет очищаться при создании новой записи/комментировании (если не очень много записей на сайте), поэтому и комментирование, и новые записи будут появляться вовремя. Значительное ускорение загрузки страниц/записей, если много пользователей одновременно на сайте.

  29. По кэшу понятно, всем спасибо …
    Пока буду оптимизировать сам сервер, тем более сейчас он будет новый и сайт перенесу на правильно настроенный. Вот и посмотрю как изменится время загрузки.

  30. Александр:

    @Rastler:

    Все зависит от конкретной реализации плагина кэширования.

    Можно кэшировать как всю страницу целиком, так и только какие-то блоки на странице.

    Например, если плагин будет кэшировать главную страницу на сутки, а вы пишите несколько постов в сутки, то это не очень хорошо. Если же он будет обновлять кэш страницы при добавлении новых постов, то тогда все нормально.

    Т.е. логика плагина для кэширования должна быть наиболее
    подходящей для конкретных задач.

  31. Тристан:

    Мажордомо бесит своей ошибкой 503, VPS у них ваще дохнет часами, WP MU предлагают сменить на обычный, а чаще всего глюк из-за плагина lightbox2 . Какой хост посоветуете, и какой сами используете?

    • У меня VPS на Inferno Solutions стоит только радует (вот тут можно глянуть), мне очень нравиться, бесплатная техническая поддержка при условии оформления ISP meneger – реакция мгновенная. Сервера везде есть Россия, Германия, Голландия. Раньше был на Reg.ru оплевался – ушёл от них.

  32. Тристан:

    Ах да у них нагрузка на cpu 5-15%.

  33. tesla:

    Я уже один раз тут писал
    ( https://cosydale.com/news-cosydale-buddypress.html/comment-page-1#comment-1612 )
    Попробуйте. Я ни разу за 3 года не имел никаких претензий.

  34. @tesla:
    Спасибо за помощь Тристану :)

  35. Тристан:

    Придется перебраться.@tesla огромное спасибо, и @slaFFik Вам тоже огромное спасибо за понимание и терпение:)

  36. Петр:

    Сам выбираю провайдера для сайта…

    Пока остановился на:
    http://hc.ru/ru/services/hosting/vps/
    http://hosting.parking.ru/text.aspx?s=hyperv
    http://www.nthost.ru/our_services/dedicated_server/

    Может кто работал с ними? Есть отзывы?

  37. Тристан:

    Все ! Великая Тайна Ордена СosyDale и его верховного Властелина @slaFFikа раскрыта!!!!!:))
    Не пади сервак наш славный hosting.ua ибо маст дай!

    Часто бываю на этом сайте и никогда не был свидетелем каких либо глюков!!
    идем на хостинг.уа ура.

  38. Лично я пользуюсь http://hosting.ua (я ведь и сам из Украины), и он меня не просто радует, а просто капец как радует! Ни разу не падал, все летает… А из перечисленных – ни один не знаю.

  39. Тристан:

    более того , я разместил на своем сайте ссылку !!!:)

  40. @Тристан:
    Вот это реакция… Удивил, однако; но приятно и смешно :)

  41. Я уже увидел, спасибо большое за поддержание моего проекта по русификации BuddyPress и его адаптации для наших нужд!

  42. Тристан:

    @slaFFik:
    Да мне не жалко:)
    Это тебе спасибо за сайт такой, – единственное место где есть порядочные люди готовые помочь даже таким “чайникам” вроде меня.

  43. zuborg:

    Ох и долго ж страничка эта страничка (https://cosydale.com/analiz-skorosti-zagruzki-sajta.html) генерится:
    http://site-perf.com/cgi-bin/show.cgi?id=MLiTOoju6Sg

    кеширования нету ?

  44. Меньше 5 секунд – это долго? Хм… Я думаю, это очень хороший показатель…

  45. zuborg:

    3 секунды на генерацию 40КB html-кода – это очень долго.

  46. Тристан:

    Извините, что не в тему, но когда же slaFFik появится ВИДЕО-ИНСТРУКЦИЯ по установке и интегрированию bbPress 1.0-Alpha-6
    или я найти не смог?

  47. @Тристан:
    Вы и не искали: Видео: Установка форума bbPress для BuddyPress. Опубликовано 3 недели назад.

  48. Тристан:

    Нет , это я смотрел, просто думал, что должно быть отдельное, извиняюсь :)

    Кстати хороший голос:)

    Также я расскажу и даже покажу (возможно!) вам:
    ВИДЕО-ИНСТРУКЦИЮ по установке или обновлению WordPress MU 2.7.1.
    ВИДЕО-ИНСТРУКЦИЮ по установке или обновлению BuddyPress 1.0.
    ВИДЕО-ИНСТРУКЦИЮ по установке и интегрированию bbPress 1.0-Alpha-6.
    ВИДЕО-ИНСТРУКЦИЮ по установке BPDEV.

  49. Просто все остальное настолько просто делается, что я решил не морочить себе голову.

  50. Тристан:

    Всем Доброго Времени Суток!
    Я тут в плагинах копался и нашел vote it up(голосование за посты, и вывод в сайдбаре самых популярных), ни фига не работает .Все устанавливается , новсегда показываются нули.
    Можете порекомендовать что – нибудь на подобие, чтоб красиво смотрелось?По моему вещь нужная.
    Извините за оффтоп.

  51. @Тристан:
    WP-PostRatings от Lester Chan’a. Есть в сборке Кактуса обычного WordPress (скачайте сборку и возьмите в папке плагинов этот плагин). Это лучший вариант.

  52. Тристан:

    @slaFFik: уже поставил! спасибо!

  53. shirs:

    +
    Top Comments 1.0
    Simple, easy to manage comments rating.

    +
    Show Top Commentators 1.06
    Encourage more feedback and discussion from readers, by rewarding them every time they post a comment! Readers with the most comments are displayed on your WordPress blog, with their names (linked to their website if they provided one).

  54. Тристан:

    ПОМОГИТЕ!!!!!
    Попытался деактивировать buddyp и вот что выдал Fatal error: Call to undefined function bp_core_add_nav_item() in /home/u42847/dark-newsru/www/wp-content/plugins/bp-album.php on line 137 ВЕСЬ САЙТ НАКРЫЛСЯ!!!ЭТО НА ВСЕХ СТРАНИЦАХ

  55. Тристан:

    Пришлось поудалять указанные в ошибках файлы :( ща все исчезло…а хотел лишь обновление проверить

  56. @Тристан:
    Запомните – ВСЕГДА деактивируйте сначала плагины, зависящие от BuddyPress и только ПОТОМ сам BuddyPress. Иначе будут вылетать такие ошибки.

  57. Тристан:

    Да уж, сейчас точно запомню :)у меня хоть народ регился, но они ничего не писали и ваще не писали, регились(хотя насильтвенной регистрации у меня нет) и бросали, видимо сайт мой посещают не очень продвинутые юзеры, да и и таблицы надо бы доработать, активирую когда посещаемость будет 300-400 в день.а то мои pr-2 тиц -0, мало ко мне народу водят.

    Спасибо @slaFFik:

  58. @Тристан:
    ПР и тиц не влияют на посещаемость. Они являются лишь косвенным следствием (и то только тиц). Делайте сайт для людей, а не для тиц и пр.

  59. Molya:

    Хороший пакет анализа сайта,а есть русская версия?

  60. @Molya:
    Не знаю, я даже не искал – меня абсолютно устраивает этот. Если найдете – отпишитесь, я напишу о нем для пользователей.

  61. vVv:

    а что это за библиотека
    jquery/jquery.js?ver=1.3.2

    грузится у меня учень долго, http://ice-halo.net/ посмотрите сами, 2 секунды из 4 на весь сайт.

    похоже она из-за скрипт-компрессора, (который сжимать скрипты должен). может его отключить?
    при отключении время практически тоже, но вместо одного длинного много длинных загрузок. непонятно

  62. Скорость загрузки 3,9, хотя некоторые жалуются что долго. Может подскажете почему?

    • Может, у них просто интернет медленный? Или они физически далеко от сервера расположены… Или канал связи от них до вашего провайдера слабый.. Или еще почему…

  63. dezm021:

    вот с такой бедой столкнулся 20 сек грузится сайт. Подскажите пжл в чем здесь может быть проблема http://tools.pingdom.com/fpt/#!/dRNxwV/http://omastopatii.ru/pri-zabolivanii/vsegda-li-uspeshnye-rody-mogut-schitatsya-garantom-otsutstviya-mastopatii.html

    • Во внешних скриптах. Их у вас много, и они-то кучу времени и отъедают. yandex, landing-gate (особенно он).

  64. Хорошая статья, и для проверки ресурс норм, проверил свой сайт только что.

  65. @slaFFik: подскажите пожалуйста по ошибкам красным, с видео понятно, а вот хром-расширения, что могут значить? Заранее спасибо!

    http://tools.pingdom.com/fpt/#!/QfK0A/http://lovelovely.ru/

  66. Вот результат моего теста http://tools.pingdom.com/fpt/#!/c7AcGO/parnas-friends.ru
    не могу понять что там делают файлы с нулевым размером, которые несколько дней назад были удалены с сервера, а в тесте они дают определенную нагрузку при загрузке

    • Почему много файлов, что css что js надо объединять, да и спрайты делать

      • И каким образом вы предлагаете это корректно сделать, с учетом того, что сайт на WordPress с определенным количеством плагином, имеющих свои стили? Под корректностью я имею в виду то, чтобы ничего не слетело в верстке!

    • Вы их удалили с сайта – но с соответствующих css файлов, где они запрашиваются, или с php кода, который включает их в загрузку, вы не удалили. В итоге, эти файлы генерируют 404 ошибку, которая обрабатывается дольше. Поищите по файлам проекта, где еще упоминаются эти файлы.

      • С этим вопрос я уже разобрался и всё почистил. Просто найти эти ссылки и пути можно было локально после скачивания на свой комп, на хостинге не предусмотрен поиск файлов и строк кода.

        А вот если возвратиться к теме корректной минификации css и js файлов – какие для этого способы и плагины посоветуете?

        • Вариантов очень много. Поищите в репозитории по запросу minify. В целом. могу W3 Total Cache посоветовать, там тоже есть эта опция.
          Основная идея – если все плагины и тема правильно регистрируют свои css и js файлы, то проблем не будет, так как плагины минификаторы правильно все распознают, соберут все эти файлы в 1 и подключат его в шапке или подвале сайте (css и js отдельно, конечно же).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *