ПредишенСледващото

Предлагам ти изследванията си върху PHP производителност (или по-скоро, предпочитан вариант специално за Bitrix) работи в различни режими. Целта беше да не се получи някакви фигури на възможно посещаемост, а именно за сравнение на различни версии на равни други условия.

GGI - най-старият начин да стартирате скрипта (включително PHP). В този случай, за всеки хит PHP интерпретатор работи като самостоятелно приложение и се предава на скрипт, за да се изпълнява. Сценарият трябва да се върне заглавията, а след това на HTML код на страницата. След това, на интерпретатора прекратява.

Apache модул - в този случай се намира в паметта на PHP уеб сървъра, не губи време за започване на преводача.

FastCGI - Evolution CGI интерфейс, в този случай PHP тичам в отделен процес, но след изпълнението на скрипта не спира нейната работа.

Той ли е толкова бързо, на FastCGI? Проверете!

На една машина инсталиран Apache 2.2 + MySQL 5, както и демонстрация на сайта "Bitrix бизнес". Bitrix кеширане забранено компоненти на случаен принцип възстановяването на кеш паметта не повлияе на резултатите.
Тук умишлено не се фокусира върху хардуер и конфигурация, тъй като Повтарям, проблемът не е да се получи на абсолютните стойности, а за сравнение на различни начини на PHP работа.
Друга машина в мрежата създава симулация на натоварването на сървъра. За това се използва JMeter.
Той е написан на Java, и той създава приличен товар. Ето защо, за чистотата на експеримента аз трябваше да "отделен" от сървъра.

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

план тест, състояща се от 6 страници, две паралелно заявка. Опитвам се да се избере най-динамично натоварени страници, за удобство на традиционните наименования, дадени от тях съдържание. не трябва да се свързва откат скорост на страници с едни и същи модули.
Зареждане само динамичен страници код без статиката, съответно Nginx не може да се използва (подробности в урок).

Така че, всичко е готово, се пристъпи към тестване.

Тестване без ускорител PHP

CGI
Резултатът е следният графиката на общите резултати на всички страници:

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

Blue - Средната продължителност на възвръщаемост на всяко посещение в мс
Purple - средната статистическа
Червен - отклонението от средната стойност
Green - скоростта на качване на страници

В резултат на това ние имаме средно време от 5,5 секунди на страница, скорост на качване на страници - 105 на минута.
Имайте предвид, тук времето на страницата - този път, който е наистина очаква потребителят, отколкото средната стойност на всички паралелни разследвания (във втория случай ние се 105/60 = 1,75 секунди на страница).

Отделно от това, страниците се обърнаха като диаграма (средно време за отговор):

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

Тук резултатът е по-добра от - 122 страници в минута. И съответно, на графиката:

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

Много добър резултат в сравнение с традиционния CGI: 120 страници в минута, малко по-бавно, отколкото на модула.
диаграма:

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

Но как да се промени картината, ако зададете на газта PHP?

Резултатите от теста с установена EAccelerator

CGI - EA
Известно е, че газта не работи както в режим на CGI тя се нуждае от достъп до общата памет на всички процеси. Phpinfo но има данни, че eaccelerator зареден и чувството, че тя работи. Нека да проверим.

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

108 страници в минута. Това е на практика един и същ резултат, който беше. диаграма:

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

309 страници в минута, средното време за изчакване 1 секунда отговор. Бих казал, че това е вече нещо. Е и, съответно, на страниците:

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

294 страници в минута, т.е. около 5% по-бавно от модула. Но все пак това не излиза да има сравнение с традиционното и спокойно режим CGI.

Mod_php срещу CGI срещу FastCGI - или - как да изберете хост, Андрю Posnov (Bitriks, IOS програмист)

Като цяло, на страниците може да се види леко закъснение от модула.

Има ли някакви други проблеми?

Общежитие CGI често се използва като в този случай е много по-лесно да управлявате [да се чете: нарязани] потребителите на ресурси. И като резултат получаваме "необясними грешки".

Бих искал да спомена за още един важен момент: днес има един PHP файл за CGI и режим на FastCGI, phpinfo да видите:

API сървър: CGI / FastCGI

Така че малко изглежда възможно на ниво потребител, за да разбера как всъщност работи PHP. Като се има предвид оскъдна документация относно конфигурирането на FastCGI, че е много вероятно, че ще бъдат подведени.

Заключения или "Как се избират домакин?"

Ако сте обикновен потребител вероятно превърта цялата техническа натоварване веднага да намерите отговор на този въпрос.

  • Изберете режим на CGI, ако вашият сайт е посветен на източната философия и времето за зареждане на посетителите на сайта не ме интересува.
  • FastCGI дава добри резултати при изпълнението, но тя има свои собствени проблеми режим CGI, и това постоянно "500" грешки в сървъра.
  • В други случаи, аз препоръчвам използването на PHP като Apache модул. Особено, когато става дума за специален сървър или VPS.
  • Не забравяйте да се обърне внимание на PHP на газта. За съжаление, много хостинг компании не плащат достатъчно внимание на този проблем.
  • И още един важен момент: не вземете носи повече проблеми, отколкото нещо друго, като един съсед домакин на стълбището, понякога елементарни неспособност да създаде системата. Изберете професионалисти.
  • Препоръчваме Ви да закупите дългосрочна хостинг тест то в нашия скрипт. Периодично актуализиране на сценария, като се вземат предвид новите предизвикателства.

Вижте сами и да си направите изводи. За съжаление, потребителят започва да разбира значението на "правото" да бъде домакин само след изправени пред редица проблеми.

Подкрепете проекта - споделете линка, благодаря!