# UnixBench на Linux: тестирование производительности сервера

### Что такое UnixBench?

UnixBench – один из самых надежных инструментов для тестирования Linux-серверов с 1983 года. В он остается золотым стандартом для:

* Оценки общей производительности системы
* Сравнения разных конфигураций серверов
* Выявления узких мест в производительности

***

### Области тестирования

{% tabs %}
{% tab title="CPU тесты" %}

#### Процессорные операции

* Dhrystone 2 для целочисленных операций
* Whetstone для операций с плавающей точкой
* Тесты на создание процессов
* Оценка производительности при переключении контекста
  {% endtab %}

{% tab title="I/O тесты" %}

#### Операции ввода/вывода

* Тестирование файловой системы
* Оценка скорости копирования данных
* Проверка производительности pipe операций
* Измерение процессорного времени для I/O операций
  {% endtab %}

{% tab title="Системные тесты" %}

#### Системные операции

* Тестирование системных вызовов
* Оценка производительности shell скриптов
* Проверка работы с памятью
* Тестирование многозадачности
  {% endtab %}
  {% endtabs %}

***

### Сравнительная таблица результатов

| Тип сервера  | Single-Core Score | Multi-Core Score | Типичное применение          |
| ------------ | ----------------- | ---------------- | ---------------------------- |
| Entry VPS    | 1000-1500         | 2000-3000        | Веб-хостинг                  |
| Standard VPS | 1500-2500         | 3000-5000        | Базы данных                  |
| Premium VPS  | 2500+             | 5000+            | Высоконагруженные приложения |

***

### Установка UnixBench

{% hint style="warning" %}
Перед установкой убедитесь, что система обновлена до последней версии
{% endhint %}

#### Подготовка системы

```bash
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential gcc perl libx11-dev libgl1-mesa-dev -y

# CentOS/RHEL
sudo yum groupinstall "Development Tools" -y
sudo yum install perl-Time-HiRes libX11-devel mesa-libGL-devel -y
```

#### Установка UnixBench

```bash
wget https://github.com/kdlucas/byte-unixbench/archive/v5.1.3.tar.gz
tar xvf v5.1.3.tar.gz
cd byte-unixbench-5.1.3/UnixBench/
make
```

***

### Запуск тестирования

{% hint style="success" %}
Рекомендуется выполнять тесты на "чистой" системе без активных процессов
{% endhint %}

#### Базовое тестирование

```bash
./Run
```

#### Многопоточное тестирование

```bash
./Run -c $(nproc) # Использует все доступные ядра
```

***

### Оптимизация результатов

#### Перед тестированием:

1. **Очистка системы**

```bash
# Очистка кэша
sync; echo 3 > /proc/sys/vm/drop_caches

# Остановка ненужных сервисов
systemctl stop apache2 mysql nginx
```

2. **Мониторинг температуры**

```bash
# Установка утилит мониторинга
apt install lm-sensors
sensors
```

***

### Интерпретация результатов

#### Ключевые метрики года:

* **System Benchmarks Index Score**
  * < 1000: Требуется оптимизация
  * 1000-2000: Хороший результат
  * 2000: Отличный результат
* **Индивидуальные тесты**
  * Dhrystone: измерение целочисленной производительности
  * Whetstone: оценка операций с плавающей точкой
  * File Copy: производительность I/O операций

***

### Наши ресурсы

**Telegram-канал:** <https://t.me/u1host>\
**U1HOST:** [https://u1host.com](https://u1host.com/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.u1host.com/technical-docs/unixbench-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
