Pull to refresh

Comments 81

Хм, а смысл таких тестов? За минуту теста, до WordPress даже дело доходить не будет, всё тупо из кэша будет доставаться, с таким же успехом можно сделать набор html-ек из WordPress.
И тем не менее такая штука легко выдержит пресловутый хабраэффект. Тогда как многие до сих пор не выдерживают. Видимо, не знакомы с преимуществами кэширования.
Как бы есть сомнения, что и в этом случае блог выдержит хабраэффект. Тем более ничего не говорится, о количестве записей в блоге, плагинах (зачастую больше всего тормозят именно они).
Вот чего вы такие твердолобые?) Посмотрите на свои статьи (как и у меня) там одна популистская хрень. А это техническая статья, которую можно рассматривать как пример. Вы бы еще рецензию на учебник физики за 7й класс написали отрицательную, потомучто там, видите ли, в примерах не учитываются релятивистские и квантовые эффекты.
Из этой статьи можно вынести несколько полезных вещей. Далеко не все о них знают. А вы рубите на корню. Просто чтобы получить очередной плюсик в карму и поговорить ни о чем.
Да, кэп! Динамику не надо кэшировать! Но, это же блог! Там статики мноооого! Если у вам в блоге одна динамика, то я бы был солидарен с Лебедевым в том, что ваш блог… (сами понимаете).
Вы что прикалываетесь? Или реально не понимаете, разницу между реальным блогом (у которого посещаемость 10 лямов в сутки, да пусть даже лям), сколько там контента, сколько там юзеров, сколько они оставляют комментариев? Причем эти люди ходят не на одну только индексную страницу.
А вы реально не понимаете разницу между учебным примером с допущениями и ограничениями и реальной задачей? Все тот же пример с учебником физики за 7й класс.
Техническая статья — вы издеваетесь? Совет установить reverse proxy, кешировать динамику и отдавать кешированный контент — это с каких пор стало технической статьёй?
Вот если бы автор нарисовал диаграмму, описал стандартные конфиги Varnish для работы с Word Press — тогда другое дело, но это же alizar.
Ок. Это намного более техническая статья, чем все то, чем мой оппонент (как и я) заслужил высокий рейтинг и карму.
Вы уверены что посмотрели все мои статьи? :)
Например статья об наболее быстром алгоритме определения страны по IP. Где не тупо перепечатываю новости как некоторый, а рассматриваю свой алгоритм, который в 5 раз быстрее аналогов, причем предлагаю алгоритм в свободное пользование. Или например, поведенческий фильтр от спама дляя phpbb3, исправление кодировок, бэкап…
Уверен. Моим словам это не противоречит. Высокий рейтинг вы заслужили не техническими статьями. В чем я не прав?
Мне лично вообще пофиг какой там у меня рейтинг. Да и реально технические статьи всегда дают меньше плюсов, чем мегановость о приглашении порнозвезды на выпускной :) Потому и не заморачиваюсь всякими писькомерками :)
Да и вашим словам это противоречит, Вы написали «чем ВСЕ то».
Так как большую часть кармы я получил именно за технические статьи. Или вы думаете за айпады 3 много кармы получил, да там наоборот потерял. Так как те, кто ставил плюсы за статью, карму не трогали, а вот яблокофаны, которым показалось, что я обидел их божество, минусов в карму накидали :)
Да. Что-то у нас пошел какой-то флуд. Предлагаю на этом закончить. Вы правы) Давайте жить дружно!)
Соглашусь с вашими оппонентами, не такая уж статья техническая, просто сборник ссылок, никакого личного примера на практике.
Но как сборник ссылок благополучно уходит в закладки, на будущее.
Заголовок гласит «10 миллионов хитов в день с wordpress».
wordpress подразумевает динамический сайт, где пользователи регистрируются, авторизируются, добавляются комменты, материал, идут пинги, вертяться баннеры, считается статистика, есть навалом контента.
Закэшировать несколько страниц намертво в статику и назвать это «10 миллионов хитов в день с wordpress», это шельмование идеи.
Это как bitrix в свое время включил у себя gzip и заявил на рекламном баннере, что «теперь у него сайты грузятся до 30 раз быстрее» (с).
UFO just landed and posted this here
UFO just landed and posted this here
Не соглашусь, возьмем например обычный блог на WordPress, на нем все страницы можно смело кэшировать в статику, от этого сайт статичным не становится.

Да, это не вконтаке и информация на сайте не меняется каждую секунду, но при этом это и не html сайт где нельзя оставить комменатрий и нужно добавлять страницы вручную в html.
Это динамически сайт выдерживающий 10 млн. хитов.
Я не смотрел конфигурацию автора, но вообще правильные ребята кешируют всё для незалогиненых пользователей, и для тех, кто не пишет комментарии. Как только ты логинишься, или пишешь комментарий, чтобы потом с какой-то вероятностью ждать реакцию на него — тебе прописывается кука, которая даёт тебе возможность смотреть на сайт без кеша.
Плюс к этому — сейчас модно ставить сторонние системы комментариев, которые грузятся яваскриптом и производительность которых от хоста не зависит.
По-моему, названные проблемы высосаны из пальца.
Правильные ребята кешируют блоками с разным TTL и отдают не целиком закешированную страницу, а страницу, собранную из закешированных блоков. Одни и те же блоки на странице могут быть закешированны с разным TTL для гостей и для залогиненых пользователей, к тому же вся страница может быть собрана из закешированных блоков, а блок комментариев, к примеру, быть динамичным.
Поправьте меня, если я ошибаюсь: блочное кеширование требует переделки кода сайта и далеко не ограничивается правильной конфигурацией nginx, т.е. дополнительная сложность внедрения и поддержки.
Для личного блога кеширование блоками — overkill.
Я никогда не работал с Word Press, но последний проект мы изначально проектировали с учётом блочного кеширования, это не так сложно, на самом деле. Для блогов, конечно, Вы правы — это можно делать только для саморазвития, но для крупного коммерческого проекта с high-load лучше озаботится этим заранее.
Дайте мне такой трафик, и я найду больше 15$ чтобы его поддерживать.
А так это похоже на что-то типа: «Как можно заработать миллион $, и прожить на дошираке».
UFO just landed and posted this here
Почему бы иметь и такой траф, и себестоимость на хост в 15 бачей?
По моему смысл в том что мой персональный блог, в котором я пишу что у меня чешется левая пятка или наш нуборейд с 234678545 попытки положил Смертокрыла внезапно вызвал интерес какой-то статьей и генерирует по 100500 посетителей в час. 15 долларов отличная сумма для блога с полноценной осью и возможностью устоять при внезапном наплыве посетителей.
Ставил я все эти плагины для кеширования и т.д… Скажу честно- ни за что не выдержит даже миллиона хитов, не говоря уже о 10-ти…
Ну если конечно там отключить все плагины и оставить одну новость- то может быть…
Вот DLE в плане нагрузки- лучший движок для крупнопосещаемых проектов. Перешел на него с WP — top сервера ~ 1% (на WP было ~10-15%). И это при 10-15k уник/сутки.
Да, именно по этому на DLE работает столько «крупнопосещаемых» порталов, правда за исключением варез-сайтов ни одного портала что-то припомнить не могу
А какая разница в тематике сайта?
Вам показать варезники и развлекаловки с 50-100k униками?
Разницы в том, что на DLE работают только типовые сайты вырезники, на них даже дизайн на всех похож, а сделать на DLE что-то более интересное нереально, по той простой причине, что DLE как система управления фигня фигней, расширять ее почти нереально, многие функции отсутвуют, еще и ломают ее постоянно.

Я это все к тому, что если вы лучше DLE ничего не видели, то не надо писать об этом на каждом углу.
Varnish и плагины кеширования для WP явно лишние.
Достаточно просто настроить кеш в nginx
UFO just landed and posted this here
Конечно, это не обязательная зависимость, но уже можно сказать, что польза от Varnish ощутима.

Я один не ощущаю пользы? :)
Возможно Varnish более гибок в плане настроек кеширования, но в данном случае это совершенно ненужное звено, ИМХО.
Использую Варниш в относительно высоконагруженном проекте (до 2 млн. хитов в сутки, несколько десятков тысяч статей), очень доволен его работой (раньше использовали файловый кеш). Вопросы не ради холивара, а из любопытства (Nginx в таком режиме не использовал):
  • можно ли Nginx настроить так, чтобы он для одних юзеров отдавал данные из своего кеша, а для других нет? Различать юзеров нужно по наличию/отсутствию куки.
  • Может ли Nginx хранить кеш в RAM?
  • Можно ли с Nginx'ом организовать «прозрачное» кеширование. «Прозрачное» кеширование, в моем понимании, — это такое в кеширование в котором приложение и не подозревает (а значит не требует доработки) о наличии кеширующего сервера перед ним, то есть приложение при запросе отдает данные, а кеширующий прокси уже сам, руководствуясь конфигом, решает класть их в кеш или нет, кому этот кеш отдавать, а кому нет и когда этот кеш нужно удалить.
  • Может ли Nginx проверять доступен ли бэкенд, и если недоступен отдавать всем пользователям свой кеш без попыток передать запрос бэкенду?
  • Можно ли в Nginx по внешнему запросу очистить кеш страницы с определенным УРЛом?

Варниш умеет все выше перечисленное.
1) да, естественно. никто не отменяет наличия if.
2) это странный вопрос. он хранит кэш в файлах, но у ОС есть файловый кэш. и всегда есть возможность работы с memcached.
3) да
4) не совсем так, но да (proxy stale).
5) нет, пишите мелкого демона.
и всегда есть возможность работы с memcached.

Значит ли это что Нжинкс сам может класть кеш в Мемкеш? Если нет, то значит кеш будет отдаваться с использованием бэкенда, а этого хотелось бы избежать.
Нет, nginx умеет только доставать данные из memcached.
Но как уже писали выше, файловый кеш ОС прекрасно работает.
Хмм… то есть это означает, что класть данные в кеш и чистить кеш должно приложение. Выходит, в этом плане использовать Варниш проще.
Почему бы их не использовать одновременно — varnish для кеширования динамического контента, а nginx — только как reverse proxy + статика.
Собственно, мы ровно так и используем: на фронтенде Нжинкс, отдающий статику (js, css, картинки), на бэкенде Варниш + Апач (от него в нашем приложении отказаться сложно) + PHP-приложение. Архитектура не окончательная и, честно говоря, одно из двух: Варниш или Нжинкс, мне в ней кажется лишним, по-этому подумываю об эксперименте, в котором хочу попробовать отказаться от сначала от Нжинкса (то есть оставить только Варниш + Апач), потом от Варниша (Нжинкс + Апач) и сравнить что же работает быстрее.
Напишите пост по результатам. Думаю, будет интересно.
Интересно было бы узнать, чего это G-WAN такой быстрый.
Он ничего не делает. Иными словами, он также быстр, как print "Hello World".
Жаль, мне был интересен как раз шаг, который он НЕ описал подробно: «Install Ubuntu 11.10 (Oneiric) on a new virtual private server».
On Amazon EC2:
ec2-run-instances ami-895069fd --instance-type t1.micro --region eu-west-1 --key ${EC2_KEYPAIR_EU_WEST_1}
Микро инстанс не выдержит таких нагрузок. После 3х минут нагрузок, повторю, сервер превращается в мобильный телефон.
Мой блог, siege вам в руки. Micro instance, wordpress блог на nginx+php-fpm, кэширование прописано только у nginx. Плачу я за это дело вместе с трафиком 7$ в месяц.
Попробуйте уронить, запишите результаты и показатели. Интересно будет посмотреть.
Пожалуй, вы шикарно настроили свой хост. Мой ботнетец из 8ми машин оказался бессилен. Против nginx так просто не пойти.
Как долго и каким образом вы «тестировали»? У меня пик загрузки процессора — 9,6%, и что самое смешное, этот пик приходится на время до написания моего комментария, т.е. когда я тестировал самостоятельно с помощью Blitz.io, на ваши же усилия ушли 2-3% процессора.
Кстати, на счёт стоимости я слукавил, получается чуть меньше.
UFO just landed and posted this here
Игрался с https. По результатам — nginx перенаправления не дружат с перенаправлениями соответствующего плагина WP.
Судя по всему мы ждем статьи «Сколько мне стоил хабраеффект» или как быстро очнется Micro instance от хабраеффекта?
Не работает только главная страница, я заработал труднорешаемый бесконечный редирект:) Теперь мне предстоит весёлое время выяснения, кто виноват и что делать.
«Хабраэффект» — порядка двадцати пяти тысяч хитов в течение нескольких часов, мой блог запросто с таким справится. За сегодняшний день на трафик потрачен один цент, если вы об этом.
Это я так понимаю только за то время когда туда можно было зайти?
За ночные тестирования, остальные просто заходят посмотреть, да и работать перестало после шестнадцати часов. Если хотите потестировать сейчас — стучитесь на этот адрес, например.
Я вас уверяю, «хабраэффект» — штука для блога совсем не страшная и не затратная. А уж двести кликнувших по ссылке выше погоды не делают совсем.
Судя по логам, кто-то аккурат когда я возился с плагинами, тестировал ab. Нагрузка на сервер за этот период — не больше двух процентов.
А проблему нашёл и решил; теперь при встрече с php-программистами аддонов для wordpress буду жать руку до хруста или до характерного щелчка. Замечательная система этот WP.
UFO just landed and posted this here
Интересно, а за траффик сколько он платит? Фишка AWS в том, что траффик стоит тоже не дёшево.
Так фишка вся в том, что это чисто искусственное тестирование блога в вакууме. И естественно всякие «мелочи» типа оплаты трафика не учитывались.
$15 это имелась в виду micro? Я работаю с AWS и микро инстансы не использую совсем. При нагрузке они превращаются в мобильные телефоны.
Ну так о том я и говорю, что подобное тестирование имеет мало общего с реальностью.
Покажите мне человека на хабре, который знает слово «nginx», но не умеет того, о чём написано в «статье».
Где-то с первого абзаца в rss подумал, что автор — alizar, так и вышло.
Да думаю много таких, я в том числе
Давно уже хотел написать такой пост, но забросил, потому что поискав, понял, что информации — море, и любой желающий при минимальном желании может разобраться (так и валяется в черновиках). Раз уж спрос какой-то всё-таки есть, напишу, как это сделано у меня, но опубликую у себя — всё-таки это статья не уровня Хабра, а, как тут заметили, учебника по физике седьмого класса.
По-моему, обычно для таких блогов используют что-то вроде Jekyll.
Я ничего не понимаю в WP, но зачем эти две команды подряд:
«GRANT ALL PRIVILEGES ON wordpress.* TO “wp_user”@”localhost” IDENTIFIED BY “ENTER_A_PASSWORD”;
FLUSH PRIVILEGES;»

После grant не надо делать flush.
Вставлю свои 5 копеек. Наш проект — приложение для айфона — memocards.co. И у меня в свое время встал вопрос как и на чем сделать landing page. Да, есть itunes со скринами и описание, на который придется основной удар с новостных лент и обзорных сайтов, но, тем не менее, нужен сайт, который бы обслуживал SEO-траффик, содержал бы какую-нибудь feedback форму, FAQ и т.д. Да, WordPress изначально спроектирован как блог (или новостная лента). Но учитывая качество платформы, ее популярность и количество платных/бесплатных плагинов — я остановился именно на нем в качестве исходной платформы для сайта. И пока я нисколько не пожалел. Посему, как непосредственный бенефициант, считаю неправильным критиковать кэширование wordpress'a из-за противоречие самой идеи платформы. Это не всегда так.

И не смотря на то, что статья якобы «популистская», — прочти я ее раньше, она бы мне здорово сэкономила времени!!! Хотя по факту у нас реализовано все вышеописанное, на EC2, только без Varnish. Мой вчерашний тест показал, что без него мы выдерживаем «всего» 7 000 000 хитов в день. Ну и Б-г бы с ними, с остальными 3))
Итого: имхо, статья полезна для людей как я — менеджер проекта без глубоких тех знаний, для принятия решения как и на чем построить сайт, способный устоят в трудную минуту хабрэффекту.
Было бы не плохо завернуть все описные действия как Chef рецепт
Это конечно всё здорово, WordPress тут не причём, с таким же упехом может работать любое другое php приложение, но самый очевидный вопрос не в этом, а вот в чём: трафик-то у нас что, бесплатный? ;)
Sign up to leave a comment.

Articles