Start typing to search across invoices, services, domains, tickets, and more...
Получив новый VPS или выделенный сервер, сначала прогоните бенчмарк: так вы убедитесь, что процессор, память, диск и сеть соответствуют ожиданиям, и получите базовые данные для будущей диагностики проблем с производительностью. В этом руководстве — четыре самых популярных инструмента для тестирования, а главное внимание уделено тому, что означает каждая цифра в результатах и как отличить хороший показатель от плохого.
# Ubuntu / Debian
sudo apt update && sudo apt install -y curl wget fio
# Rocky / Alma 9
sudo dnf install -y curl wget fio
Важно: эти скрипты для бенчмарков взяты из сторонних open-source проектов. Перед запуском их можно скачать и просмотреть содержимое через
less. Бенчмарки ненадолго полностью загружают процессор, диск и канал, поэтому не запускайте их на рабочих серверах в часы пик и не гоняйте их многократно в течение долгого времени.
bench.sh, который поддерживает open-source разработчик Teddysun, за несколько минут выводит информацию о системе, простой тест записи на диск и тесты скорости загрузки с нескольких площадок:
wget -qO- bench.sh | bash
# or
curl -Lso- bench.sh | bash
Как читать результаты:
YABS (Yet-Another-Bench-Script) включает тесты диска fio, сетевые тесты iperf3 и оценки процессора Geekbench. Это самый распространённый в сообществе стандарт для сравнения производительности серверов:
curl -sL https://yabs.sh | bash
Популярные параметры:
# Skip the iperf3 network test
curl -sL https://yabs.sh | bash -s -- -i
# Skip Geekbench and test only disk and network
curl -sL https://yabs.sh | bash -s -- -g
# Run only Geekbench 6 (skip disk and network)
curl -sL https://yabs.sh | bash -s -- -f -i
Раздел fio: YABS проводит смешанные тесты случайного чтения/записи с четырьмя размерами блока: 4k, 64k, 512k и 1m.
Раздел iperf3: показывает скорость отправки (Send) и приёма (Recv) до нескольких публичных iperf-серверов по всему миру. Публичные серверы часто загружены, поэтому низкие значения на отдельных из них — это нормально; смотрите на общую картину.
Раздел Geekbench: выдаёт оценки Single Core и Multi Core, а также ссылку на результаты онлайн, по которой можно напрямую сравнить сервер с другими. Одноядерная оценка влияет на отзывчивость однопоточных приложений вроде PHP и Node.js, многоядерная — на компиляцию, транскодирование и параллельную обработку.
Чтобы протестировать конкретный сценарий, удобнее запускать fio напрямую — так больше контроля. Ниже — тест случайного чтения/записи блоками 4K (имитация нагрузки базы данных):
fio --name=rand4k --filename=/root/fio.test --size=1G \
--direct=1 --ioengine=libaio --rw=randrw --rwmixread=70 \
--bs=4k --iodepth=64 --numjobs=2 --runtime=60 --time_based \
--group_reporting
Тест последовательного чтения блоками 1M:
fio --name=seq1m --filename=/root/fio.test --size=1G \
--direct=1 --ioengine=libaio --rw=read \
--bs=1M --iodepth=16 --numjobs=1 --runtime=30 --time_based \
--group_reporting
По окончании удалите тестовый файл:
rm -f /root/fio.test
Ключевые показатели:
IOPS=: число операций чтения/записи в секунду, чем больше, тем лучше.BW=: пропускная способность.99.00th в задержке clat: чем ниже задержка, тем стабильнее работа. Если задержка 99-го перцентиля намного выше средней, у диска есть джиттер.--direct=1 обходит системный кеш, чтобы кеширование в памяти не завышало результаты.
Сохраните вывод, чтобы потом было с чем сравнивать:
curl -sL https://yabs.sh | bash 2>&1 | tee ~/yabs-$(date +%F).txt
Последовательная запись dd отражает только производительность записи крупных файлов, а сайты и базы данных больше зависят от случайного чтения/записи блоками 4K и задержки. Кроме того, на скорость сайта влияют маршрут, само приложение и настройки кеширования. Для полной картины сочетайте результаты fio 4K с сетевыми тестами.
Публичные узлы тестирования могут быть перегружены, а при международных тестах скорость ограничивает и сеть на другой стороне. Протестируйте в разное время и на нескольких узлах или запустите iperf3 напрямую между сервером и своим компьютером. Если скорость стабильно заметно ниже, создайте тикет и приложите результаты тестов и вывод MTR.
Да. В виртуализированной среде процессор и диск делят несколько инстансов, поэтому определённые колебания ожидаемы. Если повторные результаты попадают в близкий диапазон, всё в порядке; если какой-то прогон резко просел, повторите тест позже.
Нет. У Geekbench 5 и Geekbench 6 разные базовые шкалы, поэтому сравнивайте результаты только в пределах одной версии. YABS сейчас по умолчанию использует Geekbench 6.
bench.sh хорош для быстрой проверки, YABS — для комплексного сравнения серверов между собой, fio — для точечного тестирования диска. Вместе они дают ясную картину реальной производительности сервера. IMIDC предлагает VPS и выделенные серверы в нескольких регионах, и после выдачи сервера вы можете сами проверить его конфигурацию методами из этого руководства. Если результаты заметно расходятся с ожиданиями, создайте тикет в поддержку 24/7 через Клиентский центр и приложите вывод тестов — наша техническая команда поможет разобраться.