Протестировать shared хостинг

Антоний Казанский
На сайте с 12.04.2007
Online
735
797

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

С сайтом к вопросу о производительности прибавляются вопросы связанные с его технической оптимизацией. Часть вопросов (например с набором JS скриптов) решать довольно затруднительно, да и вообще переносить сайт для предварительно оценки производительности не всегда оправдано.

Вот тут я подумал, может есть какой более универсальный скрипт, который условно оценивает производительно php в связке с БД и выводит численные значения?

p.s. В свой жизни я менял десятки хостингов и несколько раз попадались реально быстрые, которые были shared и стоили в пределах 100 рублей. Сейчас пришлось отказаться от их использования, в связи с известными политическими событиями.

Итого: Знаю, что возможности shared хостингов довольно контрастны, поэтому предмет вопроса сейчас не в том, чтобы оптимизировать сайты или искать возможности, как безопасно оплачивать те скоростные хостинги,  вопрос именно в том, чтобы более универсально тестировать нагрузку.

Например (спросил у GPT), пишем на php скрипт, который тестирует время отклика от сервера:

<?php
$start = microtime(true); // Начало времени

// Некоторая базовая операция, например, вывод строки
echo "Hello, World!";

$end = microtime(true); // Конец времени
$execution_time = ($end - $start) * 1000; // Время в миллисекундах

echo "<br>Execution Time: " . $execution_time . " ms";
?>

  и php скрипт для проверки скорости подключения к БД

<?php
$start = microtime(true); // Начало времени

// Параметры подключения к MySQL
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// Подключение к MySQL
$conn = new mysqli($servername, $username, $password, $dbname);

// Проверка соединения
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$end = microtime(true); // Конец времени
$execution_time = ($end - $start) * 1000; // Время в миллисекундах

echo "MySQL Connection Time: " . $execution_time . " ms";

$conn->close(); // Закрытие соединения
?>

Или есть уже готовое и более универсальное, что свободно доступно?


√ SEO продвижение ► https://akazansky.ru - экспертный аудит сайтов ( https://akazansky.ru/audit-sajtov ), внедрение эффективных решений цифрового маркетинга. Разговоры о SEO и не только: культурно, вежливо, доброжелательно ► https://t.me/seotusovochka
Mik Foxi
На сайте с 02.03.2011
Offline
1170
#1

этим ничего не протестишь. 

более показательно: иметь жирный канал интернета и с него заливать на хостинг большой файл (пару гигов), а потом браузером его скачивать. так можно оценить скорость интернета сервера и поверхностно скорость работы диска.

можно пхп в цикл записывающий в файл , тоже можно поверхностно оценить скорость диска.

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

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ Форум на замену серчу: https://foxi.biz/
Антоний Казанский
На сайте с 12.04.2007
Online
735
#2
Mik Foxi #:
этим ничего не протестишь. 

Как не протестируешь? Выше конкретно указано, что измеряется.


Mik Foxi #:
более показательно: иметь жирный канал интернета и с него заливать на хостинг большой файл (пару гигов), а потом браузером его скачивать. так можно оценить скорость интернета сервера и поверхностно скорость работы диска.

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

2. Накладно и сильно зависит от текущей скорости подключения. А если это вялый WIFI?


Mik Foxi #:
можно пхп в цикл записывающий в файл , тоже можно поверхностно оценить скорость диска.

Например, как?


Mik Foxi #:
но все это имеет очень мало смысла, это проверка в текущий момент, но шаред на то и шаред, что там 100500 клиентов,

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

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

Kaavain
На сайте с 28.07.2015
Offline
163
#3

Смысл? Показатели производительности на шаред меняются непредсказуемо, причем даже "хороший" хостинг может "поплохеть" из-за криворукого соседа. 

В целом - да, три направления:

- процессор. Отключаем кеширование и за пускаем скрипт, но я бы не вывод сделал а какую-нибудь тяжелую функцию вызвал типа там не знаю  strstr(),  preg_replace().

- дисковые операции (БД). Опять же - отключить все кеширование (ибо тупо в лоб скрипт выполнения одного и того же запроса начнет выдавать результат из памяти, получим тест прцессора/памяти. Либо сделать так, чтобы в цикле все запросы отличались. Например ставить WHERE something = i 

- скорость канала, закачка-выкачка большого файла, но тут хостер может возбухнуть. И качать надо не к/от себя, а в целевую географию.

Могу порекомендовать только хостинг: https://traf.at/vps - за 3 года все на 4++ и цены не подняли. Ну и банк для белых ИП: https://traf.at/bankm
S3
На сайте с 29.03.2012
Online
342
#4
Ты хочешь проверить скорость процессора  и базы на самом хостинге или скорость ответа хостинга? Если второе, то чат тебя обманул
Эти скрипты нужно запускать на самом хостинге и они тебе покажут, как быстро процессор сервера обрабатывает данные, скорость твоего интерпретатора. 
Есди же ты хочешь проверить хостинг, как все это работает в целом - нужно писать скрипты, например с использованием curl, можно ping.
Но это все равно особо ничего не даст. В действительности только развертывание твоего сайта и потом профилирование запросов покажет реальную картину.
Mik Foxi
На сайте с 02.03.2011
Offline
1170
#5
Антоний Казанский #:
Выше конкретно указано, что измеряется.

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

M3
На сайте с 09.02.2022
Offline
86
#6
Sly32 #:
профилирование запросов покажет реальную картину

не покажет, потому что она будет отличаться в 3 часа ночи прекрасная, в 12 дня грустная

Антоний Казанский
На сайте с 12.04.2007
Online
735
#7
Kaavain #:
Смысл?

Выбрать шаред хостинг с оптимальным значением TTFB.


Kaavain #:
Показатели производительности на шаред меняются непредсказуемо, причем даже "хороший" хостинг может "поплохеть" из-за криворукого соседа. 

Это понятно. Но среди прочих получается, что есть те, что медленнее, и те, что быстрее.

Я хочу более универсально и быстро отличать одних от других.


Kaavain #:
- процессор. Отключаем кеширование и за пускаем скрипт, но я бы не вывод сделал а какую-нибудь тяжелую функцию вызвал типа там не знаю  strstr(),  preg_replace().

Вот я тоже об этом думал, чтобы не просто выводит время отклика и умножать на миллисекунда, а что более ресурсно-ёмкое.


Kaavain #:
- дисковые операции (БД). Опять же - отключить все кеширование (ибо тупо в лоб скрипт выполнения одного и того же запроса начнет выдавать результат из памяти, получим тест прцессора/памяти. Либо сделать так, чтобы в цикле все запросы отличались. Например ставить WHERE something = i 

Это очень хорошая мысль! Благодарю.


Kaavain #:
- скорость канала, закачка-выкачка большого файла, но тут хостер может возбухнуть. И качать надо не к/от себя, а в целевую географию.

Резонно.

Для реализации вышеуказанного что-то готовое есть и писать самому?

Антоний Казанский
На сайте с 12.04.2007
Online
735
#8
Sly32 #:
Ты хочешь проверить скорость процессора  и базы на самом хостинге или скорость ответа хостинга?

Опосредованно - да, и посмотреть как оно коррелирует с  TTFB.


Sly32 #:
Эти скрипты нужно запускать на самом хостинге и они тебе покажут, как быстро процессор сервера обрабатывает данные, скорость твоего интерпретатора.

И это не помешает, потому что мощности CPU у хостингов могут быть разные.

Тут один из форумчан поделился скриншотами, надеюсь, он не в обиде, если я их для содержания разговора размещу,


Sly32 #:
В действительности только развертывание твоего сайта и потом профилирование запросов покажет реальную картину.

Это понятно, в целом, так и происходит.

Но иногда не хочется возиться с развёртыванием и переносом сайта, хочется - зашёл, залил скрипт, он выполнился, вывел техническую детализацию, я посмотрел на  TTFB и принял решение - переносить сайт для дальнейшего тестирования или точно не стоит.

Mik Foxi
На сайте с 02.03.2011
Offline
1170
#9
Антоний Казанский #:

Но среди прочих получается, что есть те, что медленнее, и те, что быстрее.

Я хочу более универсально и быстро отличать одних от других.

это ничего не даст. этот мониторинг должен идти днями и неделями. и это проверка только этого сервера, а не хостера в целом. 

Антоний Казанский
На сайте с 12.04.2007
Online
735
#10
Mik Foxi #:
с шаредом это не имеет смысла. это как разобраться во сортах говна, можно, но смысла нету )) ты не хайлоад настраиваешь, где эти микросекунды важны, их можно проверить и на выделенном железе прогнозировать. на шареде важно что коннект к базе есть, даже если не всегда, это уже норм, потому что шаред 😀

Здесь всё просто, если я занимаюсь шаред, значит для меня это имеет смысл.

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

Если бы это было неактуально, то и вопрос не возникал.

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