PHP код обрабатывается одинаковое время, какой бы веб-сервер вы бы не использовали или нет?

123 4
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
599

Всем привет!

Подскажите, правильно ли я понимаю, что неважно какой бы то ни было веб-сервер вы используете, будь то NGINX, Apache или IIS то все равно PHP скрипт выполняется PHP интерпретатором/движком и что он на NGINX будет выполняться допустим 5 секунд, что на Apache или это не совсем так?

Заранее всем спасибо за ответы!


sergv
На сайте с 13.04.2006
Offline
413
#1
Dmitriy_2014 :

Всем привет!

Подскажите, правильно ли я понимаю, что неважно какой бы то ни было веб-сервер вы используете, будь то NGINX, Apache или IIS то все равно PHP скрипт выполняется PHP интерпретатором/движком и что он на NGINX будет выполняться допустим 5 секунд, что на Apache или это не совсем так?

Заранее всем спасибо за ответы!


Ха! Даже на разных версиях пыхи время выполнения будет разным. Скрипт - это не статика, это набор действий, время выполнения которых зависит не только от того, кто его будет обрабатывать. Скрипты разные... Данные, которые они будут обрабатывать - тоже разные. Под каждые задачи иногда нужно правильно подбирать железо.
https://REGHOME.ru - регистрация и продление доменов от 169₽ в российских и международных зонах по честным ценам без звездочек. (R01, WebNames, UK2). Принимаем Ю-Money, Visa, MasterCard, Мир
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#2
Если железо одинаковое, то скрипт PHP будет обрабатываться одинаково. А вот уже отдаваться клиенту, там могут быть разные вариации.
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
T7
На сайте с 19.09.2018
Offline
63
#3
Dmitriy_2014 :

PHP код обрабатывается одинаковое время, какой бы веб-сервер вы бы не использовали

Нет конечно, более того, даже если условия одинаковы - по разному. Например,

Dmitriy_2014 :
NGINX

В зависимости от циферок. 

load average: 
0,22, 0,56, 0,73
Tasks: 383 total,   2 running, 380 sleeping,   0 stopped,   1 zombie
%Cpu(s):   1,0 us,  0,2 sy,  0,0 ni, 98,6 id,  0,0 wa,  0,1 hi,  0,0 si,  0,0 st
MiB Mem :  15689,7 total,   5507,4 free,   4896,2 used,   5286,1 buff/cache

В конечном итоге - может быть и 5мс и 5с

Простой пример

Document Length:        121557 bytes

Concurrency Level:      300
Time taken for tests:   25.826 seconds
Complete requests:      15000
Failed requests:        0
Total transferred:      1830675000 bytes
HTML transferred:       1823355000 bytes
Requests per second:    580.81 [#/sec] (mean)
Time per request:       516.523 [ms] (mean)
Time per request:       1.722 [ms] (mean, across all concurrent requests)
Transfer rate:          69223.17 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    6  32.3      2     249
Processing:     3  507 835.8     75    9872
Waiting:        3  506 835.8     74    9872
Total:          4  513 838.2     77    9874

Percentage of the requests served within a certain time (ms)
  50%     77
  66%    415
  75%    789
  80%    849
  90%   1551
  95%   2225
  98%   3048
  99%   3722
100%   9874 (longest request)

На одной и той же машине, если ее нагрузить  запросами к сайту

ab -n 15000 -c 300 

(Requests per second:    580.81 [#/sec] (mean)) может быть от 4 миллисекунд до 10 секунд. При этом: load average: 2,07, 1,02, 0,75

Что касается апача - абстрактный пример. Что то занимает при это тесте 2% ЦПУ и 3% памяти. И можно, без этого.

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND   
1630 clickho+  20   0   14,1g 490912 209656 S   2,0   3,1   6:56.95 clickhouse-serv

Вывод?


======

Добавлю, если спокойно, то на этом железе, так


Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#4
Одинаковое железо, обычный сервер, я о другом, вот допустим у меня есть некий PHP скрипт который выполняется за 5 секунд (прям вот ровно не меньше не больше гипотетически), не может же PHP интерпретатор выполнить этот код быстрее или медленнее из-за веб-сервера?
suffix
На сайте с 26.08.2010
Offline
325
#5
Dmitriy_2014 #:
Одинаковое железо, обычный сервер, я о другом, вот допустим у меня есть некий PHP скрипт который выполняется за 5 секунд (прям вот ровно не меньше не больше гипотетически), не может же PHP интерпретатор выполнить этот код быстрее или медленнее из-за веб-сервера?

Не зависит от веб-сервера в сферическом случае в ваакуме :)

(Одинаковое железо, LA около 0 с точностью до погрешности, оперативки хоть попой ешь и т.п.)

В реальной ситуации да под большой нагрузкой разница может быть.

Клуб любителей хрюш (https://www.babai.ru)
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#6
Подскажите, правильно ли я себе представляю, как это происходит, веб-сервер будь то NGINX с менеджером FPM или Apache передает мой PHP код PHP интерпретатору тот его обрабатывает (вот тут процесс всегда один и тот же независимо от веб-сервера) и возвращает назад, а веб-сервер уже отдает клиенту.
Алеандр
На сайте с 08.12.2010
Offline
183
#7
Dmitriy_2014 #:
Одинаковое железо, обычный сервер, я о другом, вот допустим у меня есть некий PHP скрипт который выполняется за 5 секунд (прям вот ровно не меньше не больше гипотетически), не может же PHP интерпретатор выполнить этот код быстрее или медленнее из-за веб-сервера?

Выше уже ответили. На скорость исполнения скрипта влияют многие факторы.

Если вы хотите ускорить время выполнения, то, для начала, нужно сделать рефакторинг самого скрипта. Оценить, что он выполняет, делает ли запросы к БД, к файлам, каким, сколько, в каком объеме. Оптимизирован ли код, можно ли его улучшить, удалить проблемные узкие места и т.д. и т.п.

И уже из этого исходить: уменьшать количество запросов в БД, оптимизировать работу с кэшем, увеличивать ресурсы сервера, менять ноду расположения сервера и прочее. Было такое, что из-за нагрузки у соседа по ноде - при визуальном "в порядке" на своем VDS, все дико тормозило.

Вы не с той стороны начали подходить к проблеме. Начните с самого скрипта и его анализа. Только так вы начнете понимать куда "копать".

L
На сайте с 10.02.2015
Offline
221
#8
Время выполнения не меняется от веб-сервера
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#9
livetv #:
Время выполнения не меняется от веб-сервера
Это я и хотел услышать, спасибо всем :)
Sly32
На сайте с 29.03.2012
Offline
302
#10
Dmitriy_2014 #:
Это я и хотел услышать, спасибо всем :)

Но тебя обманули)

LEOnidUKG #:
Если железо одинаковое, то скрипт PHP будет обрабатываться одинаково. А вот уже отдаваться клиенту, там могут быть разные вариации.

Если бы ты немного понимал архитектуру современного железа, узнал про процессы и потоки хотя бы, то понял что говоришь, мягко говоря, неправду

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий