Wordpress тестове върху споделен БГ хостинг

ns1bg

Member
Ще ми трябва и админ достъп за да инсталирам една добавка за REST апито. Добавката е "Application Passwords".

Или може просто Вие да я инсталирате. След това отидете през админа в менюто за потребители, изберете потребител. който може да публикува статии. Най-долу ще има къде да се зададе парола. То ще я изпринтира (ще е от този тип асдф фгсафа гасдаг асдага). После трябва да я обърнете в base64 (echo "потребител:парола" | base64) и ми я пратете. Тук има инструкции: https://wordpress.org/plugins/application-passwords/

Ако pretty permalinks не е пуснато също трябва да се пусне. При Jump беше с настройките по подразбиране, т.е. без. При суперхостинг не се наложи да го променям. Не знам защо, но REST апито не можах да го подкарам без pretty permalinks. Предполагам трябва да ескейпна нещо, но не ми се занимава да търся какво.

Благодаря!
Изпратих на лично съобщение логин данните за админ. Изключени са всички защити за wp-login и т.н., за да може да се види истинската производителност.
 

И.ИваHоВ

Active Member
Благодаря! Тествам в момента. За съжаление за сега резултатите изглеждат по-лоши останалите фирми, които пробвах. Но за 3лв толкова. ;) Предполагам сайта е на най-малкият план?

Когато имам време, по-късно днес или утре ще публикувам резултатите. Ще опитам да добавя още някоя компания. Ицн така и не ми активираха акаунта.
 

ns1bg

Member
Благодаря! Тествам в момента. За съжаление за сега резултатите изглеждат по-лоши останалите фирми, които пробвах. Но за 3лв толкова. ;) Предполагам сайта е на най-малкият план?

Когато имам време, по-късно днес или утре ще публикувам резултатите. Ще опитам да добавя още някоя компания. Ицн така и не ми активираха акаунта.
Това, което виждам в логовете са блокирания от mod_security поради редица причини. Как правите теста? Не hit-вате спрените правила за wp-login, но hit-вате други, които не биха се случили при нормална работа на сайт. Пускайте заявки към съществуващи страници като симулирате browsing activity. Така би изглеждал истински тест, защото това се случва на практика в един натоварен сайт.

Аз направих тест през Pingdom - https://tools.pingdom.com/#597f132e86800000

Performance - Grade A
Load time - 0.8s

Отделно направих тест с Apache bench.

1000 заявки към http://wp.ns1.bg с 10 конкурентни сесии

Concurrency Level: 10
Time taken for tests: 2.931 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 60591000 bytes
HTML transferred: 60159000 bytes
Requests per second: 341.18 [#/sec] (mean)
Time per request: 29.310 [ms] (mean)
Time per request: 2.931 [ms] (mean, across all concurrent requests)
Transfer rate: 20188.03 [Kbytes/sec] received
 

И.ИваHоВ

Active Member
Тествам с curl и баш. Има го пълният скрипт в първите постове.

Но е нещо от типа на:

Така правя пост, заявката за триене на поста е подобна.
curl -X POST -w "\n%{time_total}\n" -s --header "X-Forwarded-For: create_post" --header "Authorization: Basic $api_pwd" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"title":"Test Post","content":"Content","type":"page", "status": "publish", "slug": "test123"}' http://"$url"/wp-json/wp/v2/posts/

И така зареждам главната страница.

curl -so /dev/null -w "%{time_total}\n" --header "X-Forwarded-For: landing_page_load_${ses}" http://"${url}/index.php"

Какви са причините mod_security да го реже? Липсва хедър за браузър? Сега ще опитам с него.

wp-login няма как да хитвам, защото не се логвам изобщо.
 

ns1bg

Member
Препоръката ми е да тествате нормално browsing activity, което би се случило на практика при нормална работа на сайт. Аз не знам за сайт, който да публикува по 50 статии едновременно и да използва споделен хостинг.

Ето един новинарски сайт, който се хоства при нас и използва WordPress - http://www.mignews.info. Actualno.com е друг такъв.
 

И.ИваHоВ

Active Member
Теста с АБ би бил валиден ако измерваме времето, за което се зарежда вече готова или статична страница. Така не сравняваме портокали с портокали. Трябва да има смесени операции - публикуване (постове, страници), триене, зареждане на готови страници, регистриране на потребител и т.н. Аз правя само три операции. Някой ден, когато имам време ще добавя още. Вероятно, когато тествам VPS-и за да мога да ги натоваря правилно.

В случая това, че създавам много постове за кратко време не е релевантно. Реално симулирам потребителски трафик. Просто е автоматизирано, защото мен ме мързи да цъкам ;) Извинявам се, но 20-30 заявки в секунда в днешно време не би трябвало да са проблем за хостинг или VPS за 3-5лв.

Тествам производителността на бекенда. Наясно съм, че трафика идва в повече за споделен хостинг (понякога), но теста е напълно валиден.

Проблема е, че за разлика от много други сървъри при вас отнема много време да се извърши дадена операция. Например над 5 секунди за да направи пост. За сравнение на други места отнема около или под секунда. Отново споделен хостинг.

Ето например с тази заявка се създава пост: time curl -X POST -s --header "X-Forwarded-For: create_post" --header "Authorization: Basic d3BhZG1pbjpPbXdMIHhBcnEgNUdJeCAxQm1LIFZJOTUgdlBFVwo=" -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -d '{"title":"New post","content":"Content","type":"page", "status": "publish", "slug": "test123"}' http://wp.ns1.bg/wp-json/wp/v2/posts/

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

Силно се съмнявам mod_security да блокира скрипта, защото съм използвал същата схема за тестове на най-различен софтуер... Не само с WordPress. А именно баш лууп, който пуска curl или wget заявки. Имал съм проблеми единствено ако липсва хедъра за браузъра или ако има някакъв филтър за брой заявки от едно ип за определено време. Минава навсякъде, дори през хардуер от типа на BIGIP.
 
Последно редактирано:

И.ИваHоВ

Active Member
Благодаря на NS1 за съдействието с тестовия акаунт!

Не успявам да си харесам друга BG компания за сега. Ще изпробвам coolicehost, защото ми е любопитно да ги сравня и ще приключа със споделения хостинг.

Ако някой има акаунт при някоя българска фирма, която липсва от списъка по-долу ще се радвам да тествам и там.

Довечера или в Понеделник ще публикувам резултатите за superhosting.bg, jump.bg, ns1.bg и coolicehost.com Както и как точно правя теста стъпка по стъпка, за да може всеки да го повтори.
 

ns1bg

Member
В случая това, че създавам много постове за кратко време не е релевантно. Реално симулирам потребителски трафик. Просто е автоматизирано, защото мен ме мързи да цъкам ;) Извинявам се, но 20-30 заявки в секунда в днешно време не би трябвало да са проблем за хостинг или VPS за 3-5лв.
1. Според мен един тест би включвал браузване на страниците на сайта и мерене за колко време се изпълняват заявките.
2. Пуснах нова тема ръчно във въпросния WordPress, който инсталирах и поста отне по-малко от половин секунда.

Тествах с вашата заявка и ето го резултата.

# time curl -X POST -s --header "X-Forwarded-For: create_post" --header "Authorization: Basic d3BhZG1pbjpPbXdMIHhBcnEgNUdJeCAxQm1LIFZJOTUgdlBFVwo=" -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -d '{"title":"New post","content":"Content","type":"page", "status": "publish", "slug": "test123"}' http://wp.ns1.bg/wp-json/wp/v2/posts/
{"id":262,"date":"2018-09-21T15:04:21","date_gmt":"2018-09-21T15:04:21","guid":{"rendered":"https:\/\/wp.ns1.bg\/test123-134\/","raw":"https:\/\/wp.ns1.bg\/test123-134\/"},"modified":"2018-09-21T15:04:21","modified_gmt":"2018-09-21T15:04:21","password":"","slug":"test123-134","status":"publish","type":"post","link":"https:\/\/wp.ns1.bg\/test123-134\/","title":{"raw":"New post","rendered":"New post"},"content":{"raw":"Content","rendered":"<p>Content<\/p>\n","protected":false},"excerpt":{"raw":"","rendered":"<p>Content<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"collection":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/comments?post=262"}],"version-history":[{"count":0,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/media?parent=262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/categories?post=262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/tags?post=262"}],"wp:action-publish":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-sticky":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-assign-author":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-create-categories":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-assign-categories":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-create-tags":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-assign-tags":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}

real 0m0.526s
user 0m0.002s
sys 0m0.003s

Тук отнема половин секунда. Пуснах и един цикъл с 30 заявки.

real 0m25.762s
user 0m0.086s
sys 0m0.092s

25 секунди за изпълнението на 30 заявки.
 
Теста с АБ би бил валиден ако измерваме времето, за което се зарежда вече готова или статична страница. Така не сравняваме портокали с портокали. Трябва да има смесени операции - публикуване (постове, страници), триене, зареждане на готови страници, регистриране на потребител и т.н. Аз правя само три операции. Някой ден, когато имам време ще добавя още. Вероятно, когато тествам VPS-и за да мога да ги натоваря правилно.

В случая това, че създавам много постове за кратко време не е релевантно. Реално симулирам потребителски трафик. Просто е автоматизирано, защото мен ме мързи да цъкам ;) Извинявам се, но 20-30 заявки в секунда в днешно време не би трябвало да са проблем за хостинг или VPS за 3-5лв.

Тествам производителността на бекенда. Наясно съм, че трафика идва в повече за споделен хостинг (понякога), но теста е напълно валиден.

Проблема е, че за разлика от много други сървъри при вас отнема много време да се извърши дадена операция. Например над 5 секунди за да направи пост. За сравнение на други места отнема около или под секунда. Отново споделен хостинг.

Ето например с тази заявка се създава пост: time curl -X POST -s --header "X-Forwarded-For: create_post" --header "Authorization: Basic d3BhZG1pbjpPbXdMIHhBcnEgNUdJeCAxQm1LIFZJOTUgdlBFVwo=" -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -d '{"title":"New post","content":"Content","type":"page", "status": "publish", "slug": "test123"}' http://wp.ns1.bg/wp-json/wp/v2/posts/

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

Силно се съмнявам mod_security да блокира скрипта, защото съм използвал същата схема за тестове на най-различен софтуер... Не само с WordPress. А именно баш лууп, който пуска curl или wget заявки. Имал съм проблеми единствено ако липсва хедъра за браузъра или ако има някакъв филтър за брой заявки от едно ип за определено време. Минава навсякъде, дори през хардуер от типа на BIGIP.
Колега, здравейте!
Понеже споменахте, че имате съмнения относно mod_security...
Ако е удобно, моля, да кажете на г-н/г-жа от въпросната компания - (с които кореспондирате), да изключат mod_security и след като извършите на вашите тестове, да споделите резултатите тук в темата. :)

Както от личен интерес, така и от интерес върху вашия казус, ще налбюдавам темата и ще очаквам евентуално да видя резултатите, които ще споделите.

Поздрави. :)
 
Последно редактирано:

glamluxy

New Member
Защо не го инсталираш направо на vps (почват от 5$ на месец, на нас един от 10$ ни е достатъчен да издържа на 35% натоварване 100-тина потребителя едновременно), като само трябва да добавиш съврърен кеш, за да спестиш от натоварването? Отнема като четене 3-4 часа да сханеш за какво иде реч и не си губиш парите за простотията, наречена споделен хостинг
 

ns1bg

Member
Защо не го инсталираш направо на vps (почват от 5$ на месец, на нас един от 10$ ни е достатъчен да издържа на 35% натоварване 100-тина потребителя едновременно), като само трябва да добавиш съврърен кеш, за да спестиш от натоварването? Отнема като четене 3-4 часа да сханеш за какво иде реч и не си губиш парите за простотията, наречена споделен хостинг
Използването на собствен сървър е най-правилното решение както от гледна точка на сигурност, така и на производителност. Споделеният хостинг не може да гарантира системни ресурси 24/7, а в същото време сайта ви може да бъде под непрекъснати локални атаки от други хакнати сайтове на същия сървър, което никак не е добре от гледна точка на сигурността. Хакването на сайт отдалечено е стотици пъти по-сложно отколкото локално, а когато на споделения хостинг сървър има един хакнат сайт, той се използва за локално атакуване на всички останали сайтове на сървъра. Единствено собственият сървър може да даде сигурността, от която има нужда един сайт.
 

И.ИваHоВ

Active Member
Колега, здравейте!
Понеже споменахте, че имате съмнения относно mod_security...
Ако е удобно, моля, да кажете на г-н/г-жа от въпросната компания - (с които кореспондирате), да изключат mod_security и след като извършите на вашите тестове, да споделите резултатите тук в темата. :)

Както от личен интерес, така и от интерес върху вашия казус, ще налбюдавам темата и ще очаквам евентуално да видя резултатите, които ще споделите.

Поздрави. :)
Здравей,

Дори да има ограничение от mod_security, за мен като клиент е без значение. Какво се случва отзад е извън скоупа на теста, защото от моя страна той е 100% идентичен навсякъде. Ако при една фирма производителността е лоша, при друга ще е добра.

Тук публикувах резултатите до момента - тест на споделен хостинг с WordPress За сега jump.bg определено са ми фаворити.

Днес или утре ще пробвам coolicehost и ще го добавя и него, че пак не остана време през почивката.
 
Последно редактирано:

ns1bg

Member
Аз не съм съгласен с резултатите от теста, защото използвах същите команди при мен и резултатите бяха различни. Изпълнението на заявката отне 0.5 секунди, а не 5 секунди.

time curl -X POST -s --header "X-Forwarded-For: create_post" --header "Authorization: Basic d3BhZG1pbjpPbXdMIHhBcnEgNUdJeCAxQm1LIFZJOTUgdlBFVwo=" -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -d '{"title":"New post","content":"Content","type":"page", "status": "publish", "slug": "test123"}' http://wp.ns1.bg/wp-json/wp/v2/posts/
{"id":262,"date":"2018-09-21T15:04:21","date_gmt":"2018-09-21T15:04:21","guid":{"rendered":"https:\/\/wp.ns1.bg\/test123-134\/","raw":"https:\/\/wp.ns1.bg\/test123-134\/"},"modified":"2018-09-21T15:04:21","modified_gmt":"2018-09-21T15:04:21","password":"","slug":"test123-134","status":"publish","type":"post","link":"https:\/\/wp.ns1.bg\/test123-134\/","title":{"raw":"New post","rendered":"New post"},"content":{"raw":"Content","rendered":"<p>Content<\/p>\n","protected":false},"excerpt":{"raw":"","rendered":"<p>Content<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"collection":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/comments?post=262"}],"version-history":[{"count":0,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/media?parent=262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/categories?post=262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/tags?post=262"}],"wp:action-publish":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-sticky":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-assign-author":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-create-categories":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-assign-categories":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-create-tags":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"wp:action-assign-tags":[{"href":"https:\/\/wp.ns1.bg\/wp-json\/wp\/v2\/posts\/262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}

real 0m0.526s
user 0m0.002s
sys 0m0.003s
 

И.ИваHоВ

Active Member
Добавих coolicehost.com

@coolice & @Blinky мога да ви поздравя. По принцип е много трудно да ме задоволи човек, свършили сте си работата добре. Въпреки, че дадения ми сървър не е в България до сега се държи най-гладко и бързо. Близо като резултати до моите VPS-и в Digital Ocean.
 

Blinky

Owner
Добавих coolicehost.com

@coolice & @Blinky мога да ви поздравя. По принцип е много трудно да ме задоволи човек, свършили сте си работата добре. Въпреки, че дадения ми сървър не е в България до сега се държи най-гладко и бързо. Близо като резултати до моите VPS-и в Digital Ocean.
Благодарим ти много за думите. Само едно въпросче, че съм пропуснал, къде си ни добавил? :)
 

Blinky

Owner
Няколко поста по-нагоре има линк или втория в подписа ми.

Правя малка статистика на фирмите.
Оп, извинявай, не помислих, че е там. Търсех го в темата някъде. :) Все пак за това беше темата. :)
Да знаеш, че е coolicehost.com, не .bg или както си го написал _bg. Също така, ако не е проблем за теб, ще може ли и ние да получим такова ревю както останалите участници, ако не е прекалено нагло и невъзпитано. :) Ако имаш някаква нужда от съдействие от моя страна, само казвай. :)

Мерси много и успехи натам.
 

И.ИваHоВ

Active Member
Оп, извинявай, не помислих, че е там. Търсех го в темата някъде. :) Все пак за това беше темата. :)
Да знаеш, че е coolicehost.com, не .bg или както си го написал _bg. Също така, ако не е проблем за теб, ще може ли и ние да получим такова ревю както останалите участници, ако не е прекалено нагло и невъзпитано. :) Ако имаш някаква нужда от съдействие от моя страна, само казвай. :)

Мерси много и успехи натам.
Извинявам се, явно съм бил разсеян и съм объркал домейна при правенето на графиките... Ще го оправя след малко.

Какво ревю точно? Ако искаш мога да го пусна общата статистика директно в темата?
 

pgplamen

Active Member
Винаги съм се чудил какво ще е бързодействието на опенкарт при различните хостинг компании. Това се поражда от факта че времето ми на изчакване е около 600/800 милисекунди.
Waiting (TTFB) 976.21 ms
 
Последно редактирано:

Горе