Wordpress 3500-4000 requests per second със сървър за 10-20лв

r.stefanov

Well-Known Member
Доста хора тук се опитват да ме убедят, че конфигурацията на сървърите няма значение за натоварването и възможностите на хостинга, когато става въпрос за оптимизация и време на зареждане при споделен хостинг (не помня кои потребители бяха, не ми се търси из постовете :lol:).

С помощта на blitz.io (не, не ми плащат за реклама) и някои други инструменти успях да симулирам между 10000 и 300000 посещения. Сайта се справи без никакви затруднения.

Това е малък пример за 100 конкурентни връзки и 500000 заявки:

ab -k -c 100 -n 500000 http://rstefanov.org/

Benchmarking rstefanov.org (be patient)
Completed 50000 requests
Completed 100000 requests
Completed 150000 requests
Completed 200000 requests
Completed 250000 requests
Completed 300000 requests
Completed 350000 requests
Completed 400000 requests
Completed 450000 requests
Completed 500000 requests
Finished 500000 requests


Server Software: nginx
Server Hostname: rstefanov.org
Server Port: 80

Document Path: /
Document Length: 61 bytes

Concurrency Level: 100
Time taken for tests: 140.520 seconds
Complete requests: 500000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 500000
Total transferred: 157000000 bytes
HTML transferred: 30500000 bytes
Requests per second: 3558.22 [#/sec] (mean)

cpu_mem_net.png

Всичко е настроено така, че при нов пост или някаква промяна кеша се обновява автоматично. Varnish -> Nginx -> Memcached -> PHP -> DB.

Поста го пускам, защото съвсем скоро ще имаме нова услуга именно с такова решение в големи мащаби. Аз лично ненавиждам бавно зареждащи сайтове и смятам, че има хора, за които нещо подобно ще бъде много полезно. Като се прибавят и HA + Failover машините в другите дата центрове ще стане много интересно и съм любопитен какви ще са реалните максимални възможности на продукта. Това с цена на маломощен VPS :wink: Без нужда от каквито и да е познания от страна на потребителя и на практика без ограничения за процесорно време. Качваш и забравяш, в същото време се възползваш от цялата cluser инфраструктура :)

В този пост съм качил още малко графики до като траеше самият тест от blitz.

Ще има 1 месец безплатен тест за всеки желаещ да опита.
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Можеш ли да направиш подобен тест и за Joomla?
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Какво точно те интересува? Нямам личен сайт с Joomla. Идеята е същата и резултатите ще са подобни.
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Интересува ме колко посещения ще държи, ако е инсталиран един компонент K2 (той е много популярен за Joomla. Представлява разширена система за статии).
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Хиляди. Тъй като няма ограничения в процесорно време всичко зависи от това колко трафик се използва. A ако статичното съдържание е на CDN (било го push CDN), той е минимален.
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

И направо оригинала:
http://www.ewanleith.com/blog/900/10-million-hits-a-day-with-wordpress-using-a-15-server

Направих го преди година и резултата е впечатляващ. Проблема е само ако ще е повече от едно PHP на хоста - тогава APC-то издиша и трябва да се бодне WPMU или да се оптимизира малко повече.

Може да се направи и нещо по-добро тип nginx -> nginx -> php-fpm -> apc
 
както се казва и на най доброто кеширане на сървърно ниво ако ползваш wordpress може да му боднеш един кеширащ плъгин накрая за да си го командваш от урдпреса :) англииската статия е трябва да се допълни с ъпдейт три w3 e ъпдейтван след като за последно е писано там просто имаха един период в който я преправяха правеха да я кръстят фреймурк ;)...


иначе да кажем мерси за труда r.stefanov с графиките и мерси на mobilio за страницата с инстукциите стъпка по стъпка


и да доптинеса и аз към този труд ... значи

препоръчвам да си качите mysqltuner

Код:
wget http://mysqltuner.com/mysqltuner.pl

chmod +x mysqltuner.pl

./mysqltuner.pl

преди него със дефултните за базата настроики на my.cnf на дистрибуция която ползвам MySQL заемаше максимално малко над 400 рам (пълнеше сия) и 16% процента цпу в статса на цпанела (устоичиво)

след леко барване на препоръчаните nastroiki и увеличаване на някой кешове заема малко 592 мб от 873.2 мб максимално разрешени и ползва 4% цпу

важи за всеки впс стига да имате повечко рам (в случая има повечко сайтове затова и рам има)
 
Последно редактирано от модератор:
От: От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

И направо оригинала:
http://www.ewanleith.com/blog/900/10-million-hits-a-day-with-wordpress-using-a-15-server

Направих го преди година и резултата е впечатляващ. Проблема е само ако ще е повече от едно PHP на хоста - тогава APC-то издиша и трябва да се бодне WPMU или да се оптимизира малко повече.

Може да се направи и нещо по-добро тип nginx -> nginx -> php-fpm -> apc

Не е това оригиналната статия. Събрал съм най-доброто от около 8 статии. :wink:

При мен не издиша. Ползвам Zend Optimizer+. Доста по-добри резултати вади от APC. Поне с Wordpress. А проблем с повече от една версия на PHP няма тъй като на тези сървъри операционната система е Gentoo и там е малко по-различно.

Сега остава да направя няколко теста между APC и ZO+ както и PHP 5.5. vs PHP 5.4 По-стари версии хич няма да си правя труда да тествам.

Иначе като цяло в момента е точно както го описах: Varnish -> Nginx -> Memcached -> PHP -> DB Като от вчера е Nginx Failover Proxy -> Varnish -> Nginx -> Memcached -> PHP -> DB Само че ме мързи да настроя вторият сървър и ако спре тестовия ще изкочи 502 :lol:

Mysql е съвсем отделна тема. А и не ползвам mysql от доста време. Поне не за моите проекти.

По натам ще направя публикация и с конфигурационните файлове.

@coolice - целта е да няма добавки. Никакви. Време е да забравим за хакнати Wordpress или проблеми с натоварването :)

П.П. - я дайте някой друг проблемен CMS? Чудя се Joomla или OpenCart да подхвана сега :p
 
От: От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Не е това оригиналната статия. Събрал съм най-доброто от около 8 статии. :wink:

оки-доки - може и 50 статии да си синтезирал в една инсталация. Ще видим ли обяснение стъпка-по-стъпка?

Онази статия е една от най-добрите - но и коментарите отдолу подобряват работата на скрипта защото коментиращите дават съвети или мнения.
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Ако имаш време направи наистина едни тестове на джумлите, та да видим какво може да се направи там. Аз в момента ползвам няколко споделени хостинг акаунта с джумла сайтове, щото ме притеснява минаването към VPS (досега не съм ползвал VPS).
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Ако имаш време направи наистина едни тестове на джумлите, та да видим какво може да се направи там. Аз в момента ползвам няколко споделени хостинг акаунта с джумла сайтове, щото ме притеснява минаването към VPS (досега не съм ползвал VPS).

Нямам личен сайт с Joomla, никога не съм харесвал платформата. Въпреки че е доста по-лека от Wordpress.

Който иска може да пробва - един месец безплатно да хоства за тест някой проблемен сайт. Лесно може да се направи примерен сайт с dummy съдържание, обаче няма да е същото :)

VPS също е решение, но тази конфигурация ще изкара много,много по-добри резултати.

@mobilio - защо ти е стъпка по стъпка? Няма нищо сложно в инсталацията. Дори с default настройки всичко ще работи и пак ще е по-бързо от Apache.
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Ако действително ти се занимава с hardcore тестове пробвай Pligg, PresstaShit (Shop), Magento.
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Ако действително ти се занимава с hardcore тестове пробвай Pligg, PresstaShit (Shop), Magento.

Дайте сайт и ще ми се занимава :) Не ми се играе да правя мой/наш за всяка платформа по отделно.
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

r.stefanov

Защо ползваш Nginx, не е ли по добре след Varnish да е Apache prefork. Мисълта ми е че ако кеша на Varnish е изтекъл то при това положение означава че трябва да се изпълнят някакви PHP скриптове, след което Varnish да създаде новия кеш и да почне да връща него.

До колкото ми е известно Nginx е много по бърз от Apache за статични файлове, но PHP скриптовете се изпълняват по-бързо на Apache prefork, а в случая ролята на Nginx/Apache е да изпълнява PHP скриптове през останалото време всичко минава през Varnish.

Виждам в подписа то и връзка към DirectHost.bg. Каква ти е връзката с тази фирма? Питам защото офертите им за VPS изглеждат доста изгодни. В момента почвам работа по един нов проект, всъщност сайта си е вече на няколко години но ще правим промени по функционалност, редизайн и общо взето всичко ще се променя. В момента имаме около 20 000 посещения и около 80 000 импресии дневно като със всеки ден се увеличават и вече се налага да се правят сериозни промени за по добра производителност. И аз си го мислех този вариант Varnish; Apache prefork; Memcached - за банерите, вътрешния кеш и кеша на bootstrap; APC за PHP скриптовете.

Ако имаш връзка с DirectHost.bg пиши ми за VPS 2 и VPS 3 с какви процесори вървят?
Има ли възможност да закупим някоя по custom машина? Примерно на нас не ни трябва толкова много дисково пространство.
Може ли в последствие да се закупуват примерно само RAM или само процесорни ядра или само месечен трафик?

В момента сме на cloud hosting: 4 CPU ядра(x2.4Ghz), 1.5 RAM, 30GB, 50Mbps и плащаме към 100лв/м. Фирмата няма да я споменавам, но е една от водещите и като цяло сме доволни.

Но ако можете да ни предложите по-добра оферта ще предам на клиента.
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

r.stefanov

Защо ползваш Nginx, не е ли по добре след Varnish да е Apache prefork. Мисълта ми е че ако кеша на Varnish е изтекъл то при това положение означава че трябва да се изпълнят някакви PHP скриптове, след което Varnish да създаде новия кеш и да почне да връща него.

Използвам Nginx + php-fpm по ред причини, включително сигурност и производителност. Failover, load balance, proxy, mail failover, mail load balance, ddos защита, microcache, memcached (nginx има модул за директно "общуване" с memcached), а няма да коментирам какви неща има из 3rd party модулите там е още по-интересно :) Всичко в едно. Плюс по-добра скалируемост. Без да си усложнявам живота допълнотелно. Мога 1000 реда да изпиша защо. Apache е стара технология. Каквито и сравнения да съм правил винаги е оставал назад като сървър. А вече доста време основно с това се занимавам. Провери какви сайтове се хостват с Nginx, не е случайно.

В повечето случай няма нужда от Varnish пред Nginx. Тук просто исках да пробвам един vcl, който писах аз и се оказа, че работи перфектно :lol:

Да твърдиш, че Apache обработва по-бързо php заявки от Nginx + php-fpm е много относително. До преди около година може и да е било така, но вече разлика няма, а пък имаш допълнителни функции и се използва по-малко рам. Даже самото име го подсказва - php fastcgi process manager.

Колкото до DirectHost и сървърите - най-добре се свържи по телефон, live chat, email, каквото избереш, няма значение. Връзката ми с тях няма да коментирам, защото темата не е за това. Като цяло фирмата е насочена главно към custom решения. Обясни на колегите какво точно ти трябва и ще ти бъдат дадени 2-3 оферти.

П.П. - мерси, coolice, ще го имам в предвид :p
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Вероятно си прав нямам задълбочени познания по web server-и, просто преди време бях чел някои сравнения между Nginx и Apache и на база на тях си направих някакви изводи. Занимавам се по скоро със създаването на сайтовете, но се налага понякога да пипам и по сървъра като вземат посещенията да се увеличават. С Nginx конкретно пък нямам никакъв опит.

Питах за връзката ти с тях, защото ако работиш там или си собственик, партньор или нещо такова можех да питам директно теб някои работи не за друго. Ще им пиша днес по някое време.

Малко офтопитик занимаваш ли се с странични поръчки, виждам че си доста на вътре в нещата може да ти препращам някои неща като има да се прави нещо по сървъра ако те интересува.
 
От: Wordpress 3500-4000 requests per second със сървър за 10-20лв

Малко офтопитик занимаваш ли се с странични поръчки, виждам че си доста на вътре в нещата може да ти препращам някои неща като има да се прави нещо по сървъра ако те интересува.

Да, но не се занимавам с Apache (ако става въпрос за оптимизация на сървър). Не че не мога, намирам го за излишно.
 

Горе