Один VPS и пять сервисов 1С: что вынести первым, когда база виснет
Один VPS потянет 1С, СУБД, терминальные сессии, веб-публикацию и резервное копирование, пока пользователей мало, а база небольшая. Память СУБД ограничьте, данные и копии разнесите по разным дискам. Выносить начинайте, когда закрытие месяца замедляется или бэкап мешает работе: сначала копии, затем терминальные сессии и публикацию, в последнюю очередь базу.
Почему возникает просадка, когда на одном VPS живут пять сервисов 🐌
Девять утра, понедельник. Бухгалтерия открывает месяц, склад разносит приходные накладные, двое менеджеров выгружают отчёты в Excel прямо в терминальных сессиях. На том же VPS ещё досчитывается ночной бэкап: база выросла, и копия перестала укладываться в ночь. СУБД забрала почти всю память, сессии ушли в своп, диск стоит в очереди. Проведение одного документа растягивается на минуты.
Железо при этом приличное. Пять сервисов тянут одни и те же ресурсы в одни и те же часы:
- ✓СУБД (PostgreSQL или MS SQL Server) забирает под кэш всю память, которую ей не запретили: у MS SQL Server параметр max server memory по умолчанию не ограничен.
- ✓Сервер 1С держит в памяти рабочие процессы с сеансами пользователей и постоянно ждёт ответов от СУБД.
- ✓Терминальные сеансы приносят Excel, браузеры и тонкие клиенты, и всё это живёт в той же оперативной памяти.
- ✓Веб-публикация принимает запросы сайта, обменов и мобильных клиентов, часть из них приходит из интернета.
- ✓Резервное копирование читает базу целиком и пишет копию, то есть загружает тот же диск.
По отдельности каждый сервис уместился бы на VPS. Но пики совпадают: утром пользователи входят в базу, СУБД читает диск, а бэкап дотягивается до рабочего времени. Поэтому пользователь видит зависшую форму и звонит администратору.
Обычно так и получается. VPS брали под 1С для небольшой бухгалтерии, потом добавили терминальный доступ, затем публикацию для обмена с сайтом, затем бэкап. Каждое решение выглядело разумным, но сумма незаметно переросла сервер.
Ставка выше, чем кажется. Месяц, который не закрылся вовремя, сдвигает отчётность к самому сроку. Склад, который ждёт проведения, не отгружает. А если падает сам VPS, останавливаются все пять сервисов сразу, и копии, лежавшие на соседнем диске того же сервера, уходят вместе с базой.
Как поставить пять сервисов на один VPS, чтобы они не мешали друг другу 🛠
Схема «всё на одном» работает, если разложить ресурсы до запуска, а не после первых жалоб. Для неё подойдёт виртуальный сервер для 1С: на небольшой базе и ограниченном числе пользователей он обычно выходит дешевле выделенного.
Порядок установки
- ✓Разметьте диски: отдельные тома под систему, файлы СУБД, журналы и копии. Если диск один, закажите второй том хотя бы под копии.
- ✓Поставьте СУБД и сразу ограничьте память: max server memory для MS SQL Server или shared_buffers для PostgreSQL. Операционной системе и терминальным сеансам оставьте запас.
- ✓Разверните сервер 1С после СУБД и запустите службу под отдельной учётной записью, не под администратором. Кластер и рабочие процессы настраивайте уже потом; если нужна помощь, у нас есть услуга настройка сервера 1С.
- ✓Добавьте роль удалённых рабочих столов и купите лицензии RDS CAL на каждого пользователя или устройство. Без них одновременная работа нескольких людей нарушает условия лицензирования Microsoft.
- ✓Опубликуйте базу через веб-сервер в последнюю очередь: наружу только нужный путь и только по HTTPS, обмены идут под отдельным пользователем 1С с ограниченными правами.
- ✓Настройте копирование на ночь и сразу задайте место хранения вне этого сервера.
Что проверить после установки
Прогоните тест Гилёва на пустом сервере и повторите, когда сервисы запущены и в базе работают люди. Если результат заметно проседает, ресурсы делятся плохо, и это видно ещё до первой жалобы. Минимальные требования к оборудованию 1С публикует разработчик на странице системных требований: сверьтесь с ней по числу пользователей и размеру базы.
Как понять, что пора расселять сервисы 📊
Один неприятный понедельник ещё не повод брать второй сервер. Расселяйте, когда один и тот же ресурс упирается в потолок в каждый пик. Признаки:
- ✓закрытие месяца и массовое проведение занимают заметно больше времени, чем в прошлом квартале;
- ✓оперативная память занята почти полностью, а сервер уходит в своп;
- ✓бэкап не укладывается в ночное окно и цепляет утренние часы;
- ✓сеансы в терминале замирают одновременно с ростом очереди к диску;
- ✓обновление платформы или конфигурации останавливает все пять сервисов, а ждать выходных бизнес не может.
Для замера хватит стандартного монитора производительности Windows или аналога на Linux. Выпишите четыре показателя в пиковые часы за две-три недели: загрузку процессора, свободную память, очередь к диску и число одновременных сеансов. Если потолок один и тот же из раза в раз, вы нашли, что выносить. Если пик единичный, сначала наведите порядок в регламенте: тяжёлые отчёты ночью, закрытие месяца в отдельное окно.
Как исправить перегрузку: в каком порядке расселять сервисы
Выносите по принципу «дешевле и заметнее» и после каждого шага повторяйте тот же замер. Типовые схемы сравнивает таблица.
| Схема | Кому подходит | Что упирается первым | Когда переходить дальше |
|---|---|---|---|
| Всё на одном VPS | Небольшая база, немного одновременных пользователей | Память и диск в утренний пик | Копия не укладывается в ночь, сеансы замирают |
| Копии и публикация отдельно | Те же пользователи, но есть внешние обмены и тяжёлый бэкап | Сеансы и СУБД делят память | Память занята почти полностью в каждый пик |
| Терминальный сервер отдельно, 1С и СУБД вместе | Команда, у которой основная нагрузка идёт от сеансов пользователей | Диск и процессор самой базы | Проведение и отчёты замедляются при свободной памяти |
| 1С и СУБД на выделенном сервере | Большая база, 1С:ERP, ежедневное массовое проведение | Бюджет и объём администрирования | Кластер и СУБД масштабируют по отдельности |
Сначала копии и публикация
Перенесите копии в отдельное хранилище и сдвиньте окно подальше от рабочих часов. Это почти не требует мощностей, а риск потерять копию вместе с базой закрывается сразу. Веб-публикацию, открытую в интернет, держите на отдельной машине: взломанный веб-сервер не должен выходить на диски с базой.
Потом терминальные сеансы
Сеансы пользователей занимают больше всего памяти и спорят за неё с СУБД. Отдельный терминальный сервер возвращает память под кэш базы в тот же день. Сервер 1С и СУБД при этом оставьте рядом: задержка между ними сильнее всего бьёт по скорости работы.
В последнюю очередь саму базу
Если после первых двух шагов проведение документов всё равно замедляется, упёрлась в диск и процессор связка 1С и СУБД. Её переносят целиком на более мощный узел, например на выделенный сервер в аренду. Для 1С:ERP этот шаг наступает раньше: она тяжелее бухгалтерии, поэтому сервер под 1С:ERP подбирают сразу под её нагрузку.
Что делать, если тормоза возвращаются после расселения
Новый сервер лечит не всё. Если через неделю картина прежняя, проверьте по порядку:
- ✓регламентные операции в СУБД: обновление статистики и переиндексацию для MS SQL Server, VACUUM и ANALYZE для PostgreSQL. Без них база тормозит на любом железе;
- ✓антивирус: каталоги базы, файлы СУБД и процессы 1С нужно внести в исключения, иначе каждая запись проверяется;
- ✓сеть между терминальным сервером и сервером 1С: слабый канал или лишние маршрутизаторы дают задержку, которую сразу чувствуют все пользователи;
- ✓блокировки при закрытии месяца: одна долгая транзакция держит остальных, и никакое железо этого не исправит;
- ✓тяжёлые отчёты без отбора, которые читают таблицы целиком в разгар дня.
Если причина не видна из замеров, нужен разбор: технологический журнал 1С и статистика СУБД показывают, какой запрос и какой процесс держат очередь. Такой разбор делает системный администратор. Сопровождение 1С и услуги сисадмина стоят 3800 руб/час.
Как предотвратить повторную перегрузку
Запас после расселения кончается, если за ростом не следить. Что закрепить:
- ✓раз в неделю записывайте четыре показателя из раздела выше, а размер базы и копий фиксируйте раз в месяц: кривая роста заранее показывает дату потолка;
- ✓планируйте расселение до квартального закрытия, а не после первых жалоб бухгалтерии;
- ✓новый сервис на общий сервер добавляйте только после оценки: Telegram-бот, который ходит в базу через HTTP-сервис, или распознавание документов тоже занимают память и процессор;
- ✓раз в квартал разворачивайте копию на тестовой машине. Копия, которую не пробовали восстановить, остаётся предположением;
- ✓тяжёлые отчёты и массовые обработки переносите на ночь через регламентные задания.
Как это решается у нас и сколько стоит 💰
Мы сдаём серверы под 1С в аренду и собираем схему под вашу нагрузку: от одного VPS, где всё помещается, до отдельных терминального и выделенного серверов, когда пришло время. Аренда сервера 1С стоит от 1 100 ₽/мес за пользователя.
Все ступени из таблицы есть в одном месте: виртуальный сервер, выделенный сервер, отдельный сервер под ERP и настройка. Поэтому расселять сервисы можно по мере роста нагрузки, не меняя поставщика. Настройка, расселение и перенос оплачиваются по часам, системный администратор стоит 3800 руб/час. Начните с замера из этой статьи: по тесту Гилёва, числу пользователей и размеру базы видно, на какой ступени вы сейчас и сколько стоит следующая.
❓ Частые вопросы
Можно ли держать 1С, СУБД и терминальный доступ на одном VPS?
Можно, если пользователей немного, а база небольшая. Ограничьте память СУБД, разнесите данные и копии по разным дискам, купите лицензии RDS CAL для терминальных сеансов. Когда закрытие месяца замедляется, а память занята почти полностью в каждый пик, терминальные сессии выносят на отдельный сервер.
Что выносить с общего сервера первым?
Сначала копии: переместите хранилище на отдельный носитель и сдвиньте окно подальше от рабочих часов. Затем терминальные сеансы, потому что они занимают больше всего памяти. Веб-публикацию, открытую в интернет, лучше держать отдельно. Сервер 1С и СУБД оставляйте вместе как можно дольше: задержка между ними сильнее всего снижает скорость.
Как понять, что одного VPS уже не хватает?
Смотрите на четыре показателя в пиковые часы за две-три недели: загрузку процессора, свободную память, очередь к диску и число сеансов. Если один из них упирается в потолок каждый раз, пора расселять. Дополнительные признаки: бэкап не укладывается в ночь, закрытие месяца идёт дольше прошлого квартала, сеансы в терминале замирают.
Сколько стоит аренда сервера для 1С?
Сервер 1С в аренду стоит от 1 100 ₽/мес за пользователя. Настройка, расселение сервисов и перенос базы оплачиваются по часам: сопровождение 1С и системный администратор стоят 3800 руб/час. Точную схему и бюджет определяют по числу пользователей, размеру базы и пикам нагрузки.
Что делать, если после переноса на отдельный сервер 1С всё равно тормозит?
Проверьте регламентные операции в СУБД (статистика, переиндексация или VACUUM), исключения антивируса для каталогов базы, задержку в сети между серверами и долгие блокировки при закрытии месяца. Если причина не видна из замеров, нужен разбор технологического журнала 1С и статистики СУБД: он показывает, какой запрос держит очередь.
Или позвоните: +7 906 045-28-27 — в рабочее время с 9:00 до 19:00
Остались вопросы? Нужна помощь?
Менеджеры компании с радостью ответят на ваши вопросы, произведут расчет стоимости услуг и подготовят индивидуальное коммерческое предложение.
Бесплатная консультация

