Сервер для PACS: расчет емкости, IOPS и сети для DICOM
Сервер для PACS: как посчитать емкость архива DICOM, IOPS дисков и требования к сети, чтобы снимки открывались быстро в часы пик и при росте базы.

Что влияет на скорость открытия снимков в PACS
Фраза «PACS быстро открывается» на практике означает несколько разных ожиданий. Сначала пользователь ждет список исследований, затем открытие серии, а потом прокрутку срезов. На каждом шаге узкое место может быть другим, поэтому важно разделять симптомы.
Чаще всего «тормозит» один из участков:
- загрузка списка исследований: поиск, фильтры, сортировка, работа базы данных и индексов;
- открытие серии: передача DICOM по сети и чтение файлов с дисков;
- прокрутка срезов: кэш просмотрщика, скорость чтения мелких блоков, задержки хранилища;
- переход к прошлым исследованиям: доступ к «холодному» архиву на более медленных дисках;
- одновременная работа многих пользователей: очереди на дисках, ограничения сети, нагрузка на сервер приложения.
Пиковые часы почти всегда важнее «средней» нагрузки. Если одновременно смотрят 5 врачей, это один уровень требований. Если 25 рабочих мест открывают КТ-серии параллельно, требования к IOPS, сети и кэшам резко растут, даже если общий объем архива пока небольшой.
Рост базы влияет не только на терабайты. Со временем увеличиваются таблицы метаданных, индексы и журналы, кэш чаще «промахивается», а запросы к истории пациента становятся тяжелее. В итоге PACS может упереться в задержки базы и хранения, хотя дискового места еще достаточно.
Скорость складывается из работы четырех частей: хранилища, сети, сервера приложения (PACS/БД) и просмотрщика. Хороший расчет начинается с понимания того, где именно появляется задержка в ваших сценариях.
Исходные данные, без которых расчеты будут неточными
Перед тем как подбирать сервер под PACS, соберите исходные цифры. Без них легко ошибиться в 2-3 раза: либо переплатить за оборудование, либо получить долгие открытия снимков в часы приема.
Сначала зафиксируйте список модальностей. КТ и МРТ обычно дают самый большой рост архива, но рентген, маммография, УЗИ и эндоскопия тоже важны: они добавляют много «мелких» исследований и создают нагрузку за счет одновременных просмотров.
Дальше нужны реальные размеры исследований по каждой модальности (в МБ или ГБ). Не берите «среднюю по больнице»: у КТ головы и КТ грудной клетки будут разные объемы, как и у МРТ с разными протоколами. Проще всего выгрузить статистику из текущей PACS/модальностей за 2-4 недели и взять медиану.
Отдельно зафиксируйте три группы требований:
- сколько исследований в день по каждой модальности и как меняется поток в пиковые дни;
- сколько дней (или месяцев) нужно хранить «онлайн», то есть на быстром хранилище для мгновенного открытия;
- сколько копий данных требуется: рабочая, резервная, плюс реплика для отказоустойчивости.
Проверьте требования регулятора и внутренние правила: срок хранения, необходимость неизменяемого архива, регламенты по резервному копированию и восстановлению. На практике часто просят держать последние 6-12 месяцев «горячими», а более старые исследования переносить в более дешевый слой хранения без потери доступа.
Небольшой пример: клиника добавляет КТ, поток вырастает на 15 исследований в день. При среднем размере 1,2 ГБ это около 18 ГБ в сутки только по одной модальности. С учетом копий и «онлайн»-срока итоговая емкость меняется резко, и это лучше посчитать до закупки.
Как рассчитать емкость архива DICOM на 1-3 года
Емкость PACS обычно считают в двух слоях: быстрый онлайн-архив (то, что врачи чаще открывают в рабочие часы) и более дешевое долгосрочное хранение (то, к чему обращаются редко, но хранить нужно по регламенту). Такое разделение помогает держать скорость стабильной и не переплачивать за «дорогие» терабайты.
Базовая формула простая:
Емкость = дневной объем исследований x срок хранения (в днях) x коэффициент роста + служебный запас.
Дневной объем лучше брать не «средний по году», а «типичный загруженный день», иначе вы недооцените пики.
К служебному запасу относите не только сами DICOM-файлы, но и то, что часто забывают при подборе сервера под PACS: базу данных, индексы, превью, метаданные, журналы, временные файлы, место под обслуживание и обновления. Практичное правило для старта - добавить 15-30% сверху (точнее скажет ваш PACS-вендор и политика резервного копирования).
Рост лучше считать не одной цифрой, а планом. На емкость сильнее всего влияют новые модальности и изменения протоколов (например, переход на тонкие срезы КТ).
Удобный способ задать коэффициент роста:
- +10-20% в год на общий рост потока пациентов;
- отдельной строкой: запуск КТ/МРТ, скринингов, новых отделений;
- изменения качества: больше кадров, выше разрешение.
Пример оценки (упрощенно). Сейчас вы пишете 200 ГБ в день, служебный запас 20%.
- Сейчас (онлайн 90 дней): 200 x 90 = 18 ТБ, с запасом примерно 22 ТБ.
- Через 1 год (рост 15%): дневной объем 230 ГБ, онлайн примерно 25 ТБ.
- Через 3 года (15% ежегодно): дневной объем примерно 305 ГБ, онлайн примерно 33 ТБ.
Долгосрочное хранение считайте так же, но на срок 1-3 года (или больше по вашим требованиям) и с учетом того, что туда уйдет почти весь поток.
IOPS и задержки: что критично для PACS, а что вторично
В PACS скорость ощущается не тогда, когда «быстро копируются гигабайты», а когда врач кликает и ждет. Почти все такие действия упираются в мелкие операции чтения и время отклика дисков, поэтому важны и IOPS, и задержка (latency) в миллисекундах.
Нагрузку создают не только DICOM-файлы, но и «обвязка» просмотра: поиск пациента, открытие исследования, выбор серии, перелистывание кадров, подгрузка миниатюр и предзагрузка соседних срезов. Это часто похоже на множество коротких запросов к базе и чтений небольших блоков с диска.
Случайное чтение против последовательного
Последовательное чтение - это когда рабочая станция тянет большой файл или длинный кусок серии подряд. Здесь важна пропускная способность (MB/s). Случайное чтение - это когда система дергает много мелких фрагментов из разных мест. В PACS именно оно чаще «убивает» скорость в часы пик.
Ключевой показатель здесь - задержка. Даже при «высоких IOPS на бумаге» latency 15-25 мс на HDD дает паузы в интерфейсе. Для интерактивной работы комфортнее, когда чтение укладывается в единицы миллисекунд, поэтому SSD (или хотя бы SSD-кэш) часто дает эффект сильнее, чем просто добавление HDD.
Как снизить задержки без переплаты
Рабочая схема обычно выглядит так: базу данных и журналы держат на отдельном быстром SSD-пуле, а DICOM-файлы - на другом пуле. Дополнительно помогает SSD-кэш под «горячие» данные и разделение потоков, чтобы просмотр (чтение) не страдал из-за фоновой архивации и резервного копирования.
Для грубой прикидки можно закладывать 50-150 случайных IOPS на одного активного врача в пиковые часы (сильно зависит от модальности, толщины среза и поведения просмотрщика). Проверка на практике простая: в тестовый день имитируйте 5-10 одновременных открытий типовых исследований и смотрите не только загрузку дисков, но и среднюю задержку чтения. Если latency начинает «прыгать» вверх, пользователи это почувствуют сразу.
Пошаговый расчет производительности хранения (простая методика)
Чтобы снимки открывались быстро, полезно считать не абстрактные IOPS, а понятный пик: сколько исследований одновременно читают врачи и как именно они их смотрят.
1) Считаем пик одновременных открытий
Возьмите самый загруженный час и оцените, сколько рабочих мест реально открывают исследования параллельно. Не путайте это с количеством учетных записей в системе: одновременно читают обычно меньше.
Дальше зафиксируйте сценарии просмотра. Например: обычный просмотр одного исследования, сравнение с прошлым (два исследования), или мультисерийное КТ с активной прокруткой.
2) Переводим сценарии в МБ/с и IOPS
Практически всегда важны две величины: скорость чтения (МБ/с) и число операций чтения (IOPS). Для грубой оценки достаточно такого подхода:
- определите типичный размер исследования (например, КТ 800 МБ, МРТ 400 МБ, рентген 20 МБ);
- оцените, какой объем нужно прочитать, чтобы врач начал работать (часто 5-20% от исследования, остальное догружается);
- задайте целевое время первого открытия (например, 2-5 секунд);
- посчитайте требуемую скорость: (объем для старта) / (время);
- оцените IOPS от среднего размера блока чтения. Если блок 256 КБ, то 100 МБ/с примерно равны 400 IOPS (100 / 0,256).
Мини-пример: 10 врачей в пике открывают КТ, для старта нужно 100 МБ за 3 секунды. На одного врача это около 33 МБ/с, на десять - около 330 МБ/с только на первичное открытие.
3) Учитываем фон и добавляем запас
К пиковому чтению добавьте фоновые задачи: импорт новых исследований, сжатие, пересборку индексов, репликацию, бэкап. Они могут съедать заметную долю диска именно днем.
Заложите запас 20-40% и заранее пропишите критерии приемки: например, «первое отображение КТ до 3 секунд в часы пик» и «сравнение с прошлым исследованием без ощутимых пауз».
Требования к сети для DICOM: скорость, задержка и пиковые нагрузки
В PACS сеть чувствуется сразу: снимок может «весить» много, а врач ждет не «когда-нибудь», а сейчас. При этом нагрузка разная. DICOM C-STORE (загрузка с модальностей) чаще идет ровным потоком, а C-FIND и особенно C-MOVE (выдача на рабочие станции) дают резкие пики, когда несколько врачей одновременно открывают серии.
По скорости ориентируйтесь не на среднюю, а на пик в рабочие часы. 1 Гбит/с часто хватает для небольшого отделения и умеренного потока КТ/МРТ, но 10 Гбит/с становится нужным, когда много рабочих мест, активно поднимается архив, есть 3D-постобработка или растет число КТ. Простой признак: если при одновременной выдаче нескольких исследований «проседает» отклик у всех, апгрейд сети даст эффект быстрее, чем замена дисков.
Качество канала важнее «скорости по тарифу». Для DICOM критичны задержка и потери пакетов: при потерях TCP начинает переотправки, и фактическая скорость падает в разы. Даже мощный сервер не поможет, если между PACS и рабочими станциями нестабильные коммутаторы, перегруженный Wi-Fi или длинные цепочки без контроля ошибок.
Чтобы сеть вела себя предсказуемо, обычно отделяют медицинский трафик от офисного (VLAN), задают приоритет для DICOM и просмотра (QoS), ограничивают «шумные» задачи (резервные копии, обновления) в рабочие часы и измеряют реальную пропускную способность, задержку и потери, а не только факт «линк поднят».
Для филиалов и телерадиологии чаще упираются не в LAN, а в WAN. VPN добавляет накладные расходы, а канал может быть «широкий», но с высокой задержкой. Практичный вариант - держать локальный кэш ближе к рабочему месту (на шлюзе или станции просмотра) и переносить большие выгрузки из архива на ночь, оставляя днем только то, что нужно для текущих пациентов.
Выбор дисковой подсистемы: SSD, HDD, RAID и уровни хранения
Дисковая подсистема в PACS решает две разные задачи: быстро находить нужное исследование и быстро отдавать сами DICOM-файлы. Поэтому часто выгодно разделять хранение: SSD для базы данных, индексов и журналов, и отдельный пул для DICOM-архива. Так поиск остается быстрым, а массовые записи меньше влияют на выдачу снимков.
SSD и HDD: как распределить роли
Практичный вариант: «горячее» держим на SSD, «холодное» на HDD. На SSD обычно кладут базу PACS (метаданные), кэш просмотра и последние месяцы исследований, которые открывают чаще всего. На HDD уходит основной архив на годы.
Если бюджет ограничен, «все на SSD» не всегда лучший план. Объемы КТ и МРТ растут быстро, и переплата за терабайты может быть заметнее, чем выигрыш. Чаще всего больше дает правильно настроенный кэш: популярные исследования открываются с SSD, а старые спокойно лежат на HDD.
RAID без лишних терминов
RAID нужен, чтобы отказ диска не остановил работу. Для PACS важно и чтение, и запись, поэтому выбирайте схему, где системе проще переживать поломки и восстановление.
Ориентиры:
- RAID 10 выбирают, когда важны быстрые записи и предсказуемая скорость (например, активный пул и база).
- RAID 6 экономит емкость и переносит отказ двух дисков, но восстановление может идти дольше и сильнее «просаживать» скорость на больших HDD.
- Hot spare помогает быстрее начать восстановление без участия инженера.
Tiering (уровни хранения) и кэш полезны, когда нужно уложиться в бюджет: небольшой слой SSD «подхватывает» частые чтения, а основной объем дает HDD.
Локальные диски или SAN/NAS
Если у вас один PACS и умеренная нагрузка, локальные диски в сервере часто проще и дешевле. SAN/NAS обычно выбирают, когда нескольким системам нужно совместно работать с хранилищем, требуется масштабирование без остановок, или есть строгие требования к отказоустойчивости на уровне всего хранилища.
Не забывайте про эксплуатацию: удобную замену дисков, мониторинг состояния, запас слотов под расширение, понятную схему обновления.
CPU, RAM и архитектура: один сервер или разделение ролей
Для PACS чаще всего «упираются» не в процессор, а в хранение и сеть. Но CPU и RAM напрямую влияют на стабильность в часы пик, когда одновременно идут записи, выдача исследований и построение превью.
По CPU ориентир простой: лучше больше «обычных» ядер, чем несколько самых быстрых. Процессор нужен для фоновых задач (компрессия, пересборка индексов, генерация превью, шифрование, антивирусный контроль, веб-сервисы). Если CPU постоянно держится выше 70-80% в рабочие часы, задержки начинают расползаться по всей системе.
RAM часто дает самый заметный эффект, потому что помогает кэшем. Чем больше памяти, тем больше шансов, что часто открываемые серии, метаданные и индексы будут читаться без лишних обращений к дискам. Типичный симптом нехватки RAM - активный swap и резкие «ступеньки» времени открытия исследований.
Архитектурно есть два пути: все на одном сервере (проще и быстрее внедрить) или разделить роли, чтобы пики одной части не «душили» другую. Обычно отдельно выносят базу данных, сервисы store/retrieve и веб-просмотр, а при высокой нагрузке добавляют отдельный узел для 3D/постобработки.
Виртуализация удобна для эксплуатации и резервирования, но есть риск, что задержки вырастут из-за «соседей» и неправильных лимитов. Правило простое: фиксируйте ресурсы (CPU/RAM), не экономьте на контроллерах и сетевых очередях, и заранее тестируйте сценарий «час пик».
GPU нужен не для хранения DICOM, а для тяжелой визуализации (3D MPR/VR, ИИ-обработка, рендеринг). Для обычного просмотра и архива GPU на сервере часто не дает заметной выгоды.
С первого дня полезно снимать метрики, чтобы рост базы не стал сюрпризом:
- CPU: загрузка и очередь;
- RAM: кэш и swap;
- диск: IOPS, latency, очередь;
- сеть: пропускная способность и потери;
- приложение: время retrieve и открытия серии.
Частые ошибки при подборе сервера под PACS
Самая частая ошибка - смотреть только на общий объем архива. В реальности место съедают не только DICOM-файлы, но и база данных, индексы, журналы, временные файлы, а также хранение резервных копий (или место под их выгрузку). Если заложить объем «впритык», система начинает тормозить раньше, чем заканчиваются диски: из-за переполнения журналов, нехватки свободного пространства для служебных операций и ухудшения работы кэшей.
Вторая ловушка - планирование по «среднему дню». PACS живет пиками: утром массово приходят исследования, днем идет активная выдача врачам, а под вечер закрывают отчеты и повторно открывают сложные случаи. Если считать IOPS и сеть по средним значениям, в часы нагрузки снимки будут открываться заметно дольше.
Еще одна типичная ошибка - складывать на один и тот же массив сразу все: DICOM-архив, базу данных PACS и бэкапы. В такой схеме фоновые задачи (например, резервное копирование или проверка целостности) легко «съедают» дисковые операции у врачей. Лучше разделять роли хотя бы на уровне разных пулов/томов, а при серьезной нагрузке - и по отдельным узлам.
Про сеть часто вспоминают в последнюю очередь, особенно если есть филиалы. Даже если серверная часть мощная, узкий канал или высокая задержка между сервером и рабочими станциями превращают просмотр КТ в ожидание загрузки каждого среза.
Чтобы сервер под PACS не стал проблемой через полгода, заранее зафиксируйте: ожидаемый пик одновременных просмотров, где лежат БД, DICOM и резервные копии (раздельно), какой запас нужен на рост в 2-3 раза, когда выполняется бэкап, и какие каналы связи есть до филиалов.
Простой пример: клиника добавила второй КТ и открыла филиал. Объем архива вырос быстро, но сильнее ударило то, что бэкапы начали идти в 18:00, ровно когда врачи массово пересматривают исследования. Без плана масштабирования и разнесения нагрузок даже хороший конфиг начинает «проседать».
Если вы привлекаете интегратора, просите не только «список железа», а расчет с допущениями, нагрузочным профилем и запасом.
Быстрый чек-лист перед закупкой и внедрением
Перед покупкой сервера под PACS зафиксируйте несколько чисел и правил. Это занимает час, но потом экономит недели споров и переделок.
Сначала договоритесь с врачами о цели по скорости. «Быстро» у всех разное: для рентгена это одно, для КТ с сотнями срезов - другое. Запишите целевое время открытия исследования в часы пик в секундах (и отдельно - время первой картинки).
Дальше проверьте ключевые точки, которые чаще всего ломают ожидания:
- цель по отклику в пике: сколько одновременно врачей и постов, и какая задержка считается нормой;
- онлайн-архив: сколько месяцев или лет храните «горячие» исследования на быстром хранилище, и какой запас берете на рост базы;
- разделение ресурсов: база данных и DICOM-хранилище не должны бороться за одни и те же диски;
- сеть по факту, а не «по паспорту»: измерьте скорость, задержку, потери и загрузку в пике;
- бэкап и восстановление простыми словами: сколько данных можно потерять (RPO) и за сколько обязаны поднять сервис (RTO).
В конце определите план масштабирования: что добавляете первым при росте (пул хранения, апгрейд сети, второй узел/сервер) и какие ограничения могут упереться раньше всего (контроллеры, сеть, лицензии, окна бэкапа).
Пример сценария: клиника растет, а снимки должны открываться быстро
Представим многопрофильный центр: 120 исследований в день. Из них 60 рентгенов (в среднем 30 МБ на исследование), 40 КТ (350 МБ), 20 МРТ (250 МБ). В сумме выходит около 22-25 ГБ новых данных в сутки, то есть примерно 8-9 ТБ в год без учета служебных файлов и резервов.
Первые полгода все довольны: 10 рабочих мест, снимки открываются за 2-4 секунды. Потом ставят еще один КТ, а число врачебных рабочих мест растет до 20. Суточный прирост данных увеличивается примерно на треть, а главное - растет одновременная нагрузка в рабочие часы: несколько врачей листают серии, лаборанты отправляют исследования, идут печать и выгрузки.
Когда сервер под PACS начинает «не успевать», это обычно видно по симптомам:
- долго открывается список исследований и поиск пациента - чаще упираетесь в БД и задержки диска;
- первые кадры появляются быстро, а прокрутка и подгрузка серии «затыкается» - часто не хватает IOPS у хранилища;
- ночью все нормально, а с 10:00 до 16:00 «тормозит» - признак пиков по сети или по дискам;
- передача между модальностью и PACS идет рывками - может быть узкое место по сети или по приемному диску.
Быстрый эффект обычно дают шаги, которые отделяют «интерактивное» от фонового:
- перенести БД и журналирование на SSD (отдельный том), чтобы поиск и карточки не зависели от архива;
- добавить SSD-кэш для «горячих» данных (последние 30-90 дней), а старое держать на HDD;
- перейти на 10 Гбит/с на магистрали PACS, если в пике идет много параллельных просмотров;
- разнести роли (хранилище, БД, сервисы), чтобы обновления и бэкап не забирали отклик.
Чтобы клиника росла без полной замены, обычно закладывают резерв по емкости 30-50% на 1-2 года, возможность добавить дисковые полки или второй узел хранения, и понятный план очередности апгрейдов (SSD-кэш и сеть, затем емкость архива).
Следующие шаги: как оформить требования и выбрать поставку
Начните с измеримых целей. Зафиксируйте, за сколько секунд снимок должен открываться в рабочие часы (например, первые кадры КТ - до 3-5 секунд на рабочем месте) и что будет считаться деградацией в пик.
Соберите исходные цифры и сведите их в один документ, который можно согласовать между ИТ, рентген-службой и руководством. Часто хватает короткого ТЗ на 1-2 страницы с приложением расчетов.
Полезно включить:
- профиль нагрузки: сколько исследований в день, сколько одновременных врачей, какие модальности и когда пик;
- целевые времена: открытие исследования, прокрутка серии, сравнение с прошлым;
- расчет: емкость (с учетом роста и ретеншн), IOPS и пропускная способность сети, плюс запас 20-30%;
- план проверки: сверка по логам PACS и короткий пилот на реальных рабочих местах;
- надежность и обслуживание: что должно переживаться без простоя, мониторинг, регламенты замены компонентов.
После этого уже проще выбирать конкретную поставку и проверять, как система расширяется через 12-24 месяца.
Если нужен партнер, который закрывает и «железо», и интеграцию, уместно обсудить проект с GSE.kz (gse.kz): это производитель и системный интегратор из Казахстана, у которого есть серверная линейка S200 и опыт построения инфраструктуры, включая поддержку 24/7. В таком разговоре удобно сразу увязать хранение, сеть и резервирование под ваши пиковые сценарии, а не под «средний день».
FAQ
Почему PACS может медленно открывать снимки?
Сначала разделите путь пользователя на этапы: поиск исследования, открытие серии и прокрутка срезов. Затем измерьте, на каком этапе растет задержка. Поиск чаще зависит от базы данных, открытие и прокрутка - от хранилища, сети и кэша просмотрщика.
Как рассчитать объем архива DICOM?
Возьмите дневной объем исследований, умножьте на срок хранения в днях и добавьте прогноз роста. Сверху заложите 15-30% на базу данных, индексы, превью, журналы, временные файлы и обслуживание.
Чем онлайн-архив отличается от долгосрочного?
Онлайн-архив хранит недавние исследования на быстром хранилище, чтобы врачи открывали их без задержки. Долгосрочный архив держит более старые данные на менее дорогом уровне, но сохраняет доступ к ним по регламенту.
Что важнее для PACS: IOPS или задержка дисков?
Для PACS важны оба показателя. IOPS показывают, сколько мелких операций чтения выполняет система, а задержка показывает, сколько времени занимает каждая операция. При высокой задержке врач увидит паузы даже при хорошей пропускной способности.
Нужны ли SSD для PACS или хватит HDD?
Для базы PACS, индексов, журналов и кэша обычно выбирают SSD. Основной многолетний DICOM-архив можно хранить на HDD, если быстрый слой и кэш принимают частые обращения. Такое разделение снижает стоимость без заметной потери скорости в повседневной работе.
Когда для DICOM нужна сеть 10 Гбит/с?
Для небольшого отделения с умеренным потоком 1 Гбит/с часто достаточно. Если много врачей одновременно открывают КТ и МРТ, есть 3D-обработка, филиалы или большой поток исследований, магистраль PACS обычно стоит строить на 10 Гбит/с.
Как оценить пиковую нагрузку на PACS?
Считайте не учетные записи, а реальные одновременные открытия в самый загруженный час. Учтите сценарии с сравнением прошлых исследований и активной прокруткой КТ. К этой нагрузке добавьте импорт, резервное копирование, репликацию и запас 20-40%.
Почему нельзя хранить БД, снимки и бэкапы на одном массиве?
Не размещайте базу данных, DICOM-архив и резервные копии на одном перегруженном массиве. Бэкап и проверка целостности могут занять дисковые ресурсы именно тогда, когда врачи активно смотрят исследования. Разнесите хотя бы базы и журналы, архив и резервные задачи по разным пулам.
Какие данные собрать перед подбором сервера?
Укажите число исследований в день по модальностям, размеры типовых исследований, число одновременных врачей, срок онлайн-хранения и требования к копиям данных. Добавьте целевое время первой картинки, открытия серии и сравнения с прошлым исследованием в часы пик.
Как учесть резервное копирование и восстановление PACS?
Зафиксируйте допустимую потерю данных в часах или минутах - это RPO. Затем определите, за какое время после сбоя нужно вернуть PACS в работу - это RTO. Эти значения влияют на число копий, репликацию, схему бэкапа и резервное оборудование.