Jump to content
100napb

Нагрузочное тестирование выделенных серверов (VPS \ VDS \ Dedicated)

Recommended Posts

Posted (edited)

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

Ну, или для теста разного рода твиков\оптимизаций, типа смены io scheduler'a или конфигурации БД.

 

Зачем это надо? Что бы сколько-нибудь предметно и на цифрах оценить производительность. А не ориентироваться только лишь на отзывы\советы тех или иных серверов\тарифов. Как грится, лучше один раз затестить...

Ограничения \ системные требования? У Вас должен быть доступ по ssh к выделенному серверу. Виртуальный хостинг едва ли подойдет.

О чем будут примеры ниже? О том, как установить на сервер утилиту sysbench и провести ряд базовых тестов

Как оценивать результаты? Только сравнением между собой. До и после. На том сервере и на этом. Строго при одинаковых параметрах запускаемого теста. Результаты sysbench'a зависят от множества факторов и их не стоит измерять одной и той же линейкой

 

Погнали.

 

Установка.

для примера пусть будет дистрибутивы rhel \ centos. На текущий момент это версия sysbench-1.0.17-2

yum install sysbench

Тест CPU.

Вычисляем простые числа с ограничением в cpu-max-prime в 1, 4 или 16 потоков. Запускать на выбор или по очереди.

sysbench cpu --cpu-max-prime=10000 --threads=1 --time=60 run
sysbench cpu --cpu-max-prime=10000 --threads=4 --time=60 run
sysbench cpu --cpu-max-prime=10000 --threads=16 --time=60 run

Результаты\на что обратить внимание:

Spoiler

sysbench 1.0.17 (using system LuaJIT 2.0.4)

Running the test with following options:
Number of threads: 4
Initializing random number generator from current time


Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  3646.31

General statistics:
    total time:                          60.0015s
    total number of events:              218790

Latency (ms):
         min:                                    1.04
         avg:                                    1.10
         max:                                   53.05
         95th percentile:                        1.23
         sum:                               239736.93

Threads fairness:
    events (avg/stddev):           54697.5000/165.24
    execution time (avg/stddev):   59.9342/0.01

 

 

Тест дисковой подсистемы.

- Подготовим тестовые файлики. В текущей директории будет создана пачка файлов суммарным объемом --file-total-size= Х. Потом за собой удалим. Просто будьте готовы к этому \ вдруг не хватит места

sysbench fileio --file-total-size=4G prepare

Результаты\на что обратить внимание:

Spoiler

]# sysbench fileio --file-total-size=4G prepare
sysbench 1.0.17 (using system LuaJIT 2.0.4)

128 files, 32768Kb each, 4096Mb total
Creating files for the test...
Extra file open flags: (none)
Creating file test_file.0
Creating file test_file.1
.....
Creating file test_file.127
4294967296 bytes written in 18.56 seconds (220.74 MiB/sec).

 

- Тест случайного чтения\записи.

sysbench fileio --file-total-size=4G --file-test-mode=rndrw --time=60 run

Результаты\на что обратить внимание:

Spoiler

# sysbench fileio --file-total-size=4G --file-test-mode=rndrw --time=60 run
sysbench 1.0.17 (using system LuaJIT 2.0.4)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Extra file open flags: (none)
128 files, 32MiB each
4GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...

Threads started!


File operations:
    reads/s:                      2319.52
    writes/s:                     1546.35
    fsyncs/s:                     4950.12

Throughput:
    read, MiB/s:                  36.24
    written, MiB/s:               24.16

General statistics:
    total time:                          60.0092s
    total number of events:              528941

Latency (ms):
         min:                                    0.00
         avg:                                    0.11
         max:                                   46.59
         95th percentile:                        0.42
         sum:                                59500.75

Threads fairness:
    events (avg/stddev):           528941.0000/0.00
    execution time (avg/stddev):   59.5008/0.00

 

 

- удаляем тестовые файлы за собой.

sysbench fileio --file-total-size=4G cleanup

Тест скорости работы ОЗУ

 

sysbench memory run

Результаты\на что обратить внимание:

Spoiler

# sysbench memory run
sysbench 1.0.17 (using system LuaJIT 2.0.4)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Running memory speed test with the following options:
  block size: 1KiB
  total size: 102400MiB
  operation: write
  scope: global

Initializing worker threads...

Threads started!

Total operations: 33531852 (3351462.69 per second)

32745.95 MiB transferred (3272.91 MiB/sec)


General statistics:
    total time:                          10.0010s
    total number of events:              33531852

Latency (ms):
         min:                                    0.00
         avg:                                    0.00
         max:                                   27.41
         95th percentile:                        0.00
         sum:                                 4432.64

Threads fairness:
    events (avg/stddev):           33531852.0000/0.00
    execution time (avg/stddev):   4.4326/0.00

 

 

Тест производительности БД (OLTP)

Важно сделать оговорку, что результаты одних и тех же тестов могут значительно отличаться не только на разном окружении\железе, но и, прежде всего, при различных конфигурациях сервера БД, его версии и движка таблиц. Впрочем, иной раз интересно посмотреть на разницу в результатах MariaDB vs MySQL или при тех или иных параметрах конфигурации. Просто учтите это.

 

- для начала создадим отдельную базу для тестов с помощью PhpMyAdmin, консоли или что кому удобнее. Я назову базу test и в примерах ниже буду использовать это имя.

- подготовим таблички для проведения тестов. Укажем движок (в примерах будет innodb), а так же кол-во строк в таблицах - 1млн. В параметрах --mysql-user=user --mysql-password='password' используйте свои значения

sysbench --db-driver=mysql --mysql-user=user --mysql-password='password' --mysql-db=test --mysql_storage_engine=innodb --table_size=1000000 --tables=4 --threads=4 /usr/share/sysbench/oltp_read_write.lua prepare

- собственно тест. имеет смысл погонять в разное кол-во потоков. В процессе теста выполняется набор транзакций \ разнообразных запросов: с интервалами, группировками, агрегатными функциями и прочее. Все это, при желании можно настроить, запустив тест с параметром help вместо run и подсмотрев нужные ключики.

sysbench --db-driver=mysql --mysql-user=user --mysql-password='password' --mysql-db=test --mysql_storage_engine=innodb --table_size=1000000 --tables=4 --threads=1 --time=60 /usr/share/sysbench/oltp_read_write.lua run

Результаты\на что обратить внимание:

Spoiler

sysbench 1.0.17 (using system LuaJIT 2.0.4)

Running the test with following options:
Number of threads: 4
Initializing random number generator from current time


Initializing worker threads...

Threads started!

SQL statistics:
    queries performed:
        read:                            937370
        write:                           267820
        other:                           133910
        total:                           1339100
    transactions:                        66955  (1115.71 per sec.)
    queries:                             1339100 (22314.14 per sec.)

    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          60.0096s
    total number of events:              66955

Latency (ms):
         min:                                    1.92
         avg:                                    3.58
         max:                                  610.88
         95th percentile:                        5.18
         sum:                               239808.20

Threads fairness:
    events (avg/stddev):           16738.7500/114.91
    execution time (avg/stddev):   59.9521/0.00

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

sysbench --db-driver=mysql --mysql-user=user --mysql-password='password' --mysql-db=test --tables=4 /usr/share/sysbench/oltp_read_write.lua cleanup

Для самых любопытных

  • https://github.com/akopytov/sysbench
  • загляните после после установки в папку /usr/share/sysbench и посмотрите на доступные\дополнительные тесты.

 

Вопрос на финише: кто как тестирует сервера? Делитесь опытом! :)

 

Edited by 100napb
  • +1 2

Share this post


Link to post
Share on other sites

ab -c 110 -n 12100 -f TLS1.2 -H "Accept-Encoding: gzip,deflate" *домен*

Share this post


Link to post
Share on other sites
2 minutes ago, destreser said:

ab -c 110 -n 12100 -f TLS1.2 -H "Accept-Encoding: gzip,deflate" *домен*

ab - наше все )) не спорю - полезно. Спасибо!

 

Но это, на мой взгляд, уже на финишных этапах настройки\шлифовки: так как пока не развернешь проект целиком и не сконфигурируешь окружение, то тестировать как бы с помощью АБ и нечего. Во всяком случае, я его использую только что бы а) оценить нагрузку на веб-сервер и БД во время тестирования с большим кол-во конкурентных потоков и запросов б) оценить количество request per sec.

А Вы?

Share this post


Link to post
Share on other sites
Posted (edited)

Ну так главное же - финальный результат :) отдельные циферки бенчей ничего сами по себе не значат, если в итоге клиент ночью звонит и говорит: "чет сайт лагает, главная грузится n секунд, ахтунг".

Я не из тех, кто  будет переходить от проверенного надежного хостера к кому-то неведомому только лишь потому, что тест и/о показал прирост в районе статистической погрешности.

Edited by destreser
  • +1 1

Share this post


Link to post
Share on other sites
34 minutes ago, destreser said:

Ну так главное же - финальный результат

 

40 minutes ago, destreser said:

Я не из тех, кто  будет переходить от проверенного надежного хостера к кому-то неведомому только лишь потому, что тест и/о показал прирост в районе статистической погрешности.

 

Так само-собой. Топик ни чему не призывает :)

Речь лишь о том, что иной раз описание тарифа\услуги не дают необходимой информации, что бы сделать взвешанный и обоснованный выбор. Например, подобрать новую площадку под вырастающий проект, которому текущих мощностей не хватает - тут как раз синтетика и сравнения могут быть полезными еще до получения финального результата, что бы потом внезапно не обнаружить, что на новой площадке не шибко-то и лучше... Во всяком случае, я не умею достоверно "на глазок" определять, без тестов, что вооон на том сервере ресурс\запас производительности будет достаточным под те или иные задачи. Кроме того, даже цифры и синтетические попугаи убеждают большую часть людей намного лучше, чем слова, т.к. какие-никакие, а все-таки пруфы)

Share this post


Link to post
Share on other sites
Posted (edited)
20 минут назад, 100napb сказал:

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

Ну...  Вот давайте разберемся, во что обычно упирается разросшийся проект? В объем ОЗУ, вычислительную мощность процессора и место на диске. И тип этого самого диска, хотя я уже давно не встречал only hdd. Я вот на digitalocean уже много лет размещаюсь, вертикальное масштабирование там просто песня. На любом хостинге можно упороться в горизонтальное масштабирование, запилить балансировку, репликацию и кучу других приколюх. Я считаю, что это более эффективно, чем размениваться "на семечки", тратя время на перебор хостеров и датацентров, но что бы на ядро было не 2.8Гц, а 2.84.

Edited by destreser

Share this post


Link to post
Share on other sites
47 minutes ago, destreser said:

 тратя время на перебор хостеров и датацентров, но что бы на ядро было не 2.8Гц, а 2.84.

я такое могу представить только в кошмарном сне про ужасно занудных евреев =\

 

49 minutes ago, destreser said:

Я вот на digitalocean уже много лет размещаюсь, вертикальное масштабирование там просто песня.

Что тут скажешь... классно!
 

1 hour ago, destreser said:

упороться в горизонтальное масштабирование, запилить балансировку, репликацию и кучу других приколюх. Я считаю, что это более эффективно, чем размениваться "на семечки"

Вы описываете пути решения проблемы, связанной с нехваткой производительности. И отталкиваетесь от частного примера, который я привел. А топик о том, как попытаться эту производительность измерить в принципе с помощью более конкретной абстракции, нежели кол-во vCPU, нод или прочих гигабайт, и учесть при этом в том числе используемое ПО и его конфигурации.

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

Share this post


Link to post
Share on other sites

Такое лучше в блоге размещать.

https://opencartforum.com/blogs/

Будет проще найти, если кому-то понадобится. На форуме тема просто затеряется со временем.

А поиск тут не очень работает.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Hostsailor
      HostSailor-Администрирование-Защита от DDos-1Gbp-от 0,95$

      HostSailor зарекомендовал себя как надежный поставщик высококачественного VPS Хостинга, Виртуального Хостинга,Выделенных Серверов, Доменов и Сертификатов SSL с превосходной поддержкой и безупречной репутацией. Также мы предлагает одни из самых конкурентных цен на рынке при высоком качеством продуктов и услуг.
      HostSailor находится в Дубае, ОАЭ. Физический услуги расположены в Нидерландах и Румынии, все серверы принадлежат нам на 100%, мы не перепродаем наши услуг VPS.
       
       
      Операционные системы: (большинство всех операционных систем Linux и Windows, если у нас такой нет, мы установим ее специально для вас! )
      =====================================
      Выделенные сервера
      Центра Обработки Данных  (Бухарест, Румыния)
      Зеркало: http://hostsailor.com/ru/ROLookingGlass/
      =============================================
      =============================================новые промо коды на апрель 
      с 26 марта по 26 апреля 
      3XREGJ3LB6 - 50% скидка Shared хостинг 
      UB4XP8HC5A-50% скидка на VPS 
      80UQRIPJ5B-20% -Румыния выделенные серверы (ежемесячно)
      UVRA2JJ1IP-скидка 7% на повторяющиеся ежегодно - NL dedis ( при оплате за год)
      =============================================
      Румыния выделенные серверы

      ] Dreadnought
      RAM: 8GB DDR3
      HDD: 1TB Enterprise SATA / 128GB SSD
      Connection: 1Gbit
      Bandwidth 5TB outgoing
      Bandwidth Free incoming
      IPV4 addresses 1 included
      IPV6 addresses /64 or /48
      Control: IPMI included
      DDoS Protected: 20 Gbps included

      CPU: Intel(R) Xeon(R) E3-1231-V3 @ 3.4 GHz
      В Месяц : $71.99  
      В год : $863.88   

      ] HDD https://clients.hostsailor.com/cart.php? a=add&pid=405

      ] SSD https://clients.hostsailor.com/cart.php? a=add&pid=418
      ----------
      CPU: Intel(R) Xeon(R) E3-1230-V5 @ 3.4 GHz
      В Месяц : $78.99 
      В Год : $947.88  
      ] HDD HDD https://clients.hostsailor.com/cart.php? a=add&pid=412

      ] HDD SSD https://clients.hostsailor.com/cart.php? a=add&pid=414
      ---------
      CPU: Intel(R) Xeon(R) E3-1230-V6 @ 3.5 GHz
      В Месяц : $82.99 
      В Год : $995.88  
      ] HDD HDD https://clients.hostsailor.com/cart.php? a=add&pid=413
      ] SSD https://clients.hostsailor.com/cart.php? a=add&pid=415
      =====================================

      =====================================
      Neptune
      RAM: 8GB DDR3
      HDD: 2TB Enterprise SATA / 240GB SSD
      Connection: 1Gbit
      Bandwidth 5TB outgoing
      Bandwidth Free incoming
      IPV4 addresses 1 included
      IPV6 addresses /64 or /48
      Control: IPMI included
      DDoS Protected: 20 Gbps included
      CPU: Intel(R) Xeon(R) E3-1271-V3 @ 3.6 GHz

      В Год : $971.88   
      ] HDD https://clients.hostsailor.com/cart.php?a=add&pid=405
      ] SSD https://clients.hostsailor.com/cart.php? a=add&pid=418
      ----------
      CPU: Intel(R) Xeon(R) E3-1270-V5 @ 3.6 GHz
      В Месяц : $87.99  
      В Год : $1055.88  
      ] HDD HDD https://clients.hostsailor.com/cart.php? a=add&pid=416
      ] SSD SSD https://clients.hostsailor.com/cart.php? a=add&pid=401
      ---------
      CPU: Intel(R) Xeon(R) E3-1270-V6 @ 3.8 GHz
      В Месяц : $91.99 
      В Год : $1103.88 
      ] HDD HDD https://clients.hostsailor.com/cart.php? a=add&pid=417
      ] SSD SSD https://clients.hostsailor.com/cart.php? a=add&pid=419
      =====================================
      Способы Оплаты:
      PayPal, Банковский Перевод, PaySafeCard, Skrill, WebMoney, WeChat, Payza, Bitcoin, altcoins,  Qiwi, AliPay, Yandex, Western Union/ Moneygram and Perfect Money
      =====================================
      Особенности
      1. По умолчанию каждый выделенный сервер имеет 1 Гигабит порт / соединение
      2. 20 Гигабайт бесплатной Дос защиты 
      3. Нет платы за установку.
      4. Управляемые услуги.
      5. Бесплатный входящий трафик .
      6. Аптайм подерживается нашим SLA.
      7. Полное удаленное управление и контроль (перезагрузка, RDNS, переустановка, проверка пропускной способности).
      8. Нет контрактов.
      9. Мгновенная доставка
      10.Экологически чистый центр обработки данных
      =====================================
      HostSailor
      Чтобы узнать больше о нас, посетите Нашу компанию
      Чтобы узнать о наших условиях, нажмите на TOS
      Мы предлагаем отличный сервис и высокий уровень обслуживания SLA
      Для проверки политики использования AUP
      Чтобы узнать больше о нашем центре обработки данных Наш Информационный Центр
      =====================================
      FAQ и поддержка:
      Пожалуйста, проверьте наш FAQ
      Чтобы связаться с нами по электронной почте пожалуйста Свяжитесь с Нами
      Чтобы связаться с нами через чат, пожалуйста, посетите наш сайт на HostSailor, и мы будем рады вам помочь! https://hostsailor.com/ru/
      Наш Telegram- @hostsailorltd

    • By Desserro
      Всем доброго времени!
      Прошу помощи в выборе vps_cloud или выделенный сервер?
      В данный момент на vps
      Но сайт растет(очень обьемный), да и безопасность нужна!
      Задумался о "выделенном сервере"
      Хостер предложил vps_cloud
      https://ukrline.com.ua/tarif_vps_cloud.php
      По цене отлично 
      Скорость до 10 гигабитс
      Все вроде гуд
      Но вот где подводные камни для больших роектов
      или может не все скипты работаю/или плохо работают
      У Yoda были проблемы с кешированием.
      Costas подсказал:
      Проблема  не в Cloud и не в системе хранения, проблема в ОС, если у Вас Linux то это ожидаемо, нельзя хранить такое количество файлов в одной директории.
       
      Поясните пожалуйста для полу-чайника)) что сказал costas.
       
       
      Что ещё ожидать от vps_cloud или выбрать "выделенный сервер"???
    • By Roumek
      Здравствуйте, есть работающий сайта на ocStore 2.1.0.2.1 надо переехать на другой домен ua (уже зарегистрирован), на другой хостинг VPS, установить и настроить модули, установить шаблон и внести правки, оптимизировать под большие нагрузки TTFB. 

      1) Товары: 
      Наименование 
      Описание 
      Теги товара 
      Модель 
      Артикул 
      Цена 
      Количество? (можно выгрузить с помощью синхронизации) 
      SEO URL-? 
      статус 
      производитель 
      главная категория 
      показывать в категориях 
      фильтры 
      сопутствующие товары 
      опции-размер? (можно выгрузить с помощью синхронизации) 
      скидки? (можно выгрузить с помощью синхронизации) 
      акции? (можно выгрузить с помощью синхронизации) 
      изображения 


      2) Отзывы 
      товар 
      автор 
      рейтинг 
      статус 
      добавлено 

      3) Заказы: 
      информация о заказе 
      информация о покупателе 
      операции 
      адрес оплаты 
      адрес доставки 
      товар 
      модель 
      количество 
      цена за единицу 
      всего 
      комментарий 
      история 
      дополнительно 
      статус заказа 


      4) Производители: 
      имя производителя 
      описание 
      SEO URL 
      изображение 


      5) Модули: 
      AutoSearch 2x – быстрый поиск с автозаполнением 1.22 – ocStore 2.3 

      Batch Editor – пакетное редактирование товаров v0.4.8 – ocStore 2.3 

      Модуль Simple – упрощенная регистрация и заказ 4.9.7 – ocStore 2.3-3.0 

      "Новая Почта API" + Экспресс Накладные. Модуль доставки для OpenCart 2 – ocStore 2.3-3.0 

      "Укрпочта API" – модуль доставки для OpenCart – ocStore 2.3 

      Модуль оплаты Приват24 для OpenCart 2.x.x 2.0.19- ocStore 2.3-3.0 

      Sorts&Limits : Настраиваемая сортировка 3.0.0 beta – ocStore 2.3 

      Easyphoto – загрузка всех фото в один клик прямо с ПК + сортировка перетаскиванием + поворот фото – ocStore 2.3-3.0 

      MicrodataPro (микроразметка json-ld/microdata) 7.0 – ocStore 2.3-3.0 

      Быстрое редактирование товаров (Admin product quick edit for Opencart 2.x) 1.05_OCMOD_Opencart_2.x – ocStore 2.3-3.0 

      Шаблон комментария к статусу заказа – ocStore 2.3 

      SEO генератор ЧПУ 1.5 – ocStore 2.3 

      Модуль оплаты Наложенный платеж + для OpenCart 1.5 – 2.X v 0.3 – ocStore 2.3 

      "Клубная программа" – накопительные и дисконтные карты, подарки v. 1.1.0 – ocStore 2.3 

      Группы товаров 1.7 – ocStore 2.3 

      Украинский язык украинская локализация opencart 2 x.x Укранська мова укранська локалзаця – ocStore 2.3-3.0 

      AMO CRM – модуль интеграции Opencart и AMO CRM ocStore 2.3-3.0 

      Интеграция телефонии Binotel и CRM amoCRM 

      Обмен данными с Торгсофт (с опциями) Модуль для openCart и ocSore 2.3.x (версия 2017-09-20) 

      DateAdded – добавление и изменение даты создания товара в карточке 1.03 

      6) Покупатели 

      7) Группы покупателей 

      8) Переезд на новый хостинг VPS 

      9) Оптимизация сайта под большие нагрузки 

      10) Фильтр товаров 

      11) Вкладка для видеообзора 

      12) Шаблон: 
      Адаптивный универсальный шаблон shop-store 2 v 8.1 

      Адаптивный, многомодульный шаблон Aridius Modern v2 v.2.3.0 ocStore – 2.3 

      13) Внедрить Google Shopping 

      14) Выгрузка xml для prom_ua и дропшипперов
    • By Andrey555
      Форумчане, есть сайт (1500 товаров) хостинг beget, сейчас на общем тарифе, без выделенного сервера.... сейчас уже приближаемся к предельным выделенным нагрузкам.
      Встал вопрос о переезде на выделенный сервер VPS на этом хостинге. 
      Кто работает или раньше работал  на VPS beget, стоит переходить....? Рассматриваю пока тариф Simple. 
      И еще сразу, какие подводные камни существую при переезде с общего на выделенный сервер?
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.