Облік, бази даних і віддалена робота
Сервер під BAS на 5, 10, 20, 50 користувачів: процесор, пам’ять, диски
Зміст статті
Для адміністратора або керівника, який обирає виділений сервер під BAS на 5–50 користувачів. У підсумку ви матимете орієнтовну конфігурацію — ядра, пам’ять, диски — і спосіб перевірити, чи її вистачає.
Що знадобиться#
- Кількість користувачів, які працюють одночасно, і прогноз на рік-два.
- Розмір бази і темп її зростання.
- Програми, що працюють поряд із BAS: M.E.Doc, офісний пакет, браузер, клієнт-банк.
Ліцензії BAS, Windows Server і СУБД у цій статті не розглядаємо.
Два варіанти роботи#
Файлова база і віддалені робочі столи#
База — один файл на диску сервера. Користувачі входять через RDP і запускають BAS на самому сервері. Окремого сервера BAS і СУБД немає: усю роботу виконує програма в сеансі користувача, тож тривала операція одного (закриття місяця, перепроведення) сповільнює решту. Розробник описує цей варіант як простий у встановленні й експлуатації, а для одночасної роботи багатьох користувачів призначає клієнт-серверний. На практиці файлова база добре працює до 5–7 одночасних користувачів, 10 — уже межа.
Файл бази має лежати на сервері, де працюють сеанси. Відкривати його з офісних комп’ютерів через мережеву папку чи VPN не варто: це повільно, а обрив зв’язку може пошкодити базу.
Клієнт-серверний варіант із СУБД#
Три ланки: тонкий клієнт у сеансі користувача, сервер BAS (робочі процеси rphost) і СУБД — найчастіше MS SQL Server або PostgreSQL. Обчислення й блокування відбуваються на сервері, користувачі менше заважають одне одному, а ланки можна рознести на два сервери. Від 10 користувачів це основний варіант. Підтримувані операційні системи і СУБД перелічено в системних вимогах розробника; таблиці «скільки ядер на скільки користувачів» там немає, тому далі — інженерні орієнтири.
Що визначає швидкість#
Процесор: швидкість ядра важливіша за кількість ядер#
Проведення документа, звіт, закриття місяця — кожна така операція виконується здебільшого в один потік і на сервері BAS, і в СУБД. Тому час очікування залежить від швидкості одного ядра, а кількість ядер визначає, скільки людей можуть виконувати важкі операції одночасно. Для обліку 8 ядер із частотою 4,5–5 ГГц зазвичай кращі за 32 ядра з частотою 2–2,5 ГГц.
Для сеансів RDP Microsoft дає початкову оцінку: до 6 користувачів на ядро (vCPU) за легкої роботи на кшталт введення даних, 4 — за середньої, 2 — за важкої; щонайменше 4 ядра, а після приблизно 16 кожне наступне додає дедалі менше.
Пам’ять: сеанси, сервер BAS і СУБД#
| Що споживає пам’ять | Орієнтир |
|---|---|
| Windows Server і служби | 4–6 ГБ |
| Клієнт BAS у сеансі, клієнт-серверний варіант | 0,3–0,7 ГБ |
| Клієнт BAS у сеансі, файлова база | 1–2 ГБ |
| Браузер із кількома вкладками й офісний пакет | 1,5–2,5 ГБ на сеанс |
| M.E.Doc на термінальному сервері | за формулою розробника: 2 ГБ на активного користувача, 4–5 ГБ на систему, 1,5 ГБ на кожен модуль автоматичної обробки; ядер — 4 і ще по одному на активного користувача |
Сервер BAS (усі процеси rphost) | 2–4 ГБ і ще 0,3–0,5 ГБ на сеанс |
| СУБД | від 8 ГБ; добре, коли активна частина бази вміщується в пам’ять |
У клієнт-серверному варіанті сеанс із BAS, браузером і офісним пакетом займає 2–3 ГБ, із файловою базою — 3–4 ГБ; M.E.Doc рахуйте окремо. Усе, крім рядка про M.E.Doc, — оцінки з практики, а не норми розробника, тому виміряйте власні сеанси (крок 1 нижче).
Якщо СУБД працює на одному сервері із сеансами, обмежте її пам’ять. У SQL Server параметр max server memory типово фактично нічого не обмежує, і СУБД поступово займає всю вільну пам’ять; у PostgreSQL розмір кешу задає shared_buffers. Докладніше — у статті про сервер під PostgreSQL і MS SQL Server.
Диски: NVMe у дзеркалі#
- NVMe. Облікова база — це безліч дрібних операцій читання й запису; жорсткі диски і навіть SATA SSD тут помітно повільніші.
- Дзеркало (RAID 1) з двох дисків. Відмова одного диска не зупиняє роботу. Резервних копій дзеркало не замінює: видалений документ чи пошкоджена база «віддзеркаляться» миттєво.
- Обсяг. Близько 100 ГБ на систему, 10–30 ГБ на профіль користувача і три-чотири розміри бази: база, вивантаження, журнал транзакцій, тимчасові файли СУБД.
Орієнтовна таблиця на 5, 10, 20 і 50 користувачів#
Увага. Це початковий орієнтир, а не гарантія і не норма розробника: потрібні ресурси залежать від конфігурації BAS, розміру бази і характеру роботи. Таблицю складено для типової конфігурації без значних доопрацювань, бази до 30 ГБ (5–10 користувачів) або до 100 ГБ (20–50) і сеансів із BAS, браузером та офісним пакетом. Якщо конфігурацію доопрацьовано, є обміни із сайтом, важкі звіти серед дня чи M.E.Doc на тому самому сервері — закладайте більше.
| Користувачів | Схема | Ядра | Пам’ять | Диски |
|---|---|---|---|---|
| 5 | Файлова база і RDP, один сервер | 4–6 швидких | 32 ГБ | 2 × NVMe від 480 ГБ у дзеркалі |
| 10 | Клієнт-серверний, один сервер | 6–8 швидких | 64 ГБ | 2 × NVMe від 960 ГБ у дзеркалі |
| 20 | Клієнт-серверний, один сервер | 8–16 швидких | 128 ГБ | 2 × NVMe від 960 ГБ у дзеркалі; краще окрема пара під базу |
| 50 | Клієнт-серверний, два сервери | сеанси: 16–24; база і сервер BAS: 8–16 швидких | сеанси: 128–192 ГБ; база: 64–128 ГБ | NVMe у дзеркалі на кожному сервері; на сервері бази — окрема пара під базу |
Коли розділяти сервер бази і термінальний сервер. До 20 користувачів зазвичай вистачає одного сервера. Розділяйте, якщо одночасних користувачів понад 25–30, якщо моделям зі швидкими ядрами бракує пам’яті на сеанси і СУБД разом або якщо важкі звіти серед дня сповільнюють сеанси. Тоді на одному сервері працюють сеанси RDP з клієнтами BAS, M.E.Doc і офісним пакетом, на другому — сервер BAS і СУБД. Обидва замовляйте в одній країні і з’єднуйте приватною мережею: одна операція в BAS — це сотні дрібних запитів до бази, і затримка між серверами множиться на їхню кількість.
Як розрахувати сервер для своєї компанії#
Виміряйте те, що є. У робочий день на нинішньому сервері відкрийте PowerShell від імені адміністратора:
quser Get-Process | Group-Object SessionId | ForEach-Object { [pscustomobject]@{ Session = $_.Name MemoryGB = [math]::Round(($_.Group | Measure-Object WorkingSet64 -Sum).Sum / 1GB, 1) } } | Sort-Object MemoryGB -DescendingСеанс 0 — це служби (сервер BAS, СУБД), решта — користувачі; номери сеансів зіставте з виводом
quser. Цифри трохи завищені через спільні сторінки пам’яті — для оцінки це запас. Виняток — SQL Server із правом Lock pages in memory: його закріплену пам’ять дивіться в самій СУБД.Порахуйте пам’ять. Система + сеанси × пам’ять на сеанс + сервер BAS + СУБД, і ще 20–25 % запасу. Приклад для 10 користувачів на одному сервері: 5 + 10 × 2,5 + 6 + 12 = 48 ГБ, із запасом — 60 ГБ, тобто модель із 64 ГБ.
Оберіть процесор. Спершу частота ядра, потім кількість: ядра для сеансів за оцінкою Microsoft і ще 4–8 для сервера BAS і СУБД. Рахуйте фізичні ядра, а потоки залиште як запас.
Підберіть диски і сплануйте резервні копії. На основних лінійках у вартість сервера входить місце для резервних копій на окремому сховищі (обсяг — у картці сервера); копіювання ви налаштовуєте самі.
Закладіть запас на зростання — на рік-два. Пам’ять і диски після видачі можна додати лише на лінійках «Бізнес», «Потужність» та «Ультра» (через підтримку); на інших лінійках зазвичай ні — обирайте іншу конфігурацію.
Яку лінійку обрати#
- Стандарт — процесори з високою частотою ядра (AMD Ryzen, Intel Xeon E) і серверні AMD EPYC; на більшості моделей є приватна мережа. Основний вибір для 5–20 користувачів на одному сервері і для обох серверів розділеної схеми.
- Турбо — AMD Ryzen X3D, максимальна швидкість одного ядра. Для одного сервера «все в одному», коли найважливіше — швидкість проведення документів і звітів. Приватної мережі немає, тому для схеми з двох серверів не підходить.
- Бізнес — AMD EPYC та Intel Xeon 6, DDR5, NVMe, приватна мережа до 25 Гбіт/с. Коли потрібно багато пам’яті й ядер — наприклад, для термінального сервера на 50 користувачів.
- Потужність — десятки ядер і терабайти пам’яті: для великих систем із кількома базами чи віртуалізацією.
- Лайт для робочого обліку не радимо: це сервери попередніх поколінь без приватної мережі, місця для резервних копій і віддаленої консолі.
Час відгуку: чи заважатиме відстань#
З більшості міст України час відгуку до серверів у Польщі — 15–25 мс, з Києва — близько 15 мс. Це наші вимірювання з мереж українських провайдерів у жовтні 2026 року; значення залежить від провайдера і маршруту, а з мобільного інтернету воно більше. За такої затримки віддалений робочий стіл працює без відчутних пауз, тому для BAS радимо сервери в Польщі.
Як перевірити, чи вистачає сервера#
Дивіться не на середні значення за добу, а на години пік: ранковий вхід і дні закриття періоду.
- Диспетчер завдань (Ctrl+Shift+Esc). Вкладка Users показує пам’ять і процесор кожного сеансу. На графіку процесора (вкладка Performance) увімкніть логічні процесори: права кнопка миші → Change graph to → Logical processors. Якщо під час довгої операції одне ядро тримається близько 100 % або один процес на вкладці Details стабільно займає частку одного логічного процесора (близько 6 % на 16 процесорах), а загальне завантаження низьке, бракує швидкості ядра, а не кількості ядер.
- Монітор ресурсів (
resmon). На вкладці Memory стежте за стовпцем Hard Faults/sec: якщо там постійно сотні й більше, а вільної пам’яті мало, пам’яті бракує. На вкладці Disk у розділі Storage є Disk Queue Length — черга кожного диска.
Те саме в цифрах — у PowerShell від імені адміністратора (хвилина спостереження):
Get-Counter -Counter @(
'\Processor Information(_Total)\% Processor Time',
'\System\Processor Queue Length',
'\Memory\Available MBytes',
'\PhysicalDisk(_Total)\Avg. Disk Queue Length',
'\PhysicalDisk(_Total)\Avg. Disk sec/Transfer'
) -SampleInterval 5 -MaxSamples 12| Лічильник | У нормі | Час діяти |
|---|---|---|
% Processor Time | до 50 % | постійно понад 80–85 % |
Processor Queue Length | близько нуля | стабільно 2 і більше на логічний процесор (значення поділіть на їхню кількість) за високого завантаження |
Available MBytes | понад 20 % пам’яті | менше 10 % у години пік |
Avg. Disk Queue Length | менше 1 | стабільно понад 2 на диск |
Avg. Disk sec/Transfer | до 0,002 (2 мс) | стабільно понад 0,010–0,015 (10–15 мс) |
Порогові значення для завантаження і черги процесора та 10–15 мс для затримки диска взято з документації Microsoft, решта — поширені інженерні орієнтири. Назви лічильників наведено для англомовної Windows Server; у локалізованій системі їх покаже Get-Counter -ListSet *. Щоб записати цілий робочий день, додайте ці лічильники до збирача даних у perfmon (розділ Data Collector Sets).
Типові помилки#
- СУБД без обмеження пам’яті поряд із сеансами. За кілька днів сеанси починають працювати з файлом підкачки.
- Файлова база на 15–20 користувачів. Очікування на блокуваннях потужніший сервер не усуне — потрібен клієнт-серверний варіант.
Що далі#
- Підберіть модель у каталозі виділених серверів. Чим відрізняються лінійки — у статті про вибір лінійки і конфігурації, сценарії для компаній — на сторінці «Для бізнесу».
- У коментарі до заявки вкажіть кількість користувачів, розмір бази і СУБД: конфігурацію ми підтверджуємо до виставлення рахунку. Запитання — за телефоном +38 044 206 08 08, технічна підтримка працює цілодобово.
- Плануєте переїзд — прочитайте, як перенести облікову базу на сервер у Європі.
- Одразу після видачі сервера закрийте RDP від усього інтернету і налаштуйте резервні копії баз.