Есть общая сетевая папка. На ней лежит база. Клиенты подключаются по сети. Скорость работы дисков сильно выше пропускной способности сети. Сеть - 1 гигабит. Сеть работает идеально В среднем держит без скачков 100-112Мбайт/с ! Активное сетевое оборудование (свитч и роутер) работает без существенной нагрузки.
Проблема: После подключения 2-3 экземпляра программы на разных ПК, 1С начинает генерировать трафик и упирается в пропускную способность сети! При этом можно даже не работать. Достаточно запустить 1С и ничего не делать. По индикаторам операционной системы (окно "Производительность") видно как начинается разгон сетевого трафика. Сначала 5Мб/с, затем 20-22Мб/с, а через пару минут система как будто входит в резонанс и улетает до максимума! Забивается сеть - начинаются "тормоза"!
Работает как следует если подключён только 1 клиент!
Что выяснил:
1. На всех клиентских ПК трафик только скачивается! То есть это не то что где-то происходят изменения, которые грузятся в базу, а на остальных веером происходит обновление. нет! Только входящий трафик. исходящий трафик колеблется на уровне от нескольких килобайт до пара мегабайт.
2. Исключил влияние выбранного сервера. - не помогло. Взял (i5-3330S/12Gb/SSD256GB/1Gb/Windows10Pro license) с только что установленной Windows 10. Создал на ней общую папку и поместил туда базу. Подключил клиентов, и результат тот же разгоняется трафик. 1С тормозит.
3. Отключил журнал регистрации в Конфигураторе - не помогло!
4. Отключил антивирус - не помогло;
5. Переустановил операционные системы на лицензионные Windows 10. - не помогло;
6. Заменил платформу на 1С на 8.3.17.1851. Эта версия указана в документации как рекомендованная для конфигурации Бухгалтерия - не помогло;
7. Очищал кэш на клиентах ( то же самое было в п. 2 ) - не помогло;
8. Подозреваю, что это проблема совместимости 1С и механизма работы с сетевыми папка внутри Window 10. (samba 3.1.1.1) Если на одном клиентском ПК Windows 10, а на другом Windows 8.1( samba 3.0.2), то генерация трафика может не наступать. А если несколько Windows 10, генерация наступает почти 100%.
9. Пробовал работать исключительно с TCPv4 . Отключил TCPv6. - не помогло. (это попробовал уже на всякий случай).
10. Трафик генерируется, до аутентификации пользователя в 1С. Достаточно запустить базу и остановиться на этапе ввода пароля. Индикаторы уже показывают рост входящего трафика от процесса 1С!
11. Если база лежит на ПК под управлением Windows 8.1 pro то всё работает прекрасно. Клиенты могут работать под любой операционной системой. Проверял на Windows 10 pro (обновление апреля 21г)
Ну что тут скажешь? Патамушта Windows 10! Сами ведь пишете:
11. Если база лежит на ПК под управлением Windows 8.1 pro то всё работает прекрасно.
Давно замечено: использование десктопных версий Windows в качестве ОС для сервера (любого типа!) от версии к версии давало все более худшие результаты. Ваш случай - тому наглядное подтверждения.
вёбсервер и сервер 1С рассматривал как запасные варианты.
из минусов
Сервер 1С требует серверный ключ. (приходится жить честно)
Вебсервер - вся нагрузка вычислений ляжет на процессор в сервере что снизит производительность в целом. А может быть генерация трафика переляжет с сети на бедную дисковую систему.
(3)1С все тяжелее становится, толстые клиенты уже не в моде и в свете последних событий 1С сервер и IIS (иногда Apache) становятся тем лучиком который решит вашу проблему. Ну а если по существу, не понятно каким клиентом вы работаете. Если в вашей компании нет денег на развитие и модернизацию 1с инфраструктуры(ключ 1с сервера), то можно не переводить 1С в серверный режим, а просто поднять web сервер и работать без сетевой нагрузки. Apache бесплатный.
(4)
1С тяжелеет? Так и SMB/CIF протокол тоже не стоит на месте. Поверьте, многопоточность и распределение нагрузки сразу по нескольким сетевым картам творят чудеса производительности. Горячее перемещение занятых файлов с ресурса на ресурс.
.
У вашего предложения есть существенный минус: WEB-сервер нагружает CPU только сервере, а файловый режим распределяет вычислительную нагрузку по всем ПК! К тому же, WEB-сервер запускает под каждую сессию http отдельный экземпляр 1С ( и выделяет ключ). Где гарантия, что каждый поднятый экземляр программы не будет нагружать файловую систему, ведь по сути, что внутри ПК, что по сети - 1С делит файлы между экземплярами запущенных приложений. трафик будет насиловать SSD, а SSD сдохнет. ((( Мне печаль, конторе убытки.
(12)Вы чего то перечитали, если вы не хотите тормозов при работе 1с базы, SSD, высокочастотный процессор, sql server с архивированием полным и частичным на HDD, 1с сервер с распределение по RPHOST в 64 битном использовании, выведет работу на новый сверхзвуковой уровень. Так же можно использовать аппаратный USB ключ. В целом это не так дорого как вы заявляете. Цена 1с сервер примерно 90000р или мини сервер на 5 пользователе 14400. Была практика сервер железа сделали на обычном I7 процессоре SSD HDD и памяти 64Г, полет нормальный. Было бы желание и немного денег....
Простите зя прямоту. Можете по существу отвечать? Я спрашиваю: "Как выполнить отладку протокола обмена в 1С и выяснить откуда берется генерация трафика?" Когда я захочу узнать как лучше, я прямо так и спрошу.
(3)Уточните, пожалуйста, у Вас версия платформы установлена 64-разрядная?
Если да, то дело в этом, поставьте 32-х, проблема уйдёт.
64-разрядная по сети, если работает больше одного пользователя начинает пожирать ресурсы, ведь у неё для каждого пользователя больше памяти доступно.
(7)
Спасибо, за совет. После всех рассуждений выше о том хорошая Windows или плохая первый совет по существу. ) Я попробую если совсем ничего не получится. Есть минусы вашего совета: обновлять 32-битную версию уже невозможно, так как вылетает в ошибку "недостаточно ресурсов". Приходится запускать на 1C-платформе 64 бита, и некоторым обрабботка не хватает ресурсов. В общем мы против. опыт негативный.
64 битная версия не нагружает имеющиеся у нас парк компьютеров. У нас ПК Ryzen 5 3600 c NVMe и по16 гигов DDR4. ни разу не выжирало более10 гигов памяти.
И мне кажется все таки проблема не в производительности ПК, а в протоколе. Мне удалось добиться работающей схемы. Только если база лежит на ПК под управлением Windows 8.1. Если базу положить на "шару" (Share Folder) Windows 10 или Linux (Debian + Samba ) начинается описанная проблема.
(13)Я просто в начале года решила в несколько организаций установить 64-разрядную платформу, подумала, что быстрее будет работать. В итоге работать мог только один пользователь, у остальных вообще база не запускалась. Установила 32-х - процесс пошёл.
Вот как на партнерском форуме объяснили, почему так:
"Если памяти не достаточно, то производительность может ухудшиться (в терминалке).
Грубое описание причины.
Всего памяти 8, 4 пользователя для 32х потратят 4*2=8, т.е. памяти хватает.
А для 64х может быть первые два пользователя потратили по 4, т.е. всего 8, а на остальных двух пользователей ни чего не осталось и они начинают тормозить всех."
(23) =) Мне кажется вас перехитрили! Когда оператива заканчивается подключается SWAP файл, который является продолжением оперативной памяти и ограничен только объемом HDD.
(11)
Допустим вы правы. Первый запущенный клиент, что взял на себя роль сервера, должен отдавать трафик в сеть. Сумма исходящего трафика должна быть равна сумме входящих трафиков на клиентах. Такого эффекта нет. весь трафик входящий.
Широковещательного трафика тоже не видел.
Можете дать ссылку на документацию где описано, что первый считает себя сервером? или пояснить механизм подробнее?
(6)
По пункту четыре - сносил антивирус нафиг. Понимаю вашу озабоченность. При выключении антивируса всёравно остается работающий файервол, зная про это выполнил удаление. НА встроенный в Windows 10 антивирус грешить не приходится.
Естественно установил обновления и "дал винде успокоится".
К сожалению, используем не самые новые Ryzan5 3600/16GB/NVMe 500 (Samsung Evo 3500Gb/3200Gb). Перебиваемся тем что есть. Руководство денег не дает на апгрейд.
НА встроенный в Windows 10 антивирус грешить не приходится.
Я бы не был столь оптимистичен: замечены конфликты встроенного Защитника с транспортным модулем ЕГАИС, приводящие к диким тормозам при печати чеков, содержащих алкоголь.
Настройка исключений не помогала, пришлось отключать Defender через реестр.
У вас, конечно, другой случай, но я бы попробовал исключить из перечня причин все возможное.
ваше на фото " обратите внимание" скорее относится
обратите внимание, что у вас есть Магазин виндовый,
вагон браузеров,
сканер от др.Веба ( т.е. встроенного мало или не доверяете)
и много чего, что может работать тихо и кушать ресурсы
помимо включенных заданий в Бух
когда в вашем сетевом адаптере пропускная способность
и реальная загрузка будут равны, тогда можете считать, что это узкое место
Если база лежит на Linux сервер там загрузки памяти вообще нет, в проблема есть. А что до загрузка памяти в 75% это вообще не показатель Windows кэширует все что не попадя. И ваще, замечание не объясняет почему на клиентах входящий трафик равен пропускной способности сети.
Задания в 1С, когда включаются то кушают трафик. но в нормально состоянии это 1-16 мегабит в промежутке времени от 5 сек до 1 минуты и не больше. Я знаю как должно быть.
(19) Дешевле вложиться в один компьютер, чем во все и всё равно при прочих равных база 1С по http будет быстрее (1Гб/с - по сети и 6ГБ/с - SATA), безопаснее (шифровальщики любят 1cd да и скопировать легко могут базу) и надежнее (вылет любого клиента по сети может привести к "файл базы данных поврежден"). Тест Гилева прогоните в этих двух сценариях для сравнения.
(31)
Компьютеры уже есть, а сервера еще нет. "Дешевле вложиться в один компьютер, чем во все" - это в будущем. А сейчас как есть.
(далее внимательно следите за единицами измерения)
Быстрее 1Гигабита не надо. При нормальной работе 1С тратит на 1 клиента от 8 до 20 мегабит в сек. Иногда в пике ( обработка ) до 48 мегабит. SMB/CIF 3.0 протокол масштабируемый. Воткни туда NIC карту на 4 порта можно суммировать пропускную способность и достичь 4 гигабит, а это 400 мегабайт в секунду. Трафик близкий к SATA 6ГБ/с. Не проблема увязать сервер с коммутатором SFP+ патч-кордом и получить 10Гигабит исходящего трафика. Все равно каждый клиент 1С не возьмет больше чем 10 мегабайт .
(39) Прочитал описание к тесту. Поясните свою идею, пожалуйста, зачем тест Гелева запускать и на что смотреть? Если я правильно понял Тест Гелева покажет емкость ресурсов Сервера. У меня 1С с нагрузкой справляется. Я писал если базу положить общую папку на Windows 8.1 то все прекрасно работает. И неважно какие ОС у клиентов. Но если положить файлы базы в общую папку, расшаренную (Share Folder) под Windows 10 или Linux, то растет входящий трафик на клиентах и исходящий на той машине, где лежат файлы базы *.cd . При этом исходящий трафик на клиентах минимальный, то есть не идет речь ( я так вижу) о какой-то синхронизации.
(39)
Я прочитал еще рас все ваши советы. Если вы, просто, уговариваете меня перейти на "терминальное решение" или аналогичное, то это не вариант. Я уже несколько рас писал сегодня о минусах. Безопасность и надежность в рамках допустимого. Шифровальщики - да, страшные, но жить можно.
(42) Web и терминальное решение это совершенно разные подходы. Ресурсы для файловой через web вполне гуманные по затратам: типовые БП и УНФ съедали не больше 4 ГБ оперативной памяти на 10 пользователей. 1С сама в сервисе ГРМ использует такую технологию.
(43)
За мысль про различие терминального и Web-сервер спасибо. Буду иметь ввиду, и не писать "через запятую" эти два решения. Но все равно в этом месте нужен режим файловой версии и точка. Я использую в других местах и WEB-сервера с файловой и SQL- базами, и PostgresSQL и MS SQL и тонких, толстых и http- клиентов. и 1Сfresh у меня есть в зоопарке.
Но все равно в этом месте нужен режим файловой версии и точка.
Вот никогда не понимал такой категоричности...
База в расшаренной папке - это априори самый медленный и самый ненадежный вариант. А если еще не отключить автономные (offline) файлы в сети, то разнообразные глюки обеспечены. И если не ошибаюсь, то в расшаренной папке при множественных подключениях отключается кеширование записи на диск.
Такой вариант работы я даже врагу не поставлю. Это вам не 7.7 - хотя и там были свои проблемы при работе через шару.
(49)
Зачем вы вступаете в дискуссии на форуме, а сами ничего кроме Windows XP не видели? Утверждение что в принципе все равно какая ОС в корне не верно. Как по вашему результатом развития операционной системы за 20 лет, было изменение значков на рабочем столе? Куча народы просто просиживали штаны?
(33)
Прочитал статью по вашей ссылке. У меня нет сейчас адаптеров использующих RDMA, и в частности SMB Direct. Это аппаратно-зависимая функция. У меня такой сетевой карты в этом кейсе нет.
Итак, на Windows 8,1 поддерживается версия протокола SMB/CIF вплоть до версии 3.0.2
В Линуксе как и в Windows 10 pro последней версии поддерживается протокол SMB/CIF версии 3.1.1.1. В конфигурации Samba на Линуксе (как впрочем и в Windows) можно установить допустимую версию протокола. Я пробовал ставить ограничение, чтобы использовали протокол не выше 3.0.2. - Не помогает.
Для тех кто не знает как посмотреть какая версия протокола в данный момент используется напишу: В PowerShell добавили командлет Get-SMBConnections, которые показывает версию протокола и много чего интересного.
(63)
Что еще я заметил. При работе приложения 1С, запрос Get-SMBConnections показывает в двое меньше количество соединений в пике загрузки идущих от запущенной 1С. Количество соединений с самбой сократили. Предполагаю, была проблема в синхронизации параллельных потоков. Повторюсь предполагаю. Старт 1С приложения на новой платформе 8.3.19.1229 заметно увеличился. В первый день предположил, что это обновления локального кэша, но задержка при старте не уходит. Почему и что с этим делать - желания разбираться пока нет. Пока, понаблюдаю.
(62)
Забавный вопрос. Да, я уверен в своем ответе: "проблема ушла". :-) Я написал в техподдержку 1C и сослался эту же публикацию. Мне прислали ответ, чтобы я заменил платформу. 3 недели эксплуатации все прекрасно работает. Только первая загрузка (включение 1С) идёт дольше, а потом работает прекрасно. Трафик падает до нуля, если 1С просто включена на компьютере. В общем как и должно быть.