Готовимся к Хабра-эффекту

    Наплыв посетителейЗаметка посвящена не столько возможным методам защиты (о них уже было много написано), сколько обзору небольшого списка для быстрой проверки при подготовке к возможных скачкам посещаемости. Судя по статистике нагрузки на электронные магазины на прошлой неделе (когда начался рождественский сезон продаж на Западе), даже для крупных магазинов время ответа может колебаться на 20%, что же говорить о менее крупных веб-сайтах?

    Такую проверку обязательно нужно проводить перед выпусками новых продуктов, а также перед сезоном массовых покупок (для России это время в канун Нового Года и Рождества). Итак, с чего начать?

    Пункт 1: время ответа сервера


    Зачем это нужно? Узнать, насколько долго отвечает ваш сайт при попытке на него зайти. Проверить данный показатель можно с помощью достаточно известных сервисов. В частности, это:
    • host-tracker.com, с помощью которого можно «простучать» сайт с разных точек земного шара и посмотреть время ответа сервера;
    • iwebtool.com также предлагает проверить время отклика (ping) до сервера;
    • с помощью webo.in (требуется быстрая регистрация) можно проверить не только время отклика, но и фактическое время, уходящее на создание страниц. Сервер физически расположен в России, поэтому для российских сайтов может быть более предпочтителен.
    Хорошим показателем здесь будет минимальное время до 500-1000 мс (лучше, конечно, до 200-300 мс).

    Пункт 2: отказоустойчивость


    Зачем это нужно? Фактически, это экспресс-проверка на Хабра-эффект. Здесь можно использовать сервис loadimpact.com, с помощью которого получить примерно следующую картину (сервис эмулирует нахождение нескольких пользователей у вас на сайте):
    Время создания страницы в зависимости от потока посетителей

    Самое главное, чтобы график не сильно задирался вверх (не уходил по экспоненте) при увеличении числа пользователей на сайте и оставался в пределах 2-3 секунд (нужно принимать в внимание, что физически проверка проводится с другого конца Земли, поэтому есть значительные сетевые задержки, для России их не будет).

    Если мы готовимся к Хабра-эффекту, то надо выдерживать 50 одновременных пользователей на сайте. Иначе можно ограничиться и нормальным поведением при 20.

    UPD (спасибо akira): стоит обратить внимание не только на доступность сайтов, но и доступность картинок при использовании их в постах, выходящих на главную. Часто виртуальные хостинги просто не справляются с такой нагрузкой. Выкладывайте картинки на общественные ресурсы (например, pict.com), чтобы предотвратить такую ситуацию.

    Пункт 3: скорость загрузки страниц


    Зачем это нужно? Понять, насколько страницы сайта будут быстро загружаться у целевых пользователей. Сервисов здесь много, остановимся на некоторых.
    • YSlow для Firebug под Firefox. Здесь смотрим на общую оценку не ниже 80 (лучше 90).
    • site-perf.com. Быстрая оценка времени загрузки, желательно иметь не более 4 секунд (в силу того, что сервера расположены не в России, оценка не настолько адекватна).
    • tools.pingdom.com. Аналогичный сервис, только немного хуже в плане обработки данных. Здесь можно ориентироваться на 4-6 секунд как хороший показатель.
    • webo.in. Здесь можно посмотреть как диаграмму загрузки, так и быстро оценить саму скорость. Простая оценка желательно не ниже 70 (лучше не ниже 90). Сервер находится в России, поэтому данные наиболее актуальны.
    Как в случае Хабра-эффекта, так и при проведении массовых промо-акций важно подготовиться заранее, чтобы не потерять целевых пользователей, а предложить им продукты или услуги должного качества. Проверка указанных выше параметров займет не более 5 минут, но поможет предотвратить возможные потери в посещениях сайта и(ли) доходах для интернет-магазина.

    Web Optimizer с новогодней скидкойUPD: в связи с большим количеством запросов наша команда решила потрудиться в декабре на совесть и помочь всем желающим справиться с бумом посещаемости перед наступлением сезона продаж.

    Поскольку даже гугл собирается учитывать с нового года скорость загрузки (скорее всего, на клиенте), то использование каких-либо специализированных решений, например, Web Optimizer, становится все более и более привлекательным.
    Поделиться публикацией
    Комментарии 60
      0
      Примерно половина стартапов ложиться после вывода на главную.
        +4
        собственно, очень хочется уменьшить это количество :) Ведь так много интересных проектов делают
          +2
          Я бы добил в пост не только о стартапах, но и об обзорах.
          Часто пользователи вставляют картинки со своего блога, что создает просто бешеную нагрузку.
          Тут лучше использовать (рекламная пауза) мой любимый хостинг для картинок или любой другой, яндекс, пикаса и куча других (только не те, где по траффику считают). И бложек не загнеться и картинки будут видны всем.
            0

            Вот кстати нагрузка на pict.com.
            • НЛО прилетело и опубликовало эту надпись здесь
                0
                Первый раз домен когда увидел, подумал что что-то про небезызвестного ЦЯ с взора.
              0
              Только вот не веб-оптимайзером это делать надо :)
                0
                им в том числе :)
            0
            Спасибо, интересная и как раз актуальная статья. Про loadimpact.com и не знал раньше, полезный сервис оказался!
              +1
              Мне ещё, как аналог YSlow, гугловский Page Speed нравится.

              З.Ы Статья интересная — подчерпнул для себя пару ссылок полезных.
                0
                Испытал на своих стартапах несколько хабраэффектов и ни разу хостиг меня не подвёл.
                Вывод: нужно выбереть хороший хостинг. :)
                  +2
                  >выбереть

                  выбрить! Хороший хостинг нужно тщательно выбрить ;-)
                    0
                    Спасибо )
                    0
                    А у вас какой?
                  –2
                  Проверил себя:

                  loadimpact.com/result/tracker.hdclub.com.ua-c6a0ecd0e25af28552ffac296576b1b7

                  Результатом доволен :)
                    +7
                    loadimpact сам скоро ляжет — сейчас он проверяет тысячи российских сайтов :)
                    +1
                    loadimpact хорош, а есть аналоги?
                      0
                      В тему: если сервер не справляется с наплывом посетителей, то есть масса способов его оптимизации, об этом написано множество статей, в том числе и на Хабре. А вот если все способы перепробованы, но сервер все равно не выдерживает нагрузку — можно попробовать разместить статический контент на CDN (см. ru.wikipedia.org/wiki/Content_Delivery_Network).
                        0
                        А какова цена вопроса?
                          0
                          Услуги CDN обычно тарифицируются погигабайтно (за исходящий с сети CDN трафик). Стоимость зависит от общего объема трафика.
                            +1
                            CloudFile от RackSpace — 18 центов за гиг, если грубо. Но там еще бывает тарифицируют операции записи.
                              –1
                              Далековато они находятся))
                                +1
                                Кто? Сам RackSpace или серверы их CDN? :)
                                  –1
                                  Насчет серверов их не знаю, но судя по тому, что их сайт грузится несколько секунд, и сервера их далеко, или не так?)
                                    +1
                                    Сам RackSpace грузиться долговато, да. Мой VPS не нем весьма быстр, хотя я CDN тамошний не пользую, нет нужды.
                          0
                          А уменьшится ли загрузка есть выносить некоторые файлы (например картинки, флеш и д.т) на отдельный поддомен? Или это особой роли не играет?
                            0
                            Не думаю что уменьшится, если поддомен будет на том же сервере. Этот шаг помогает лишь ускорить загрузку статики, т.к. браузер имеет ограничение на количество коннектов к одному домену, и, например, не может грузить больше 3х ресурсов с одного домена одновременно.
                              0
                              Если у вас поддомен указывает на другой сервер (который предназначен для хранения и отдачи только статического контента), то смысл есть.
                              –1
                              Спасибо за ресурс!
                              loadimpact.com/result/www.torg.kaniv.net/-3c6d2412f21f47814a653381b1712707
                              Вполне, кажеться ;)
                                0
                                Полезно конечно, но у нас админ есть толковый, так что за ним как за каменной стеной, свой хабраэффект пережили. Но мне хотелось бы описание по поводу этой штуки получить:

                                >Зачем это нужно? Фактически, это экспресс-проверка на Хабра-эффект. Здесь можно использовать сервис loadimpact.com, с помощью которого получить примерно следующую картину (сервис эмулирует нахождение нескольких пользователей у вас на сайте):

                                Каким образом оно это эмулирует? У них есть собственный ботнет для тестирования? Или там какие то хитрые математические алгоритмы?
                                  +1
                                  если я правильно представляю логи их запросов на сайт, то сайт «просматривается» вглубь на 3-5 уровней (случайным образом). На каждого «пользователя» приходится 20-30 просмотров различных страниц (т.е. они «запускают» 10-20..-50 потоков, каждый из которых «тащит» свой набор страниц через случайные промежутки времени). IP вроде одинаковый (на каждую проверку — 50 сокетов, обычного сервера вполне хватит для 100 одновременных проверок, главное, чтобы канал позволял).
                                  –2
                                  однако старый самописный движек вполне неплохо работает… интресно только по каким именно страницам он лазиет… или только по главной? loadimpact.com/result/sovgvd.info-80fc5994c2736e7a7bb53b94cbf3c0a0
                                    0
                                    Лучший способ проверить готовность к Хабброэффекту — провести тест на эталонном сервере и понять как настроить так, чтоб оптимально работало
                                    Например — апач в воркере, число процессов по числу камней, число тредов по числу гипертрейдинговых и беклог в nginx побольше — выдерживает даже digg-эффект
                                      +1
                                      Самое простое, что всегда есть под рукой — ab. Никаких внешних сервисов не нужно, сделать первое приближение вполне позволяет.
                                        0
                                        и еще вроде бы Гугл собирается с нового года оценивать быструю загрузку как фактор влияющий на место в выдаче.
                                          0
                                          Значит, чем дальше хостинг будет от америки, тем хуже выдача? :)
                                          хотя у них датацентры по всему миру, но именно боты ходят только с америки
                                            0
                                            думаю в гугл тоже не дураки сидят чтобы конкретно задавать хост с которого будет идти обход сайтов
                                              0
                                              скорее всего будут учитывать расстояние в миллисекундах
                                          +1
                                          а откуда магическая цифра в 50 пользователей?
                                            0
                                            100/2
                                            1000/20
                                            выбирайте, что больше по душе
                                            0
                                            время ответа сервера можно еще проверить тут — http://pr-cy.ru/monitoring
                                              +1
                                              > site-perf.com. Быстрая оценка времени загрузки, желательно иметь не менее 4 секунд (в силу того, что сервера расположены не в России, оценка не настолько адекватна).

                                              не более
                                                0
                                                оО странно, такое ощущение что при росте нагрузки скорость загрузки страниц растет оО
                                                  –1
                                                  кто-то активно кеширует ;-)
                                                    0
                                                    те страницы 100% не кэшируются, которые он дергал.
                                                      0
                                                      Вашим сервером да. Может кто посередине?
                                                        0
                                                        Нет никого посередине. Не думаю что магистралы станут кэшировать чей то траф)
                                                  0
                                                  Спасибо за статью, прочитал бы я её раньше и проблем с хабрэффектом+автоимхо удалось бы избежать.
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                      –1
                                                      loadimpact.com/result/studik.org.ru-b39a8675a5664074a2324b006a939833
                                                      пошел крутить гайки :( надо нормальный тазик в стойку ставить и на него весь вэб контент переносить.

                                                      p.s.
                                                      забыл FAH выключить…
                                                        +1
                                                        За loadimpact.com отдельное спасибо! Уложил свой vps спать ;)
                                                          0
                                                          This configuration contains addresses that has been tested too many times the last 24 hours. The offending domain was: tut.by
                                                          :)
                                                            –2
                                                            imho, грамотно сделанному сайту не страшен хаброэффект. Если для выдачи страницы выполняется много работы — то чем больше пользователей — тем сильнее они буду тормозить сервер. Решение простое — хоть ruby on rail, drupal, php и прочие ваши любимые инструменты и чудесны — но всему свое место. Информационная часть сайта (тот же «каталог товаров» для вебмагазина) она одновременно и самая посещаемая (больше всего хитов) и статичная. Так что либо статически генерировать страницы (и автоматом их пересобирать при изменении), либо, если уж совсем психологически сложно отказываться от своей CMS и database-driven-website, то memcached или proxy перед сайтом.

                                                            А для статики советую поглядеть WML — Website Markup Language. Сайты собираются обычным make'ом при изменении данных. А обычный апач на обычном вебсервере может столько статичных запросов обслужить — что не каждый хабр такой эффект создаст. ;-)
                                                              0
                                                              Судя по логам, loadimpact запрашивает только первую страницу и css. Так что я морду он протестирует, а вот насчет морды вкупе с остальными публичными страницами — я бы не обольщался.
                                                                0
                                                                протестировал один из сайтов… 50 человек вроде держит без проблем. Я готов к Хабраэффекту? :)

                                                                loadimpact.com/result/www.matrix-club.ru/forum/-e0f53611ff7df249ee00951966993794
                                                                  0
                                                                  хм… вместо моего сайта какойто матрикс-клуб оказался в линке))
                                                                  –1
                                                                  Я поражаюсь действиям некоторых прыщавых дебилов, которые, сожаленью, и здесь представляют неубиенную породу дебилов. Ставят минусы людям, высказывающим свое мнение, причем адекватное мнение. Кому вообще нужны эти минусы и плюсы если их лепят только за то, что кто-то высказал соображения, отличные от сообразизмов кретинирующих садогедонистов?

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

                                                                  Самое читаемое