Высокая производительность

индекс
187,32

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

Наплыв посетителейЗаметка посвящена не столько возможным методам защиты (о них уже было много написано), сколько обзору небольшого списка для быстрой проверки при подготовке к возможных скачкам посещаемости. Судя по статистике нагрузки на электронные магазины на прошлой неделе (когда начался рождественский сезон продаж на Западе), даже для крупных магазинов время ответа может колебаться на 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, становится все более и более привлекательным.
+90
2 декабря 2009, 15:07
292

комментарии (60)

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

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

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

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

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

Результатом доволен :)
+7
corbenov #
loadimpact сам скоро ляжет — сейчас он проверяет тысячи российских сайтов :)
+3
caliban #
Habrahabr перегрузка!

Russian site habr's Load Impact!

Yesterday, the Russian site habrahabr.ru wrote an article [...]

This, of course, caused us to get habr'd!

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

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

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

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

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

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

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

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