Ubuntu 18.04 Разное время исполнения скрипта в cli и через apache

12
V
На сайте с 07.09.2011
Offline
113
1782

Сервер от Hetzner. Ubuntu 18.04.

При запуске такого скрипта


<?PHP
$starttime = microtime(1);
for($i=0;$i<50000;$i++)
$r=$i;
echo 'End time ',microtime(1)-$starttime,"\n<br>";
?>

из командной строки время выполнения составляет в среднем:

End time 0.00040602684020996

Если через браузер смотреть на это скрипт, то время будет другое:

End time 0.0014171600341797 

Это почти в три раза медленнее.

Если поставить ubutu 16.04, то в ней оба варианта быстро работают.

Обе установки с нуля + установка только apache и php

apt-get update;apt-get install apache2 php

Пробовал отключать opcache, время обработки через апач возрастает примерно до 0,0020. На cli не действует, так же.

Помогите определить где находятся тормоза. Как вычислить, какая настройка не работает или не включена?

danforth
На сайте с 18.12.2015
Offline
153
#1

Никто так бенчмарки не делает, особенно на таком коде, который работает за миллисекунды. Тем более, вы не сказали какая версия PHP (в репозиториях 16.04 и 18.04 могут быть разные). CLI без opcache по дефолту работает.

Junior Web Developer
Mik Foxi
На сайте с 02.03.2011
Offline
1076
#2

ну это логично что cli из консоли будет быстрее апача. так и должно быть.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
danforth
На сайте с 18.12.2015
Offline
153
#3
foxi:
ну это логично что cli из консоли будет быстрее апача. так и должно быть.

Это было бы логично, если бы мы мерили скорость выполнения не участка кода, а время от запроса, до получения результата. В чем логичность?

V
На сайте с 07.09.2011
Offline
113
#4
danforth:
Никто так бенчмарки не делает, особенно на таком коде, который работает за миллисекунды. Тем более, вы не сказали какая версия PHP (в репозиториях 16.04 и 18.04 могут быть разные). CLI без opcache по дефолту работает.

В 16.04 php7.0, в 18.04 php 7.2

Эти доли секунд влияют на прогрузку страницы. Я это визуально вижу. Я взял новый сервер для переноса со старого, поэтому имею возможность сравнить.

Вот например старый сервер:

CLI -    End time 0.00056195259094238
APACHE - End time 0.00054001808166504

Цифры меняются конечно. Есть и 0.00042 и 0.00072. Я привожу примерно средние значения, которые часто появляются.

Старый сервер под нагрузкой, хоть и не большой но всё же.

Сейчас на новый сервер поставил 16.04. Установил apache php. Перезагрузил, стало так.

CLI -    End time 0.0003809928894043
APACHE - End time 0.00028800964355469

ХМ, пару минут поработал на 16.04 и стало так

CLI -    End time 0.00038003921508789
APACHE - End time 0.0015380382537842

Да, после перезагрузки работает норм всего лишь пару минут.

Не пойму что ему нужно.

Может ему нагрузка нужна?

S
На сайте с 11.05.2018
Offline
7
#5

Не понимаю, в чем проблема? Такое поведение вполне нормальное и не на что не влияет, не нравится веб сервер - ставьте другой

LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#6

Ну всё правильно. CLI это CLI, апатч это апатч. В чём вопрос то?

---------- Добавлено 08.08.2018 в 22:31 ----------

Ненравиться апатч, ставьте nginx проверьте с ним.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
V
На сайте с 07.09.2011
Offline
113
#7
swank:
Не понимаю, в чем проблема? Такое поведение вполне нормальное и не на что не влияет, не нравится веб сервер - ставьте другой

Так как бы не нормально. На трех серверах время выполнения одинаковое. Здесь же тормоза какие то. Вот и пытаюсь понять в чем причина.

Ну всё правильно. CLI это CLI, апатч это апатч. В чём вопрос то?
---------- Добавлено 08.08.2018 в 22:31 ----------
Ненравиться апатч, ставьте nginx проверьте с ним.

Ставил, то же самое.

Получается у PHP какая то проблема. И ведь не узнать. Может какого пакета не хватает или нагрузки. Сегодня попробую на время пользователей перевести на новый серв.

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#8

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

V
На сайте с 07.09.2011
Offline
113
#9
foxi:
Vanzent, придумайте другой тест, который идет подольше, хотябы секунду, а не тысячные доли секунды, потому что текущая разница это меньше чем размер возможной погрешности.

Это не погрешность. В три раза уж точно.

погрешность - это когда пишу 0,00038, а на самом деле:

0.00038156

0.00038345

0.00038083

0.00038123

M
На сайте с 04.10.2011
Offline
90
#10
Vanzent:
На трех серверах время выполнения одинаковое. Здесь же тормоза какие то. Вот и пытаюсь понять в чем причина.

Не задумывались о разном физическом оборудовании серверов?

Сдается, обращаться скайп avdesk-it-kmm Верстка, кодинг - контакты в профиле... VPS от 5€ (https://gmhost.com.ua/?partner=10255)
12

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