Хм, а смысл таких тестов? За минуту теста, до WordPress даже дело доходить не будет, всё тупо из кэша будет доставаться, с таким же успехом можно сделать набор html-ек из WordPress.
И тем не менее такая штука легко выдержит пресловутый хабраэффект. Тогда как многие до сих пор не выдерживают. Видимо, не знакомы с преимуществами кэширования.
Как бы есть сомнения, что и в этом случае блог выдержит хабраэффект. Тем более ничего не говорится, о количестве записей в блоге, плагинах (зачастую больше всего тормозят именно они).
Вот чего вы такие твердолобые?) Посмотрите на свои статьи (как и у меня) там одна популистская хрень. А это техническая статья, которую можно рассматривать как пример. Вы бы еще рецензию на учебник физики за 7й класс написали отрицательную, потомучто там, видите ли, в примерах не учитываются релятивистские и квантовые эффекты.
Из этой статьи можно вынести несколько полезных вещей. Далеко не все о них знают. А вы рубите на корню. Просто чтобы получить очередной плюсик в карму и поговорить ни о чем.
Да, кэп! Динамику не надо кэшировать! Но, это же блог! Там статики мноооого! Если у вам в блоге одна динамика, то я бы был солидарен с Лебедевым в том, что ваш блог… (сами понимаете).
Вы что прикалываетесь? Или реально не понимаете, разницу между реальным блогом (у которого посещаемость 10 лямов в сутки, да пусть даже лям), сколько там контента, сколько там юзеров, сколько они оставляют комментариев? Причем эти люди ходят не на одну только индексную страницу.
А вы реально не понимаете разницу между учебным примером с допущениями и ограничениями и реальной задачей? Все тот же пример с учебником физики за 7й класс.
Техническая статья — вы издеваетесь? Совет установить reverse proxy, кешировать динамику и отдавать кешированный контент — это с каких пор стало технической статьёй?
Вот если бы автор нарисовал диаграмму, описал стандартные конфиги Varnish для работы с Word Press — тогда другое дело, но это же alizar.
Вы уверены что посмотрели все мои статьи? :)
Например статья об наболее быстром алгоритме определения страны по IP. Где не тупо перепечатываю новости как некоторый, а рассматриваю свой алгоритм, который в 5 раз быстрее аналогов, причем предлагаю алгоритм в свободное пользование. Или например, поведенческий фильтр от спама дляя phpbb3, исправление кодировок, бэкап…
Мне лично вообще пофиг какой там у меня рейтинг. Да и реально технические статьи всегда дают меньше плюсов, чем мегановость о приглашении порнозвезды на выпускной :) Потому и не заморачиваюсь всякими писькомерками :)
Да и вашим словам это противоречит, Вы написали «чем ВСЕ то».
Так как большую часть кармы я получил именно за технические статьи. Или вы думаете за айпады 3 много кармы получил, да там наоборот потерял. Так как те, кто ставил плюсы за статью, карму не трогали, а вот яблокофаны, которым показалось, что я обидел их божество, минусов в карму накидали :)
Соглашусь с вашими оппонентами, не такая уж статья техническая, просто сборник ссылок, никакого личного примера на практике.
Но как сборник ссылок благополучно уходит в закладки, на будущее.
Заголовок гласит «10 миллионов хитов в день с wordpress».
wordpress подразумевает динамический сайт, где пользователи регистрируются, авторизируются, добавляются комменты, материал, идут пинги, вертяться баннеры, считается статистика, есть навалом контента.
Закэшировать несколько страниц намертво в статику и назвать это «10 миллионов хитов в день с wordpress», это шельмование идеи.
Это как bitrix в свое время включил у себя gzip и заявил на рекламном баннере, что «теперь у него сайты грузятся до 30 раз быстрее» (с).
Не соглашусь, возьмем например обычный блог на WordPress, на нем все страницы можно смело кэшировать в статику, от этого сайт статичным не становится.
Да, это не вконтаке и информация на сайте не меняется каждую секунду, но при этом это и не html сайт где нельзя оставить комменатрий и нужно добавлять страницы вручную в html.
Это динамически сайт выдерживающий 10 млн. хитов.
Я не смотрел конфигурацию автора, но вообще правильные ребята кешируют всё для незалогиненых пользователей, и для тех, кто не пишет комментарии. Как только ты логинишься, или пишешь комментарий, чтобы потом с какой-то вероятностью ждать реакцию на него — тебе прописывается кука, которая даёт тебе возможность смотреть на сайт без кеша.
Плюс к этому — сейчас модно ставить сторонние системы комментариев, которые грузятся яваскриптом и производительность которых от хоста не зависит.
По-моему, названные проблемы высосаны из пальца.
Правильные ребята кешируют блоками с разным TTL и отдают не целиком закешированную страницу, а страницу, собранную из закешированных блоков. Одни и те же блоки на странице могут быть закешированны с разным TTL для гостей и для залогиненых пользователей, к тому же вся страница может быть собрана из закешированных блоков, а блок комментариев, к примеру, быть динамичным.
Поправьте меня, если я ошибаюсь: блочное кеширование требует переделки кода сайта и далеко не ограничивается правильной конфигурацией nginx, т.е. дополнительная сложность внедрения и поддержки.
Для личного блога кеширование блоками — overkill.
Я никогда не работал с Word Press, но последний проект мы изначально проектировали с учётом блочного кеширования, это не так сложно, на самом деле. Для блогов, конечно, Вы правы — это можно делать только для саморазвития, но для крупного коммерческого проекта с high-load лучше озаботится этим заранее.
Дайте мне такой трафик, и я найду больше 15$ чтобы его поддерживать.
А так это похоже на что-то типа: «Как можно заработать миллион $, и прожить на дошираке».
По моему смысл в том что мой персональный блог, в котором я пишу что у меня чешется левая пятка или наш нуборейд с 234678545 попытки положил Смертокрыла внезапно вызвал интерес какой-то статьей и генерирует по 100500 посетителей в час. 15 долларов отличная сумма для блога с полноценной осью и возможностью устоять при внезапном наплыве посетителей.
Ставил я все эти плагины для кеширования и т.д… Скажу честно- ни за что не выдержит даже миллиона хитов, не говоря уже о 10-ти…
Ну если конечно там отключить все плагины и оставить одну новость- то может быть…
Вот DLE в плане нагрузки- лучший движок для крупнопосещаемых проектов. Перешел на него с WP — top сервера ~ 1% (на WP было ~10-15%). И это при 10-15k уник/сутки.
Да, именно по этому на DLE работает столько «крупнопосещаемых» порталов, правда за исключением варез-сайтов ни одного портала что-то припомнить не могу
Разницы в том, что на DLE работают только типовые сайты вырезники, на них даже дизайн на всех похож, а сделать на DLE что-то более интересное нереально, по той простой причине, что DLE как система управления фигня фигней, расширять ее почти нереально, многие функции отсутвуют, еще и ломают ее постоянно.
Я это все к тому, что если вы лучше DLE ничего не видели, то не надо писать об этом на каждом углу.
Использую Варниш в относительно высоконагруженном проекте (до 2 млн. хитов в сутки, несколько десятков тысяч статей), очень доволен его работой (раньше использовали файловый кеш). Вопросы не ради холивара, а из любопытства (Nginx в таком режиме не использовал):
можно ли Nginx настроить так, чтобы он для одних юзеров отдавал данные из своего кеша, а для других нет? Различать юзеров нужно по наличию/отсутствию куки.
Может ли Nginx хранить кеш в RAM?
Можно ли с Nginx'ом организовать «прозрачное» кеширование. «Прозрачное» кеширование, в моем понимании, — это такое в кеширование в котором приложение и не подозревает (а значит не требует доработки) о наличии кеширующего сервера перед ним, то есть приложение при запросе отдает данные, а кеширующий прокси уже сам, руководствуясь конфигом, решает класть их в кеш или нет, кому этот кеш отдавать, а кому нет и когда этот кеш нужно удалить.
Может ли Nginx проверять доступен ли бэкенд, и если недоступен отдавать всем пользователям свой кеш без попыток передать запрос бэкенду?
Можно ли в Nginx по внешнему запросу очистить кеш страницы с определенным УРЛом?
1) да, естественно. никто не отменяет наличия if.
2) это странный вопрос. он хранит кэш в файлах, но у ОС есть файловый кэш. и всегда есть возможность работы с memcached.
3) да
4) не совсем так, но да (proxy stale).
5) нет, пишите мелкого демона.
Значит ли это что Нжинкс сам может класть кеш в Мемкеш? Если нет, то значит кеш будет отдаваться с использованием бэкенда, а этого хотелось бы избежать.
Собственно, мы ровно так и используем: на фронтенде Нжинкс, отдающий статику (js, css, картинки), на бэкенде Варниш + Апач (от него в нашем приложении отказаться сложно) + PHP-приложение. Архитектура не окончательная и, честно говоря, одно из двух: Варниш или Нжинкс, мне в ней кажется лишним, по-этому подумываю об эксперименте, в котором хочу попробовать отказаться от сначала от Нжинкса (то есть оставить только Варниш + Апач), потом от Варниша (Нжинкс + Апач) и сравнить что же работает быстрее.
Мой блог, siege вам в руки. Micro instance, wordpress блог на nginx+php-fpm, кэширование прописано только у nginx. Плачу я за это дело вместе с трафиком 7$ в месяц.
Попробуйте уронить, запишите результаты и показатели. Интересно будет посмотреть.
Как долго и каким образом вы «тестировали»? У меня пик загрузки процессора — 9,6%, и что самое смешное, этот пик приходится на время до написания моего комментария, т.е. когда я тестировал самостоятельно с помощью Blitz.io, на ваши же усилия ушли 2-3% процессора.
Кстати, на счёт стоимости я слукавил, получается чуть меньше.
Не работает только главная страница, я заработал труднорешаемый бесконечный редирект:) Теперь мне предстоит весёлое время выяснения, кто виноват и что делать.
«Хабраэффект» — порядка двадцати пяти тысяч хитов в течение нескольких часов, мой блог запросто с таким справится. За сегодняшний день на трафик потрачен один цент, если вы об этом.
За ночные тестирования, остальные просто заходят посмотреть, да и работать перестало после шестнадцати часов. Если хотите потестировать сейчас — стучитесь на этот адрес, например.
Я вас уверяю, «хабраэффект» — штука для блога совсем не страшная и не затратная. А уж двести кликнувших по ссылке выше погоды не делают совсем.
Судя по логам, кто-то аккурат когда я возился с плагинами, тестировал ab. Нагрузка на сервер за этот период — не больше двух процентов.
А проблему нашёл и решил; теперь при встрече с php-программистами аддонов для wordpress буду жать руку до хруста или до характерного щелчка. Замечательная система этот WP.
Покажите мне человека на хабре, который знает слово «nginx», но не умеет того, о чём написано в «статье».
Где-то с первого абзаца в rss подумал, что автор — alizar, так и вышло.
Давно уже хотел написать такой пост, но забросил, потому что поискав, понял, что информации — море, и любой желающий при минимальном желании может разобраться (так и валяется в черновиках). Раз уж спрос какой-то всё-таки есть, напишу, как это сделано у меня, но опубликую у себя — всё-таки это статья не уровня Хабра, а, как тут заметили, учебника по физике седьмого класса.
Я ничего не понимаю в WP, но зачем эти две команды подряд:
«GRANT ALL PRIVILEGES ON wordpress.* TO “wp_user”@”localhost” IDENTIFIED BY “ENTER_A_PASSWORD”;
FLUSH PRIVILEGES;»
Вставлю свои 5 копеек. Наш проект — приложение для айфона — memocards.co. И у меня в свое время встал вопрос как и на чем сделать landing page. Да, есть itunes со скринами и описание, на который придется основной удар с новостных лент и обзорных сайтов, но, тем не менее, нужен сайт, который бы обслуживал SEO-траффик, содержал бы какую-нибудь feedback форму, FAQ и т.д. Да, WordPress изначально спроектирован как блог (или новостная лента). Но учитывая качество платформы, ее популярность и количество платных/бесплатных плагинов — я остановился именно на нем в качестве исходной платформы для сайта. И пока я нисколько не пожалел. Посему, как непосредственный бенефициант, считаю неправильным критиковать кэширование wordpress'a из-за противоречие самой идеи платформы. Это не всегда так.
И не смотря на то, что статья якобы «популистская», — прочти я ее раньше, она бы мне здорово сэкономила времени!!! Хотя по факту у нас реализовано все вышеописанное, на EC2, только без Varnish. Мой вчерашний тест показал, что без него мы выдерживаем «всего» 7 000 000 хитов в день. Ну и Б-г бы с ними, с остальными 3))
Итого: имхо, статья полезна для людей как я — менеджер проекта без глубоких тех знаний, для принятия решения как и на чем построить сайт, способный устоят в трудную минуту хабрэффекту.
Это конечно всё здорово, WordPress тут не причём, с таким же упехом может работать любое другое php приложение, но самый очевидный вопрос не в этом, а вот в чём: трафик-то у нас что, бесплатный? ;)
10 миллионов хитов в день с WordPress на сервере за $15