Выбираете из пяти VPS для 1С: прогоните fio и sysbench до оплаты
Чтобы выбрать VPS для 1С из пяти предложений, прогоните на каждом одинаковые тесты: fio для диска (случайные блоки 4 КБ и запись с fsync) и sysbench для процессора в один поток. Сравнивайте результаты с текущим сервером, где 1С работает приемлемо, и повторяйте замеры утром и вечером, иначе соседи по хосту исказят картину.
Почему VPS с хорошим тарифом тормозит под 1С 🐢
Понедельник, девять утра. Бухгалтерия открывает закрытие месяца на новом VPS, и база замирает: документ проводится по несколько секунд, у остальных крутится курсор. Тариф выбирали по прайсу: ядра, гигабайты, в описании «NVMe». В пятницу на пустой базе всё летало.
Прайс молчит о двух вещах, которые 1С чувствует сильнее остальных. Первая — скорость одного ядра: код сессии исполняется в основном одним потоком, поэтому два быстрых ядра обгоняют пять медленных. Вторая — задержка записи. СУБД не считает транзакцию завершённой, пока журнал не сброшен на диск командой fsync, поэтому время отклика на мелких синхронных записях важнее мегабайтов в секунду на последовательном чтении, которые любят указывать в рекламе.
Есть и третья причина: ресурсы делят. Провайдер продал ядер и дисковых операций больше, чем есть у хоста, и соседняя виртуалка с тяжёлым отчётом в вашу смену отнимает и процессор, и диск. Заметить это можно только под нагрузкой и в разное время суток, поэтому один тест при покупке ничего не доказывает.
Что на кону. Закрытие месяца растягивается на часы, сдача отчётности подходит к сроку впритык, сотрудники ждут проведения документов. Если VPS оплачен на год вперёд, платить приходится дважды: за тариф и за переезд базы. Час сисадмина у нас стоит 3800 руб, и часы уходят на поиск причины, которая сидит в хосте, а не в настройках 1С. Дешевле проверить до оплаты.
Как проверить диск через fio
Все команды ниже рассчитаны на Linux-образ, где обычно и живёт связка сервера 1С с PostgreSQL. Установите fio из репозитория (apt install fio или dnf install fio) и запускайте тесты на том разделе, где будет лежать база. Прогон на другом разделе покажет чужие цифры.
Случайные операции 4 КБ
Команда имитирует мелкие чтения и записи СУБД с небольшой очередью: fio --name=rand --filename=/data/fio.test --size=4G --rw=randrw --rwmixread=70 --bs=4k --iodepth=4 --ioengine=libaio --direct=1 --runtime=300 --time_based --group_reporting
Соотношение 70/30 условное, подстройте его под свою базу. В выводе смотрите не среднее, а IOPS и строки clat percentiles. 99-й и 99,9-й перцентили показывают задержку, на которой пользователь видит зависание, а среднее её скрывает.
Запись с синхронизацией
Этот тест близок к журналу транзакций: fio --name=sync --filename=/data/fio.sync --size=1G --rw=write --bs=8k --ioengine=sync --fdatasync=1 --runtime=120 --time_based
Блок sync percentiles покажет задержку каждого fsync. Редкие, но длинные пики в хвосте означают, что диск делится с соседями или упирается в лимит тарифа. Когда закончите, удалите файлы: rm /data/fio.test /data/fio.sync.
Как проверить процессор через sysbench
Начните с одного потока, потому что именно он определяет скорость сессии 1С: sysbench cpu --cpu-max-prime=20000 --threads=1 --time=60 run
Запишите значение events per second. Затем повторите команду с числом потоков, равным числу vCPU в тарифе. Если результат вырос заметно меньше, чем число потоков, ядра поделены с соседями или это половинки физических ядер. Скорость памяти проверяет команда sysbench memory --threads=1 run.
Параллельно в соседнем окне запустите vmstat 1 и смотрите последний столбец st (steal). Ненулевое значение, которое держится во время теста, означает: гипервизор отдал ваше процессорное время кому-то другому.
Как свести результаты пяти VPS в одну таблицу
Универсальных «хороших» чисел нет: они зависят от базы и числа пользователей. Поэтому в первый столбец поставьте текущий сервер как эталон, а следующие пять отдайте кандидатам. Вот строки, которые стоит заполнить.
| Проверка | Команда | Что сравнивать | Тревожный признак |
|---|---|---|---|
| Случайный ввод-вывод | fio, randrw, bs=4k | IOPS и 99-й перцентиль задержки | IOPS падают после первых минут: сработал лимит тарифа |
| Запись с fsync | fio, fdatasync=1 | 99,9-й перцентиль в sync percentiles | редкие длинные пики при нормальном среднем |
| Один поток процессора | sysbench cpu, threads=1 | events per second | ниже текущего сервера, хотя ядер в тарифе больше |
| Масштабирование по ядрам | sysbench cpu, threads=N | во сколько раз вырос результат | рост заметно меньше числа потоков |
| Время хоста | vmstat 1 | столбец st | st стабильно выше нуля |
Цифры fio и sysbench косвенные. Прямой ответ даёт тест Гилёва: он мерит саму платформу 1С на конкретном сервере. Прогоните его на двух финалистах после синтетики.
Как исправить искажённые замеры: пять граблей
Половина странных результатов объясняется не провайдером, а условиями теста. Проверьте себя по списку.
- ✓Тестовый файл лежит в /tmp. Во многих образах /tmp смонтирован как tmpfs, то есть это оперативная память, и fio выдаёт космические цифры. Проверьте df -h /tmp или кладите файл на раздел с данными.
- ✓Прогон слишком короткий. Лимиты IOPS и burst-кредиты кончаются через минуты. Тридцать секунд покажут пик, который сервер не удержит, поэтому гоняйте тест не меньше пяти минут.
- ✓Забыт ключ direct=1. Без него fio читает из кеша операционной системы и мерит память вместо диска.
- ✓Замер сделан один раз и в один час. Нагрузка соседей меняется, поэтому повторите тест утром в будний день и вечером. Большой разброс у одного кандидата — повод его вычеркнуть.
- ✓У кандидатов разные образы. Если у пяти провайдеров разные ОС, ядра и файловые системы, вы сравниваете образы, а не железо. Ставьте один и тот же дистрибутив.
Что делать, если тесты хорошие, а 1С всё равно тормозит
Хорошие цифры снимают подозрение с железа, но не со всей цепочки. Проверьте по порядку.
- ✓Сеть. Пользователи из московского офиса работают с сервером по RDP или через тонкий клиент, и им важны задержка и потери на канале. Запустите ping и mtr до сервера утром и в разгар дня.
- ✓Режим базы. Файловая база упирается в сеть и блокировки уже при нескольких одновременных пользователях, и никакой диск этого не лечит. Для совместной работы нужен клиент-серверный режим.
- ✓Параметры СУБД. PostgreSQL из коробки настроен под скромное железо: пока не заданы память и параметры журнала, быстрый диск простаивает. Это входит в настройку сервера 1С.
- ✓Тип конфигурации. Для 1С:ERP запас по процессору и диску нужен больше, и под неё есть отдельный вариант: сервер под 1С:ERP.
Если же на нескольких кандидатах разброс между запусками остаётся большим, проблема в самой схеме общего хоста. Тогда смотрите выделенный сервер в аренду: ядра и диски принадлежат только вам, соседей нет.
Как предотвратить неудачный выбор: четыре условия до оплаты
- ✓Платите за месяц, а не за год, пока не пройдёте закрытие месяца на тестовой копии базы.
- ✓Спросите письменно, выделены ли ядра под вас и есть ли в тарифе лимит IOPS. Если лимит есть, пусть назовут его.
- ✓Разверните копию реальной базы и проведите самую тяжёлую операцию: закрытие месяца или пакетное проведение. Засеките время и сравните с текущим сервером.
- ✓Если в базе персональные данные сотрудников и клиентов, дата-центр должен быть в России: первичная запись и хранение баз персональных данных граждан РФ идут на российских серверах по 152-ФЗ.
Когда VPS не хватает и что предлагаем мы
Если после тестов ни один из пяти VPS не показал ровную картину, тариф «ядра плюс гигабайты» для вашей базы тесен. Тогда сравнивайте уже не VPS, а сервер, собранный под 1С.
Для небольшой базы подойдёт виртуальный сервер для 1С, для нагруженной — выделенный, о нём шла речь выше. Аренда сервера 1С стоит от 1 100 ₽/мес за пользователя. Цена привязана к числу пользователей базы, поэтому не нужно угадывать, хватит ли тарифа на закрытие месяца.
Если базу нужно перенести и настроить, работу делает сисадмин, час стоит 3800 руб. Добавьте в таблицу шестой столбец с нашим предложением и прогоните те же команды: условия пробного периода уточняйте у менеджера.
❓ Частые вопросы
Какой тест fio показывает, потянет ли VPS базу 1С?
Запустите два теста: случайные чтение и запись блоками 4 КБ с direct=1 и запись с fdatasync=1. Гоните каждый не меньше пяти минут и смотрите не среднее, а 99-й и 99,9-й перцентили задержки. Первый тест имитирует работу СУБД, второй журнал транзакций. Результаты сравнивайте с сервером, где 1С уже работает приемлемо.
Хватит ли sysbench, чтобы выбрать VPS для 1С?
Нет. Sysbench показывает скорость процессора и памяти, но 1С упирается ещё и в диск и в настройки СУБД. Дополните его тестами fio, а финалистов проверьте тестом Гилёва на самой платформе 1С. Окончательный вердикт даёт копия вашей базы и закрытие месяца с секундомером.
Сколько стоит аренда сервера для 1С в Москве?
Аренда сервера 1С стоит от 1 100 ₽/мес за пользователя, то есть цена привязана к числу пользователей базы, а не к набору ядер и гигабайтов. Перенос и настройку делает сисадмин, час его работы стоит 3800 руб. Точный расчёт зависит от конфигурации и нагрузки.
Как понять, что соседи по хосту забирают процессор VPS?
Запустите vmstat 1 и следите за последним столбцом st (steal). Если он держится выше нуля во время нагрузки, гипервизор отдаёт ваше процессорное время другим виртуальным машинам. Повторите замер в разные часы: у соседей пики бывают в своё время, и разовый нулевой steal ничего не гарантирует.
Когда с VPS пора переходить на выделенный сервер?
Когда разброс результатов между запусками остаётся большим на нескольких провайдерах, закрытие месяца растягивается, а в базе работает много пользователей или стоит 1С:ERP. Выделенный сервер отдаёт ядра и диски одному арендатору, поэтому соседи не влияют на скорость проведения документов. Перед переездом сделайте те же замеры на выделенной конфигурации и сравните с текущим VPS.
Или позвоните: +7 906 045-28-27 — в рабочее время с 9:00 до 19:00
Остались вопросы? Нужна помощь?
Менеджеры компании с радостью ответят на ваши вопросы, произведут расчет стоимости услуг и подготовят индивидуальное коммерческое предложение.
Бесплатная консультация

