@Impeeeery
жуй. куй.

Почему все-таки PHP на моем VPS выполняется гораздо медленнее (результаты 2 тестов)?

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

В этот раз все будет наоборот.
Начну с тестов.

Итак, вот 2 теста:

test_disk.php:
<?php
$starttime = microtime(true);
  file_get_contents('diskbump', true);
$endtime = microtime(true);
$timediff = $endtime - $starttime;
echo $timediff
?>


test_cpu.php:
<?php
$starttime = microtime(true);
  for ($i = 0; $i < 500000000; $i++) {
  }
$endtime = microtime(true);
$timediff = $endtime - $starttime;
echo $timediff
?>


Вот их результаты на хостинге:

http://***/test_disk.php
1.8835067749023E-5
3.4093856811523E-5
1.5974044799805E-5
1.5020370483398E-5
1.5974044799805E-5
1.7166137695312E-5

http://***/test_cpu.php
5.4995031356812
6.6292271614075
11.630015850067

А вот результаты на VPS:

255.255.255.255/test_disk.php
3.814697265625E-5
4.5061111450195E-5
3.6001205444336E-5
3.6001205444336E-5
6.6041946411133E-5
4.0054321289062E-5
// в 2-3 раза дольше

255.255.255.255/test_cpu.php
10.21071100235
13.526569843292
12.918704986572
// в 2-2.5 раза дольше, чем среднее для хостинга

В чем же проблема?
Что может дать такие результаты? Хм...


Настройки Apache, интернет-канал, используется ли FastCGI или же mod_php, и прочие "левые" вещи - очевидно, вряд ли могут влиять на такие тесты.
Разве что версия PHP-интерпретатора.
Но она почти одна и та же.
На хостинге PHP 7.0.7
На VPS - PHP 7.0.18
Вряд ли здесь разница.

ОС - на VPS Ubuntu x64, какая на хостинге - не знаю.
Тоже вряд ли есть такая разница.

Значит, проблема в железе.

Но дело в том, что на VPS оно (по идее) даже мощнее!

Процессор:
на хостинге (по словам админов) стоит 4-ядерный проц с частотой 2.2 ГГц и лимит использования 30%
на VPS стоит Xeon 3 ядра по 3.4 ГГц.

Жесткий диск:
какой на хостинге - не знаю, но на VPS - конечно же, SSD.

Так в чем же дело?
Судя по тестам - именно в процессоре, но каким образом процессор, трактуемый на сайте VPS как "мощный" - оказывается слабее какого-то паршивого хостинга?
Я купил VPS у жадных удаков и мне надо покупать другой VPS?
Или все Xeon'ы такие медленные и мне надо искать процессор другого семейства, что большая редкость?
  • Вопрос задан
  • 442 просмотра
Пригласить эксперта
Ответы на вопрос 4
XXXXPro
@XXXXPro
Fullstack Web developer
Batlab совершенно верно ответил выше, что на VDS ресурсы процессора распределяются через виртуализацию, и они ограничены тарифным планом, но зато гарантированы каждому клиенту.
На хостинге распределение идет иначе — все ресурсы сервера могут использоваться всеми клиентами. Поэтому если тестировать хостинг в тот момент, когда он слабо загружен (скажем, ночью с субботы на воскресенье), то результаты на нем будут лучше. Но в те моменты, когда на хостинге растет нагрузка от других клиентов, эффект будет обратный: сайт будет работать медленнее, чем на VDS (хотя еще многое зависит от самого хостера).
Еще для корректного сравнения нужно брать и там и там одну и ту же версию PHP (на такие синтетические тесты, как у вас, она влияет очень сильно). А на тест с файлом будет сильно влиять дисковый кеш.
Ответ написан
@Batlab
PHP Senior | Python Middle | JS Junior
Процессоры на VPS - это не выделенные ядра, а виртуальные (которые создаются через системы виртуализации). Каждый хостинг провайдер сам распределяет эти ресурсы, поэтому, как видимо, на хостинге провайдер выделил больше ресурсов. Вот и все.
Ответ написан
Sanes
@Sanes
Процессор дохлый или зарезанный.
Ответ написан
opium
@opium
Просто люблю качественно работать
а какая у вас впс
у меня например 4 ядерные ксеоны по 3.9 гигагерца
На хостинге я разрешаю использовать все 4 ядра без ограничений
на дохлых впс ограничиваю ядро на 1Ггц хотя процессор там такой же стоит, то есть на впс на деле проца примерно в 16 раз меньше .
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы