Скрипт просмотра PPS (Packets Per Second)

Скрипт ежесекундно отображает количество входящих и исходящих пакетов в секунду на указанном сетевом интерфейсе.
Содержимое скрипта поместим в файл, например pps.sh и выполним указав имя сетевого интерфейса (остановить выполнение скрипта можно клавишами CTRL+C):

Читать далее «Скрипт просмотра PPS (Packets Per Second)»

Изменение CPU Scaling Governor в Linux

Благодаря «Scaling Governor», можно выбрать оптимальную схему управления частотой процессора, что влияет на потребление электроэнергии и производительность.

На высоко нагруженных серверах доступа у знакомых были случаи зависания сервера при «ondemand», хотя у меня таких случаев не было, но все же рекомендую изменить на «performance».
На ноутбуках и слабо нагруженных серверах можно оставить «ondemand» для экономии электроэнергии.

Читать далее «Изменение CPU Scaling Governor в Linux»

BGP. Балансировка каналов на Quagga

Приведу пример балансировки только входящего трафика при двух каналах используя Quagga.

На тесте буду использовать Ubuntu 16.04.4 LTS и Quagga 0.99.24.1, сетевой интерфейс ens1f0 для второго провайдера с одним neighbors и ens2f0 для первого провайдера с двумя neighbors, в ens2f1 будет подключена локальная сеть. Оба провайдера анонсируют «default».
3.3.3.0/23 это будет моя сеть с белыми IP адресами.
Читать далее «BGP. Балансировка каналов на Quagga»

Установка NetData

NetData — система мониторинга, отображающая на веб-панелях статистику в реальном времени.

На тесте выполню установку NetData в Ubuntu 18.04 и Ubuntu 16.04.
Перед установкой можно обновить систему:

sudo apt-get update
sudo apt-get upgrade

Если версия Ubuntu 18.04 и новее, то NetData устанавливается командой:

sudo apt-get install netdata

После установки конфигурация будет находится в /etc/netdata/, логи в /var/log/netdata/.

На Ubuntu 16.04 и старее, можно установить так (установка выполнится в /opt/netdata/):

sudo bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)

Перезапустить NetData можно командой:

sudo systemctl restart netdata

Посмотреть статус:

sudo systemctl status netdata
sudo ps ax | grep netdata

После установки NetData сразу можно открыть в браузере http://HOST:19999
Рекомендую сразу ограничить доступ к порту tcp 19999, например через iptables.

Установка и использование mysqltuner.pl

MySQLTuner — это Perl скрипт, который даст рекомендации по повышению производительности и стабильности MySQL сервера.
Страница на GiHub — https://github.com/major/MySQLTuner-perl

MySQLTuner в Ubuntu можно установить командой:

sudo apt-get install mysqltuner

В CentOS так:

yum install mysqltuner

Читать далее «Установка и использование mysqltuner.pl»

Установка Apache JMeter в Ubuntu

Apache JMeter — инструмент для нагрузочного тестирования.

Для Apache JMeter необходимо установить Java, смотрите мою статью — Установка Java в Linux.

Для примера установлю Apache JMeter в Ubuntu Desktop 18.04.

После того как Java установлен, скопируем ссылку на архив с последней версией Apache JMeter с официального сайта http://jmeter.apache.org/download_jmeter.cgi и скачаем его:

wget http://apache.volia.net//jmeter/binaries/apache-jmeter-4.0.tgz

Распакуем архив:

tar -xf apache-jmeter-4.0.tgz

Запустим:

cd apache-jmeter-4.0/bin/
./jmeter

После запуска отобразилось сообщение, что в графическом режиме Apache JMeter можно создавать тесты, а выполнять их можно только из терминала, например так:

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

Кстати Apache JMeter в Windows запускается через файл jmeter.bat.

Управление мощностью ядер процессора в Linux

Чтобы посмотреть минимальную, текущую и максимальную частоту ядер процессора выполним команду:

grep '' /sys/devices/system/cpu/cpu0/cpufreq/scaling_{min,cur,max}_freq

Например, в моем случае отобразилось следующее:

/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:907482
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:4000000

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

Чтобы выставить минимальную частоту для всех ядер процессора на такую же как и максимальная, создадим скрипт с кодом ниже и выполним его:

#!/bin/bash
cpucount=$(grep -c 'model name' /proc/cpuinfo)
sysdir=/sys/devices/system/cpu
for cpu in $(eval echo cpu{0..$((cpucount-1))}); do
        cat $sysdir/$cpu/cpufreq/scaling_max_freq > $sysdir/$cpu/cpufreq/scaling_min_freq
done

Смотрите также мою статью:
Изменение CPU Scaling Governor в Linux

Установка и использование ioping

ioping — простой инструмент для мониторинга задержек ввода-вывода диска в режиме реального времени, аналогично как ping показывает задержку сети.

Установить в Ubuntu/Debian можно командой:

sudo apt-get install ioping

Приведу пример запуска с 10 запросами теста задержек к директории /tmp:

ioping -c 10 /tmp

Пример запроса с интервалом 0.2мс и увеличенным размером запроса:

ioping -i 0.2 -c 10 -s 1M -S 5M /tmp

Тест к диску:

ioping -R /dev/sda
ioping -RL /dev/sda

Опишу возможные опции запуска:
-c count (остановить после указанного количества запросов)
-w deadline (остановить после указанного количества времени)
-p period (отображать raw статистику после каждого указанного количества запросов)
-P period (отображать raw статистику после каждого указанного количества секунд)
-i interval (интервал между запросами в секундах)
-s size (размер запроса (4k))
-S size (размер рабочего набора)
-k (по завершению команды оставить (не удалять) рабочий файл ioping.tmp)
-L (последовательные операции вместо случайных, это также задаст размер запроса до 256k (как и -s 256k))
-A (асинхронный I/O)
-C (кешированный I/O)
-D (прямой I/O)
-B (не отображать информацию выполнения, она отобразится только по завершении команды в raw формате)
-q (не отображать информацию выполнения, она отобразится только по завершении команды)
-h (отображение краткой справки)
-v (просмотр версии)

Тест iops используя fio

fio (flexible I/O tester) — инструмент создающий потоки записи/чтения по которым можно оценить производительность файловой системы, так сказать увидеть скорость в Мбайт/с, IOPS и т.д.

Читать далее «Тест iops используя fio»

Список онлайн сервисов для тестирования сайта

Приведу ниже несколько ссылок на популярные сервисы для тестирования сайтов.

Проверки скорости загрузки сайта
https://developers.google.com/speed/pagespeed/
https://tools.pingdom.com/
https://www.webpagetest.org/
https://gtmetrix.com/

Тест сайта в разных браузерах
https://browsershots.org/

Тест сайта на количество соединений
https://loadimpact.com/

Проверка на орфографические ошибки
https://tech.yandex.ru/speller/

Проверки доступности сайта
https://www.host-tracker.com/
https://ping-admin.ru/free_test/

Прочие сервисы
https://www.yougetsignal.com
https://builtwith.com
https://www.onlinewebcheck.com

Совет: чтобы в Google выполнить поиск только по конкретному сайту, необходимо в строке поиска добавить название сайта, например site:ixnfo.com