"У нас будет сервер с SSD, и все будет летать". С этой фразы начинаются проблемы, если подойти к делу без творчества, надеясь только на быстродействие железа.
Процесс перехода на новую конфигурацию Управление торговлей сложен и тернист. Преимущества новой конфигурации компенсируют проблемы возникающие в результате модернизации информационной системы. В конфигурации Управление торговлей 11.1 или 11.2 заложено много интересных возможностей. Это конструктор, из которого можно сделать много всяких систем. Для нужд конкретной организации нужны не все сервисы предоставляемые конфигурацией. Перед принятием решения о переходе на новую конфигурацию нужно составить план, какие системы будут использоваться. Сразу все сервисы внедрить не получится. Нужно будет пройти путь, из-за которого будет много суеты и беспокойства. Есть бонус, некоторые удобные, нужные возможности новых технологий войдут в работу легко и непринужденно.
Торговая организация решила улучшить свою информационную систему Управление торговлей 10.3. Без конфигурации Бухгалтерии конфигурацию Управление торговлей рассматривать неверно. Это комплекс программ и как правило используются вместе. И чаще всего обмениваются данными, по крайней мере в сторону Бухгалтерии.
Бухгалтерию модифицировали первой, запустили Бухгалтерию предприятия 3. Главный бухгалтер грамотная, справилась практически самостоятельно, за что ей огромная благодарность.
Старая информационная система использовала сервер терминалов, компьютеры пользователей малопроизводительные. Подключение к базам 1С толстым клиентом, обычные формы. Удаленные пользователи подключались к терминалу. Все было привычно и работало в рамках своих возможностей для коллектива примерно 15 человек.
Нашлись в компании буйные головы, заговорили о новых возможностях УТ 11.1, развитии бизнеса и новых системах контроля за деятельностью организации. А жизнь была такая спокойная. Взгрустнули и начали.
Тестирование показало, что для новых конфигураций требуется больше ресурсов оперативной памяти и процессора сервера. Расчеты показали, что при переходе на новую информационную систему, сервер "ляжет".
Решили использовать тонкий клиент 1С Предприятие на рабочих станциях пользователей. Ресурсы сервера и рабочих станций будут использоваться эффективнее, некоторые вычисления перейдут на рабочии станции пользователей, что немного разгрузит сервер.
Использовать файловый вариант базы с толстым клиентом 1С Предприятие отказались сразу. Сеть даже 1 Гбит/с, файловой базой данных используется неэффективно Для передачи данных от базы к пользователю, при формировании запросов, передается большое количество данных, обработка происходит на компьютере пользователя, а они напоминаю слабо мощные и не подходят для обработки больших массивов данных, а работают только для отображения интерфейсных объектов. Несколько одновременных запросов к данным вызывают раздражающие задержки ответа.
Для оптимизации расходования денежных средств немалую сумму решили растянуть во времени. Размер базы, после запуска в эксплуатацию, небольшой и казалось вполне можно обойтись без сервера 1С Предприятия. Apache Web сервер на Windows не показал высокого быстродействия. IIS web сервер показал более высокое быстродействие. Настроили доступ Web сервера, к файловой базе.
Необычно получилось, но работает. При небольшом количестве пользователей, вполне работает. Дешево получается. Управляемые формы работают отлично.
Запустили в эксплуатацию конфигурацию Управление Торговлей 11.1 и Бухгалтерия предприятия 3. Пользователи к базе подключались через Web подключение, тонким клиентом. Нагрузка на локальную сеть минимальна. Удаленные пользователи подключаются к базе без проблем. Счастье было недолго.
Доступ к старой базе УТ 10.3 тоже был нужен, пришлось по одному пускать в терминал. Терминал расходует ресурсы сервера не оптимально, на каждого пользователя выделяя ОЗУ и запущенные приложения нагружают процессор сервера, а он итак сильно загружен обработкой запросов баз данных.
Первое впечатление пользователей после перехода от обычных форм к управляемым, что все тормозит. Формы открываются и перерисовываются медленне, отчеты отрисовываются медленее. Немного поработали, привыкли, оставили суету в прошлом.
Вторая засада ждала при исполнении регламентных заданий. В таком виде сервера, они выполняются не на сервере, а на рабочей станции пользователя в фоновом режиме. Все вроде работает, но сильно тормозит, пока подойдешь задание заканчивается и все работает нормально. Пользователь показывает, а уже не тормозит. Отходишь опять тормоза, просто магия.
Интерфейс УТ 11.1 явно разработан под Full HD 1080, при меньшем разрешении формы на экране не умещаются. Началась замена мониторов по офису. Пользователи это подержали.
Пока разобрались, откуда тормоза, поменяли сервер на более мощный, не помогло. Организация прибавила 10 человек и пользователей стало 25. Активных пользователей. Постоянно формируют отчеты, выписывают проводят, перепроводят документы. Жизнь закипела. И тормоза информационной системы совсем не нужны.
Поняли, что обойтись без сервера 1С Предприятие не получится. Купили x64 сервер. Вещь! Отличное программное обеспечение, моя благодарность разработчикам.
Выбрали PostgreSQL. Во первых это недорого! Во вторых отлично работает. Альтернативы у нас были, но бесплатно нас привлекло больше всего. Рассказы о тормознутости PostgreSQL под Windows посчитали наговором.
Другое преимущество PostgreSQL в том, что сервер может ставиться на Windows для рабочих станций. Очередное желание экономии. Работает по сей день, больше года. Примерно раз в 20 дней перезапускаем "сервер" в плановом режиме. Windows Server работает надежнее, но у торгашей деньги важнее, а ITшники пусть думают как это будет бесперебойно работать, а иначе за что им деньги, и немалые деньги, платят. Показатель доступности сервера: с 9:00 - 18:00 пн-пт 100%, остальное время 98%.
Общество платит инженерам деньги не за многие знания, а за снижение стоимости решения проболем и построение более эффективных и недорогих механизмов и систем.
Вот оно Счастье! Регламентные задания выполняются на сервере, работает быстро. Ложка дегтя в виде тормозов нашлась, периодически, в отчетные периоды в налоговую инспекцию, возникали тормоза работы баз торговли и бухгалтерии. При загрузке данных в тестовые базы все вообще практически останавливалось. Пришлось для экспериметов и других регламентных операций, выбирать нерабочее время. Это послужило хорошей мотивацией для решения проблем.
Решение нашлось очевидное. Перенести Управление Торговлей 11.1 на отдельный SSD накопитель, отдельно от остальных баз. Полегчало, все довольны. Размер базы вырос многократно до этого момента и ее размеры стали впечатлять .dt файл выгрузки 4 Гб. Пару месяцев все шло отлично, отторговали Декабрь.
Спокойная жизнь в очередной раз оказалась под угрозой. Решили обновить УТ 11.1 на УТ 11.2. Свертку данных решили не делать, "нельзя" удалять ценные статистические данные, которые необходимы при планировании закупок и продаж. Обновлять без свертки - это крупная ошибка! Учет мы вели немного нестандартно. За год создали более 20 000 позиций номенклатуры с огромным количеством дополнительных реквизитов. Переход был очень болезненным, начался в новогодние каникулы, полностью привели в порядок базу к Марту.
Новые возможности Управления Торговлей 11.2 порадовали. Интерфейс форм документов изменили и заточили его под мониторы с меньшим разрешением чем 1902х1080. Казалось жизнь наладилась, но снова начала тормозить база. Отключил относительно ненужные регламентные задания. Стало легче. Но быстродействие стремительно падало с быстрым ростом базы, в которую начали заливать много файлов, картинок, документооборот вырос. Стало нужно решить проблему быстродействия с учетом возрастающей нагрузки.
С увеличением торговли, подросла и бухгалтерия. Номенклатуры в нее тоже много попало, количество документов увеличилось. Почти катастрофа.
Детальный анализ работы сервера показал, что PostgreSQL пишет много служебных данных на накопитель. Файлы транзакций, логи и прочая информация пишется в большом количестве. Размеры запросов явно стали больше. Очередь на обслуживание к накопителю выстраивалась до 10 секунд. Начал думать что зря связался с PostgreSQL по Windows.
Изменил настройки PostgreSQL. В файле .conf настройки по умолчанию выбирались давно и они не заточены под компьютеры с ОЗУ 32 Гб. Размеры кэшей увеличил, лучше не стало.
Напросилось решение выделить отдельный накопитель для SQL сервера.
Очередь на обслуживание пропала. Заработало все хорошо, но только у пользователей с полными правами. У пользователей с ограниченными правами тормозить стало меньше, но разница в скорости была заметна и существенна.
Замер производительности показал, что разница во времени сохранения данных во временное хранилище 1С, составляет 18 раз. Это много. Методами проб и ошибок выяснил вид объекта, который влияет на производительность. Объект Документ. Поленился выяснять какой конкретно вид документов оказывает влияние на быстродействие. Дал всем пользователям права на чтение всех документов. Скорость работы пользователей возросла. Началась нормальная эксплуатация. На текущий момент счастье продолжается.
В результате:
SSD 1. Windows и установленные некоторые программы могут загрузить пропускную способность канала передачи, но с помощью настроек и большого количества оперативной памяти можно от этого избавиться. Сервер 1С Предприятие пишет логи, журналы баз данных. Иногда очень активно.
SSD 2. PostgreSQL создает файлы транзакций, ведет большое количество журналов. Гипотеза: что с ростом количества баз, больших баз, растет нагрузка на этот накопитель.
SSD 3. Большая база данных торговли лежит на отдельном накопителе, для обеспечения максимальной скорости доступа.
SSD 4. База бухгалтерии не столь критична к задержкам и пользователей у нее меньше. При массовом перепроведении документов за большой период, требуется высокое быстродействие. Остальные базы не имеют больших размеров. Тестовые базы активно не используются в многопользовательском режиме.
Тест Гилева для такой конфигурации сервера показал результат более 60. Тест проводился в середине рабочего дня, во время теста у пользователей задержки не ощущались.
Что делать, если опять будет тормозить?
Вероятнее всего это будет связано с очередью на обслуживание к накопителям. SATA SSD работают со скоростью 500 МБайт/с. PCI-E SSD накопители работают со скоростью 1800 МБайт/с - скорость можно увеличить в 3 раза.
Вывод: система работает.
В настоящий момент 25 пользователей, сервер работает с большим запасом быстродействия. База данных торговли PostgreSQL имеет размер 18 Гб, .dt базы 7 Гб. Сервер имеет на борту 32 ГБ ОЗУ, процессор I7 4770 3.4 ГГц.