Комментарии 114
Что ж вы тесты Гилева не до конца проводите для AMD Epyc? Почему нет теста многопоточности, при том что для Intel вы его провели?
Кроме этого, результаты Гилева надо брать средние от 3-5 запусков, так как первый тест ВСЕГДА выдает прирост производительности на 10-15% поскольку сама база пустая и индексы не мешают для операций.
Смотреть надо не только однопоточные операции (они важны, но только для спортивного интереса и для сравнительной оценки), но и многопоточные, так как системы рассчитаны на многопользовательскую работу в первую очередь.
А так что Intel Xeon что AMD Epyc крайне слабы для синтетических однопоточных тестов даже по сравнению с Intel 8400 (48 баллов Гилева) или AMD Ryzen 7700X (77 баллов Гилева). Но это ж не значит что надо брать десктоп камни для 100+ пользователей.
Результаты Гилева брали несколько раз, скрин выложили уже наиболее близкий к среднем результату.
Возвращаюсь с комментариями от непосредственно нашей тех команды, участвовавшей в тестировании )
Что ж вы тесты Гилева не до конца проводите для AMD Epyc? Почему нет теста многопоточности, при том что для Intel вы его провели?
Коллеги делали скрины в таком формате, не всегда дожидались теста многопоточной записи на диск.
Кроме этого, результаты Гилева надо брать средние от 3-5 запусков, так как первый тест ВСЕГДА выдает прирост производительности на 10-15% поскольку сама база пустая и индексы не мешают для операций.
Да, так и делали, брали среднее значение, Артём на вебинаре говорил об этом, что было не менее пяти запусков каждого теста, пример в карусели - https://imgur.com/a/ghWZwjl
Смотреть надо не только однопоточные операции (они важны, но только для спортивного интереса и для сравнительной оценки), но и многопоточные, так как системы рассчитаны на многопользовательскую работу в первую очередь.А так что Intel Xeon что AMD Epyc крайне слабы для синтетических однопоточных тестов даже по сравнению с Intel 8400 (48 баллов Гилева) или AMD Ryzen 7700X (77 баллов Гилева). Но это ж не значит что надо брать десктоп камни для 100+ пользователей.
Верно, в зависимости от системы и её конфигурации можно получить разные результаты, которые могут не коррелироваться с цифрами производительности, грубо - десктопный процессор в тестах может быть лучше, но при работе в продакшене на 70+ пользователей, разница в производительности может быть сильной.
Еще вопрос - вы предварительную оптимизацию делали для СУБД Postgresql? Или взяли стоковую сборку от 1С и на ней запускали тесты? Поскольку по умолчанию postgresql настроен на минимальное потребление ресурсов, в отличие от MS SQL, который тюниися под систему прямо при установке.
По моим наблюдениям за последние пару лет, разница может достигать 30% до и после настройки параметров.
Кроме этого важна версия СУБД, 12 от 17 отличаются достаточно сильно, а кроме того крайне важна версия платформы. 8.3.24 и 8.3.25 отличаются между собой по производительности на 10-15% в пользу 8.3.25, при этом очень много пользователей работают под 8.3.24, об этом также важно помнить.
Еще вопрос - вы предварительную оптимизацию делали для СУБД Postgresql? Или взяли стоковую сборку от 1С и на ней запускали тесты? Поскольку по умолчанию postgresql настроен на минимальное потребление ресурсов, в отличие от MS SQL, который тюниися под систему прямо при установке.
В тестировании, помимо самих тестов, проверяли различные конфигурации СУБД, чтобы посмотреть, как влияют на производительность эти изменения. Преимущественно, оптимизация под текущие параметры ВМ - лимит памяти, параллелизм и т.п.
Основные параметры, что затрагивались, мы указывали в блоге на своем сайте.
По моим наблюдениям за последние пару лет, разница может достигать 30% до и после настройки параметров.
Да, иногда обращаются клиенты и тестируют старые версии, как 1С, так и MS SQL - всегда говорим, проверьте перед внедрением на пилотном проекте, как работает система, а затем делайте выводы и используйте лучшее.
Кроме этого важна версия СУБД, 12 от 17 отличаются достаточно сильно, а кроме того крайне важна версия платформы. 8.3.24 и 8.3.25 отличаются между собой по производительности на 10-15% в пользу 8.3.25, при этом очень много пользователей работают под 8.3.24, об этом также важно помнить.
Тестировали на 8.3.25.1394.
Интересно было бы увидеть подобные тесты с зависимостями от количества ядер и от частот ядер. Причём для Postgres и для 1С отдельно.
Как показала практика, частота влияет, но в совокупности с другими параметрами.
Разница в ~250 мгц, а в тесте Гилёва отрыв у AMD сильный, влияет в том числе из-за - частоты памяти, кэш процессора.
Вопрос немного не про это. Интерес связан с необходимостью технического обоснования выбора процессора. Требуется информация, на основании которой можно обосновать выбор, например, 8-ядерного 3,3 GHz процессора 6xxx серии против 20-ядерного 2,3 GHz процессора 4xxx серии. Причем для сервера приложениеи и для субд раздельно.
Xeon Silver достаточно слабые процессоры для требовательных задач, если у вас ожидается и уже нагруженные БД - лучше выбрать 62/63 и выше серию с частотами хотя-бы от 2,6 в базе. Например процессоры с низкой частотой имеют и более низкие показатели производительности дисковой подсистемы. Также Silver процессоры не дают высокого буста частоты на все ядра одновременно, что тоже сказывается на общем перфомансе. Самое простое - протестировать ваши конфигурации на разном типе, и увидите разницу или не увидите относительно своих задач.
Ох уж этот тест Гилева.
Там у сервера 1С есть встроенный счетчик производительности (Кластер / Рабочие процессы / Доступ. производительность), вы на него то хоть разок посмотрели? можно увидеть его детализацию? Там прям во время любого теста можно из ТЖ собрать детальный отчет о производительности каждого компонента системы CPU, начиная с 8.3.25 даже сразу в JSON можно.
Вот пример:
{"ts":"2025-01-23T14:24:22.024004","duration":"0","name":"CLSTR","depth":"2","level":"INFO","process":"rmngr","OSThread":"5432","t:clientID":"477762","t:applicationName":"Notification","t:computerName":"server-name-here","Event":"Performance update","Data":"process=tcp://server-name-here:1568,pid=3644,sql=0,cpu=1,queue_length=0,queue_length/cpu_num=0,memory_performance=19,disk_performance=7,response_time=27,average_response_time=27.41"}
По каждому процессу можно понять, какой компонент в системе тормозил в тот или иной момент времени. Вы можете накидать любой крутой проц/памяти/nvme и глядя на цифры в тесте Гилева выписывать себе премию за то что вы такие молодцы, а потом выяснится что сервер лицензирования с клиентскими лицензиями на двух ядрах и двух гигах ставит на колени стоящие вокруг мегасервера потому что к нему очередь на обновление валидности клиентской лицензии работающего пользователя.
За статью спасибо, но жаль что сделано много бесполезной работы.
Тут все-таки, у нас не было задачи оценивать вообще продуктив по 1С целостно и искать в нем баги и что тормозит, а провести анализ синтетики и подсветить разность результатов на них на как разных платформах, так и разных ОС. Мы получили по ним результаты и решили поделиться ими на Хабре, статья не претендует на решение вопросов комплексных, абсолютно все охватывающих. Мы понимаем что по 1С практики очень много не только с точки зрения подбора аппаратных платформ, но и программных.
Сергей, давайте вместе напишем статью и поделимся нужной информацией по оптимизации и метрикам, как 1С, так и СУБД. Узкими специалистами в 1С не являюсь, но было бы круто, совместно с экспертом посмотреть глубже на оптимизацию и мониторинг компонентов/подсистем.
Можете отправить ссылку на тех.журнал, который хорошо описывает данные параметры, с вашей точки зрения? Я гляну и перепроверю результаты и поделюсь.
Я регулярно пишу статьи во внутренней вики, в рамках рабочего процесса конечно же, так что эта потребность у меня закрыта. Я тоже не являюсь узким специалистом 1С, и технологическим экспертом тоже не являюсь. У меня просто много серверов в зоне моей ответственности 1С и очень опытные коллеги 1Сники, что бы им доказать, что 1С тормозит не из-за сервера/ОС/БД недостаточно показать им скриншот из таскменеджера, где все в приделах 5-10%.
Что касаемо мониторинга доступной производительности, то я не нашел статей комплексно описывающих именно этот аспект системы, мол сделай конфиг, парси json и будет тебе реалтайм производительность именно сервера 1С, а не железа в котором он крутится.
Самое близкое это описание где этой включить в logcfg.xml события CLSTR: https://its.1c.ru/db/v8325doc#bookmark:adm:TI000000996
блок:
performance update ‑ обновлены показатели производительности процесса. Для события определены следующие свойства:
● Data ‑ значения параметров, характеризующих уровень производительности процесса в виде «параметр=значение», разделенные запятой. Данные параметры могут использоваться администраторами серверов 1С:Предприятие для оценки изменения производительности рабочих процессов, СУБД и нагрузки на оборудование. Доступны следующие параметры производительности:
● average_response_time ‑ усредненное (за 5 минут) время выполнения эталонных операций для вычисления доступной производительности, миллисекунды.
● cpu ‑ процент загруженности процессора.
● disk_performance ‑ время выполнения эталонных операций с файлами, миллисекунды.
● memory_performance ‑ время выполнения эталонных операций с памятью, миллисекунды.
● pid ‑ системный идентификатор процесса.
● process ‑ адрес процесса кластера.
● queue_length ‑ длина очереди запросов к процессору.
● queue_length/cpu_num ‑ соотношение длины очереди запросов к количеству ядер процессора.
● response_time ‑ время выполнения эталонных операций для вычисления доступной производительности, миллисекунды.
● sql ‑ время выполнения эталонных запросов к СУБД, миллисекунды.
Дальше опять кусочки информации:
https://its.1c.ru/db/v8326doc#bookmark:cs:TI000000036
2.2.7.1. Доступная производительность рабочего процесса
Каждый рабочий процесс имеет свойство Доступная производительность. Оно определяет, насколько быстро данный рабочий процесс способен выполнить эталонные операции по сравнению с другими рабочими процессами. Эталонные операции состоят из:
● Операции с памятью: выделение массива, заполнение массива, освобождение массива.
● Операции с файлами: создание, запись, удаление.
● Определение степени загрузки процессоров компьютера, на котором работает рабочий процесс и количество потоков, ожидающих исполнения. Это значение корректирует время выполнения эталонного вызова в сторону увеличения.
При работе под управлением ОС Windows пользователь, от имени которого работает сервер, должен входить в группу Пользователи журналов производительности (Performance Log Users). В противном случае определение степени загрузки процессора не выполняется.
Значение свойства Доступная производительность вычисляется делением числа 10 000 на среднее (за 5 минут) время выполнения эталонных операций текущим рабочим процессом. Измерение скорости выполнения эталонных операций выполняется каждые 5 секунд.
Клиенты распределяются между рабочими процессами так, чтобы сделать доступную производительность всех рабочих процессов примерно одинаковой. Существенным считается отличие доступной производительности более чем на 25%.
При изменении соотношения между доступной производительностью рабочих процессов клиенты динамически в течение не более 10 минут перераспределяются между рабочими процессами.
При выключении рабочего процесса его клиенты динамически перераспределяются между оставшимися включенными рабочими процессами.
Но все выше описанное это грустные игры в парсинг регулярками ТЖ в реалтайме что бы графики в графане рисовали актуальное и красивое.
Однако счастливые обладатели КОРП (а в некоторых случаях, как выяснилось и в ПРОФ, но это отдельная печальная история которую разработчики пофиксят в будущих релизах) могут прямо с RAS в виде метрик для прометея забирать все что надо:
https://its.1c.ru/db/metod8dev/content/6019/hdoc/_top/--monitor-address=any --monitor-port=1555
Я замечу, что не я такой красивый и умный. Меня в это настоящий технологический эксперт 1С направил, ну а дальше уже сам копал и внедрял в компании вместе с коллегами из разработки.
Но да, после того как разобрался с этим аспектом, понял что половина моей админской жизни в части анализа производительности и выбора оборудования решения проблем с производительностью, для 1С была ложью.
Можете кратко описать по оборудованию, в чем заблуждались?
Да не получится коротко.
Возьмем ситуацию по умолчанию, когда у нас выполнены все рекомендации по настройке серверов от уровня железа, гипервизора и вм, самих ОС и их настроек, настройки и планы обслуживания для серверов БД с учетом специфики каждой базы. Актуальная платформа 1С issues которой прочитаны и осознаны. Все это стандартизовано и развертывается автоматикой для воспроизводимости и отсутствия человеческого фактора, настройки контролируются скриптом по отслеживанию дрифта конфигурации. Все это мониторится от железа и до ОС и сервисов 1С и красиво показывается в графану. Но есть 200 активных пользователей и условные базы на 150+ гигов и есть жалобы что оно тормозит. Кто виноват? Смотрим на графики, там ровно, ресурсов с запасом, переподписки на уровне виртуализации нет, скуль быстр и свеж. Года два назад я бы в таком случае тыкнул в отдел разработки 1С и распечатку бы из графаны показал.
Но есть нюансы, ибо админ проверил не все.
Например жалобы на тормоза сервера могут быть потому что пользователи сидят на древних компах в толстых клиентах, контекст сеанса все время гоняется по сети между клиентом и сервером (проблема справедлива и для терминального сервера), а передача контекста очень ресурсоемкая операция - и в этом случае фактически тормозит то не сервер 1С. Или указанные мною выше проблемы с ресурсами для сервера лицензий, который по всем мониторингам не нагружен, но сервер стопает операцию клиента пока не обновит актуальность лицензии с сервера лицензий, и на одного клиента это может доходить до секунды с небольшим, прежде чем начинаются явные проблемы в работе с указанием ошибок в интерфейсе пользователей. Т.е. сервер 1С может быть занят ожиданием ответа от сервера лицензий вместо того что бы работу работать. Веб слой тоже вносит свою лепту, но без него сейчас вообще никак, быстрее чем тонкий клиент через веб подключение сейчас трудно сделать. Или у вас сервер клиентских лицензий на 10тыщ клиентских подключений, и к нему цепляется 20 серверов 1С. Вроде все должно быть норм, но 1С у пользователей периодически тормозит без видимой причины, а в графане зелено - начинаешь копаться, а у сервера 1С лицензий порты кончились на которых он подключения принимает. И рабочие процессы с серверов 1С бьются в поисках свободных портов для подключения.
-
И нюансы в таком стиле все время обнаруживаются. Правильные настройки logcfg.xml буквально решают ситуацию, просто их нужно читать и анализировать.
Но тем кто умеет читать официальную документацию и понимать её хотя бы с второго раза можно техэксперта сразу давать без экзаменов :)
Поддерживаю вопрос. Также стоит выполнять тесты не на хранилках, а на дисках подключенных к процу, минуя контроллеры и тем более сеть
M2, u2....
Мы брали серверы в инфраструктуре облака, а облако живет на отказоустойчивых массивах, поэтому на локальных дисках тесты не проводили. Таким образом получаем результаты, которые и другие получат, если даже используют он-прем, но хотя-бы пару хостов и схд в виртуализованном кластере. Возможно проведем и на локальных nvme дисках, которые у нас используются в некоторых хостах при работе с GPU, но в рамках текущих тестов такую задачу не ставили для себя )
Вы там, когда наиграетесь, выгрузите табличку всех тестов Гилева в Excel других пользоватей и посмотрите на каком месте ваши мощные сервера.

нельзя тестировать используя виртуализацию, она искажает результаты (если вы сравниваете процессоры или ОС)
Запретов не видел каких либо на эту тему, атавизм живёт до сих пор, например, когда рекомендуют использовать E1000 сетевой адаптер, вместо корректной настройки VMXNET3 и никакие физические адаптеры 1/10 Гбит/с здесь не играют роли.
Можно забыть про гибкость и возможности виртуализации в пользу bare metal, ради 10% производительности в синтетическом тестировании, про бюджет на всё это, можно умолчать.
вы утверждаете что оптимально 8 ядер на сокет, а тестируете 20 и 32 ядерные процессоры, сами себе противоречите
Уточните по противоречию, оно в чём?
Когда компании обращаются за ресурсами для 1С, рекомендуем воспользоваться тестированием и проверить конфигурации и найти оптимальную.
Цитата из статьи:
Каждая компания уникальна, поэтому универсального ответа на вопрос «что лучше?» не существует.
вместо Xeon® Gold 6242R у вас должен быть Intel Xeon Gold 6558Q (и 32 ядра, и на 3 поколения более новый) , а не вот это ваше в новом поколении Xeon пока нет процессоров с аналогичным показателем , а то люди и в самом деле могут поверить что амд быстрее
Мы сравнивали именно те конфигурации, которые доступны для аренды.
Противоречие в том что вы говорите про 8 ядер и сами отклоняетесь от своей рекомендации. Слова расходятся с делом. "про уникальность компаний это словоблудие, вы же сами заявили в заголовке amd vs intel, где тут уникальность компаний...."
Тестировали конфигурацию на 8 ядрах, как самая оптимальная, почему оптимальная? Наши партнеры, кто занимается сопровождением и администрированием, использует в большинстве случаев 8 ядер, как cost efficiency, получая нужную производительность и стоимость ресурсов.
Если вы выбрали две первые попавшие доступные железки, то так и пишите - сравнение двух взятых от балды железок.
Не от балды - изначально, планировали и внедряли оборудование, для размещения ресурсопотребляемых приложений. Не забывали тот фактор, что большая часть пользователей рассматривает ресурсы под 1С с частотой от 3 ГГц, поэтому первая партия серверов у нас была с Intel Xeon Gold 6254 - это 18 ядер, 3.1 ГГц базовая частота и 3.9 ГГц в перманентном турбо бусте. Затем подключили Intel Xeon Gold 6242R - уже 20 ядер при бустовой частоте ~3.9 ГГц. Эти процессоры удовлетворяют - по частоте, это 3+ ГГц, на момент приобретения серверов, это одни из самих производительных процессоров и платформ, доступных к приобретению.
Повторюсь, мы сравнивали именно те конфигурации, которые доступны для аренды 1С в облаке mClouds.
Какие запреты, вы о чем? Виртуализированное железо - это софт. Вы по факту тестируете имитацию железа. При чем виртуализация от разных вендоров может давать разные результаты.
Да, но раз мы работаем с VMware, как-то странно было бы нам отходить и проверять только bare metal. Тестировали то, где сами работаем и где есть экспертиза.
Для наглядности, сравнили Windows и Linux платформу, результаты выше)
Вячеслав, уточните пожалуйста, какое "адекватное интеловое железо" должно быть?
Какое "адекватное интеловое железо" есть в селектел?
Я это вижу, как разницу для вас в том, что в селектел можно взять bare metal и накатить ОС без гипервизора..
Вы правда считаете что 6526Y с базовой частотой 2,6 ГГЦ это то что нужно для 1С? и это "правильное железо" в вашем понимании?
Память там при этом 4800, а не 5200-5600
Коллеги из Селектела, перелогиньтесь ) В статье есть и тесты EPYC на 3,85 ГГЦ и он точно быстрее чем 6526Y , но это другое или вы осознанно это не читаете и игнорируете? Зачем нам смотреть все модельные ряды процессоров, чтобы доказать что? Если у вас какое-то неверие в процессоры EPYC, что они там чем-то сильно хуже, вам стоит изучить изменения в индустрии за последние лет 5 , для большей адекватности. Мы за что, чтоб не разводить холивар между апологетами Интел или AMD, а чтоб адекватно смотреть перфоманс на обоих платформах в условиях 25-го года.
Смотрите, мы сравниваем те процессоры, на базе которых работает наша облачная платформа, у нас есть несколько типов CPU, как и любого другого провайдера. Мы не склад процессоров и не ставим их для тестов, а показываем результаты продуктивного облака, это не лаба чтоб показать высокие результаты в тесте, и потом не увидеть их в продуктиве, мы просто взяли новую платформу в облаке и сравнили результаты с процессорами Xeon Slalable gen 2, которых еще много и используется и продается, например в рамках серверов импортозамещения, еще продаются и Gen2 и Gen3. Это не что-то там под заказ через полгода, это то, что доступно и работает сейчас. Второе - у нас есть и процессоры gen3 , например 6354 - в статье это упоминается. Есть и процессоры с DDR5 памятью - это EPYC 9374F высокочастотные. Мы показали результаты на облачной платформе продуктивной, подобные результаты получат и многие администраторы и не в облаке, но на виртуализованных платформах и они будут релевантны. Мы не можем тестировать все процессоры интела, у нас нет и не было такой задачи, в статье это указано. Если у вас есть процессор Intel Xeon Gold 6558Q или есть в Селектеле - ну отлично, сравните и мы с радостью посмотрим ваши результаты, а также посмотрим на 6526Y как он покажет себя. Также я думаю и аудитории будет интересно, добавите еще одну статью в копилку результатов в 1С.
Это есть в первых абзацах нашей статьи. Но в целом поняли, что есть ваше мнение и неправильное. )
Для тестов использовалась виртуальная машина с 8-ю ядрами, как раз чтоб отсечь влияние количества ядер на показатели, также мы это указали в параметрах, с которыми запускали.
Память работает на базовых для каждой платформы частотах, вмешиваться в ее работу возможности нет, да и цели такой не преследовалось.
Вы не совсем верно понимаете задачу тестов и статьи, у нас не цель сравнить свежий epyc и менее свежий xeon, и потом показать бинго - новый лучше. А показать разницу и динамику более новой архитектуры , так как разность в частоте между ними небольшая, а также показатели на разных ОС и разных БД, мы это и в статье отразили и уже в комментариях упоминали. Как оптимизированы БД или ОС можно не вдаваться, так как на обоих платформах это сделано одинаково. Можно ли получить результат теста выше с помощью оптимизаций и прочих трюков - да можно, но цели такой не было, мы показали разницу на одних и тех же настройках, одинаковых для обоих платформ. Возможно в будущих статьях мы уже сравним epyc с новыми xeon 6900, если мы их будем добавлять в сегменты облака.
А вы не расскажите какой там софт при виртуализации CPU/RAM с момента появления VT-D/AMD-V? А особенно интересно узнать за счет чего виртуализация искажает результаты вычислительных ресурсов, особенно если отсутствует переподписка по ядрам и/или физические ядра отданы в монопольное пользование ВМ?
На самом деле там есть вопросы с распределениям ядер/памяти по машинам и NUMA нодам, патчами для всяких спектров-мелтдаунов, поддержкой турбобуста и т.п. То есть если делаешь первый раз (или не первый, но учишься плохо, или если это публичное облако и режущие производительность патчи/настройки обязательно применять по соображениями безопасности), неслабо потерять в производительности можно совершенно запросто. Но можно и не терять. :)
1.) Ну а какие там вопросы с распределением по NUMA? Если вы ВМ делаете меньше 1 узла, то все влезает в одну NUMA автоматом. Если больше, то ССЗБ, но и на bare-metal ситуация будет аналогичной. Понятно, что ВМ можно криво настроить и тогда все будет плохо, но как смысл рассматривать такой вариант? Давайте рассматривать сценарий, что мы в курсе что делаем и умеем читать документацию. https://frankdenneman.nl/2022/11/03/vsphere-8-cpu-topology-for-large-memory-footprint-vms-exceeding-numa-boundaries/
2.) C Turboboost там тоже все просто. В основном все определяется настройками BIOS/UEFI и PowerProfiles. https://knowledge.broadcom.com/external/article/326182/testing-cpu-max-turbo-boost-frequency-in.html
3.) Сам Spectre/Meltdown слабо влияет на саму виртуализацию. https://knowledge.broadcom.com/external/article?legacyId=52337 Но может повлиять на приложения/гостевую ОС. Но опять-таки на bare-metal поведение будет такое же + некоторые из них (хотя и не все) можно отключить на уровне ОС https://support.microsoft.com/en-us/topic/kb4072698-windows-server-and-azure-stack-hci-guidance-to-protect-against-silicon-based-microarchitectural-and-speculative-execution-side-channel-vulnerabilities-2f965763-00e2-8f98-b632-0d96f30c8c8e
В общем, я согласен, что если руки из одного места, то можно сделать плохо. Но если ничего не трогать, то будет нормально. А если есть хотя бы минимальная квалификация, то разницы с bare-metal с точки зрения Compute не будет никакой (+- пара процентов).
В целом я совершенно согласен с вашим последним предложением, но, на мой взгляд, вы немного недооцениваете наполнение слова "минимальный" там, ну или переоцениваете квалификацию сисадминов на рынке. Средний корпоративный админ - это не грамотный инфраструктурщик, а нахватавшийся по верхам многостаночник.
Про контейнеры это вы Kata Containers расскажите. Те, внезапно, запускают каждый контейнер с как отдельную ВМ. А на самом деле, если вы хотя бы посмотрели следующий абзац за этой фразой, то увидели бы, что там пишут, что разница в потреблении ресурсов связана не с тем, что "виртуализация что-то тормозит", а с тем, что вам не надо тащить и запускать много копий ядра ОС (что само по себе спорно, если сравнить размеры container-optimized OS и приложений, ну да ладно). Ну и вообще, а причем тут контейнеры? 1С сейчас уже обычно в контейнерах запускают?
Не надо вообще никого слушать просто так. Вас, кстати, это тоже касается - почему я должен просто так поверить вашим заявлениям, что виртуализация тормозит и не совместима с высокой нагрузкой? Достаточно почитать, разобраться, а потом еще проверить/протестировать. Вот, например, мнение Intel "VMMs no longer need to use para-virtualization or binary translation." https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/12th-generation-intel-core-processors-datasheet-volume-1-of-2/004/intel-vt-for-intel-64-and-intel-architecture/ Ну или вот вам статьи еще https://web.archive.org/web/20120925205120/http://download.intel.com/technology/itj/2006/v10i3/v10-i3-art01.pdf https://web.archive.org/web/20100820201944/http://www.vmware.com/pdf/asplos235_adams.pdf Не сложно такие же нагуглить и по AMD.
Но я вот так и не услышал от вас, где там софт при работает ВМ на процессорах с VT-D/AMD-V. К сожалению, только "ОНО ТОРМОЗИТ!!! ОНИ ВСЕ ВРУТ!!! ЭТО МАРКЕТИНГ!!!" без какой-либо конкретики. У меня такое чувство, будто я вернулся в начало нулевых, когда такие холивары еще можно было встретить...
P.S. Я даже посмотрел. Но так и не понял, что вы хотели мне этим сказать? Теперь мое алаверды. Если вы хотите действительно понять и разобраться (но в этом я, честно говоря, сомневаюсь), как работает виртуализация с ресурсами, шедулер и т.д., то просто скачайте (БЕСПЛАТНО!) и почитайте вот эту книжку https://www.rubrik.com/lp/white-papers/host-resources-deep-dive-ebook?Rubrik-Blog
лучший критерий истины - практика
Только если понимаете, как работает система, которую вы тестируете и имеете навыки работы с ней. В противном случае получится заведомо фигня, потому что вы не будете в состоянии сконфигурировать ее необходимым для решения задачи образом. И результаты таких тестов можно сразу выкидывать на помойку, ибо они не несут никакого смысла и практической пользы.
А с чего вы взяли, что я не тестировал? Тестировал. И не только 1С (хотя и его тоже), который судя по вашим комментариям какой-то чуть ли не "магический" и отличается от всего остальных приложений по неведомой мне причине, но и другие приложения от больших СУБД, самописного промышленного ПО, которое не умеет больше чем в 1 потом, до soft real-time систем. При этом тот же 1С был в том числе и под настоящей и очень большой нагрузкой, а не только под "вашими тестами". Так вот там, внезапно, все хорошо с точки зрения compute, если не стрелять себе по ногам. И, справедливости ради, основные сложности вызывает ввод-вывод (и по стораджу, и по сети), а не CPU/RAM (потому что, как написано выше, оно уже давно работает аппаратно на CPU). И вот там иногда действительно бывает требуется предварительно отдельно настраивать/конфигурировать, чтобы получить bare-metal like производительность.
При этом очень показательно, как вы сначала набрасываете про "тест софта имитирующего работу процессоров (прослойки)" и "нельзя тестировать используя виртуализацию, она искажает результаты (если вы сравниваете процессоры или ОС)", но на прямой вопрос "а с чего вы это взяли" и подкрепляющие, с моей стороны, аргументы, ссылки и материалы, так и не можете дать никакого ответа вместо это пишите общие фразы про "маркетинг" и "сам попробуй". Ну как после этого можно серьезно относиться к вашим, и так странным для 2025 года, утверждениям?
1.) Чайник Рассела. Если вы случайно не в курсе, то я напомню, что это научный принцип, согласно которому бремя доказательства лежит на утверждающем, т.е. вас.
2.) Дополню, что согласно научному методу, "Экстраординарные утверждения (например те, которые противоречат существующей теории, которую я привел выше) требуют экстраординарных доказательств". Ну и конечно же принципы верификации и фальсифицируемости.
3.) А вы не могли бы ответить хоть на один аргумент, который я привел выше или все-таки внятно ответить на исходный вопрос? А то мне становится скучно и не интересно.
P.S. Мне любопытно, вы со всеми общаетесь с этим легким привкусом "Телефон есть? А ну покажи!" или это только на меня у вас такая реакция?
"Если я что-то утверждаю, я не обязан предоставлять доказательства... Если вы утверждаете обратное, опровергая меня, это вы должны доказательства представлять... Разве это не так?" 😉
Я удивлён, что вы так быстро переходите на личности и оскорбления, когда у вас нет аргументов. Могли бы хотя бы просто про игнорировать и промолчать... :)
"честному человеку скрыват нечего..."
Так я ничего и не скрываю.
"на словах ты можешь рассказывать что угодно, а как доходит до дела так сразу в кусты"
Я вам могу еще раз процитировать Михалкова. Это как раз тот самый случай.
"презентации можно посмотреть замеры теста для сравнения скорости разных виртуалок"
К сожалению, то, что там нарисовано, никак нельзя считать хоть какими-либо результатами тестирования хотя бы потому, что там нет хоть минимального описания тестовых стендов... Что-то где-то как-то было запущено и что-то получили. Ну ок. Там хотя бы под VMware, что подразумевается? Workstation/Fusion? ESX? ESXi? Virtual Center? Все должны как-то до этого догадываться? Я уж молчу про конфигурацию хостов, ВМ, настройки платформы и т.д. Поэтому это абсолютно ничего не значащие попугаи, которые можно смело выкидывать на помойку за отсутствием какой-либо применимости, а обсуждать там просто нечего. Рекомендую вам почитать правила оформления результатов тестов - они описаны, в том числе, в научной литературе.
"твои оперирования к полумаркетинговым материалам вендров"
Ну хоть уже "полумаркетинговые" материалы - уже прогресс. Но вот вопрос - а вы их прочитали хотя бы (и какие)? И можете сказать, по существу, где там написано что-то не то?
"tpc1cgilv/ "
А уж раз пошла такая история, а вы не скажите, какое вы имеете отношение к крайне уважаемому Transaction Processing Performance Council, которым принадлежит торговая марка TPC, которую вы эксплуатируете при создании своего "теста"? Я чего-то на их сайте такого не нашел.
Я с вами полностью согласен - как по мне, это достаточно простая задача. Достаточно прочитать документацию на ту платформу, на которой вы запускаете + правила её настройки для обеспечения высокой производительности (типа такого документа). После чего делаете то, что там написано и получаете профит. В общем-то, достаточно минимального английского и минимального интеллекта, хотя вы смогли как-то не справиться с этим. Но я уже понял, что вы не особо читатель (т. к. судя по всему, даже не открыли ни один из материалов, который я отправлял вам выше + вообще, не ответили ни на один из написанных вам вопросов), да и в целом мало понимаете, о чем говорите, путая эмуляцию, программную и аппаратную виртуализацию, но это ладно. Может быть не барская эта работа. Но вот скажите мне, почему за все эти года, вы не взяли для консультации хоть одного нормального специалиста по тестируемой платформе, который нажал бы за вас эту одну кнопку как надо?
Да и все же, мне правда любопытно, а что там с TPC и вашими отношениями с ними?
"Маркетинговые материалы с сайта" — это замечательно. Я вам могу восторженные отзывы и на про оциллококцинум найти (прям открываешь Озон и они там почти все сплошь восторженные).
Но давайте я последний раз попробую вернуть разговор в конструктивное русло. Вы не могли быть столь любезны и ответить на вопросы, который действительно интересуют и волнуют многих людей из индустрии (буду крайне рад ответом по пунктам):
1.) Есть ли в вашей команде сейчас и/или привлекались ли в прошлом специалисты по платформам виртуализации?
а.) Если да, то по каким конкретно платформам и вы не могли бы указать имена этих специалистов?
б.) Если нет, то почему?
2.) Работаете ли вы сейчас с производителями российских платформ виртуализации и/или обращались ли вы в прошлом в локальные представительства основных зарубежных платформ виртуализации с просьбой прокомментировать ваши результаты и помочь настроить их продукт оптимальным, с точки зрения производительности, образом?
a.) Если да, то к каким и каков был результат?
б.) Если нет, то почему?
3.) Существуют ли у вас документы с Best Practices по настройкам специфичными (не общие рекомендации, справедливые для всего, а конкретные из серии - используйте такой тип виртуальных адаптеров, вот здесь включите/отключите галочку, etc) для каждой/конкретной платформы виртуализации для запуска 1C? Разумеется, по мимо вот этих и вот этих
а.) Если да, то они публичны? Выдаются под NDA? Только для внутреннего использования?
б.) Если нет, то почему?
4.) Какую "деградацию от производительности виртуализации" вы считаете приемлемой для того, чтобы рекомендовать её использование вашим заказчикам?
нельзя тестировать используя виртуализацию
Тестировать, очевидно, нужно в той среде в которой вы планируете держать свою продуктовую систему.
Не использовать виртуализацию сейчас это нонсенс.
Деградация показателей вашего теста в среде виртуализации, это проблемы теста, а не виртуализации.
Именно это мы и пытаемся донести, что наша задача не показать попугаи абстрактного коня в вакууме, а показать то, что большинство получат при использовании подобной среды, в которых размещаются продуктивные системы.
Вячеслав, если рассмотреть ваш тест, на основании каких параметров получаются результаты тестов?
Интересно узнать, какие коэффициенты есть и как они влияют.
Эм.. Причём здесь Селектел?
Вы приводите в пример процессор Intel Xeon Gold 6558Q с базовой частотой 3,2 ГГЦ , на счет нового поколения процессоров имелась ввиду базовая частота, на текущий момент у Intel нет процессоров с базовой частотой 3,85 ГГЦ от 32 и выше ядер, поэтому облачные провайдеры, и мы в том числе, добавляют в свои кластера процессоры EPYC , как например 9374F процессор. Мы все-таки живем уже в 25-м году, где облако является базой для многих при выборе где распложить свои сервисы. Поэтому тестировать на витуализации можно и нужно, то что это дает отличные показатели от bare metal это нормально.
Любопытно, а вы в курсе, что включение максимальной схемы электропитания только ОГРАНИЧИВАЕТ турбобуст, а не помогает ему? Просто посмотрите, например, на табличку на странице 47 вот тут https://dl.dell.com/content/manual9251811-setting-up-bios-on-16th-generation-16g-dell-poweredge-servers.pdf, где отключаются С-states в performance profile + описание современного TB от Intel, который устанавливает частоту каждого отдельно ядра на основании "power, current, and temperature limits", а отключение C-states приводит к тому, что этот самый power бюджет становится меньше (потому что мы не можем перевести ядра в состояние низкого потребления даже при отсутствии нагрузки на них). Ну и еще ссылок для пруфов "The PCU algorithmically governs the P-state of the processor, C-state of the core and the package C-state of the socket. It also enables the core to go to a higher performance state ("turbo mode") when the proper set of conditions are met.", "When “Turbo Boost” or “Turbo Core” is activated, C1E and deep halt states (for example, C3 and C6) can sometimes even increase the performance of certain lightly-threaded workloads", ну и наконец разделы 3.3.2.1 и 4.2.4 документа от Intel и https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/12th-generation-intel-core-processors-datasheet-volume-1-of-2/004/processor-ia-core-power-management/.
Ну куда уж Intel знать, как работает его Turboboost. И Dell'y что делает его Power Profiles. Вам, очевидно, виднее. 😂
P.S. Самое забавное, что я совершенно не спорю с тем, что Performance Profiles может увеличить производительность. Но только вот это происходит совершенно не из-за Turboboost, а из-за того, что возникает задержка при выходе ядра из режимов глубоко энергосбережения, о чем вы могли бы узнать, если бы удосужились прочитать документы по ссылкам.
факторов влияющих на частоты там гораздо больше, в том числе банально можно не взять по канальности
Я, честно говоря, не уловил связи между частотой работы процессора в TB, которая определяется через power limits (PL1, PL2, Tau), тепловые лимиты DTS<0) и ограничения по току (ICC_Max) c числом каналов памяти, ну да ладно. Вероятно, вы просто решили сообщить, что вам известно про каналы памяти. Что не может не радовать.
увеличивается производительность из-за повышения частоты процессора и иногда частоты памяти
Что-то я не припомню серверных платформ, которые снижают частоту памяти в разных Power Profiles (ну может за исключением Max Power Savings. Я думаю, что стоит обсуждать Max Performance и Balanced/default). Вон Dell пишет выше, что у него всегда память в Max Performance. Не подскажите, на какой платформе вы с таким сталкивались?
И все это рассматривается на наших курсах http://www.gilev.ru/training/Другое дело, что вы читать и цитировать научились
//offtop on.
Вот, честно говоря, меня эта тенденция, которая приходит уже даже казалось бы в ИТ, когда нормальный инженерный и научно-технический подход (который начинается с изучения теории, а потом вдумчивого чтения документации по решению, затем формулировки и создания программы эксперимента для подтверждения теории), заменяется на "курсы экспертов" (как в инстаграме, где вас научат <подставьте что угодно> всего за 99999.99 рублей), какой-то tribal knowledge ("пруфов и ссылок не будет, но я-то специалист и знаю"), магическое мышление ("понять как работает эта коробочка мы не в состоянии в принципе, а значит там происходит необъяснимая магия. Не пытайтесь даже погрузиться и разбираться, а просто мне верьте"), да и еще и апеллированию к авторитету ("ну раз сам X сказал, значит точно так") с его индивидуальным опытом ("я гомеопатию попил и мне помогло. Значит гомеопатия работает") и наводит на меня грусть.
/offtop off.
Можете пояснить, вы тестировали сценарий, когда БД и сервер приложений на одном сервере? Не хотели бы провести тесты с разрешением на разные серверы и сравнить результаты?
Тестировали на двух ВМ, СУБД была на одной ВМ и сервер приложений на другой, не проверяли результаты с одной ВМ.
Я, обращу внимание на то что в платформе ПРОФ нельзя управлять размером выделяемой памяти на процессы 1С, да и в принципе управлять лимитами по памяти, и сервер 1С не обращая никакого внимания может кушать до 95% оперативной памяти ОС, и только по достижению этого показателя дропает самый толстый процесс. И тут у вас на этом же сервере MSSQL, который тоже плотно кушает. А если отключить перезапуск проблемных процессов, или выставить излишне большой таймаут (а именно это и делают при больших обновлениях конфигурации или перепроведениях), то количество коровьих лепёшек в которые можно наступить с производительностью резко возрастает. Вы вот тут готовы об столб биться за 1-3% повышения производительности от неиспользования виртуализации, но упорно игнорируете факт что можно потерять втрое больше производительности как только система начнет сваповаться.
Это уже не говоря про то, что сервер 1С любит 1 сокет и много ядер с высокой частотой, а MSSQL любит 2 сокета и много ядер потому что прекрасно параллелит нагрузку.
Вы не понимаете как работает современная виртуализация и поэтому несете отборный бред. Времена VirtualPC давно прошли.
ну так сделай замеры сам и сравни, всё больше пользы нежели голословно трындеть
Ну так я сделал. Когда на одном хосте виртуализации располагаются север 1С и сервер БД все прекрасно работает (да и на разных серверах в рамках одной локации тоже), метрики average_response_time улучшились, поскольку на первые 12 ядер сокета теперь нет борьбы между процессами 1С и MSSQL сервером. Теперь нет мегабольшой (больше половины хоста для двухсокетных или более систем) ВМки относительно размера хоста виртуализации, которая была что бы не ловить проблемы с недостатком памяти, когда в 1С что то идет не так. Тобишь у меня сервер 1С спокойно влез в одну numa-ноду. MSSQL начал работать быстрее из-за двух сокетов, а не одного. Все стало сильно комфортнее обслуживать и обновлять. Теперь я могу обновлять платформу и откатывать её одним кликом, не беспокоясь чего там в базу нападало нового. Я могу сайзить ВМки оптимально потребляя ресурсы физического сервера, соблюдая баланс между производительностью и уровнем утилизации физических ресурсов.
Я не запускал тест Гилева, ни до, ни после пересборки архитектуры поэтому не вкурсе насколько все стало хуже без shared memory. По замерам доступной производительности самого сервера 1С все стало лучше, а именно на них я и ориентируюсь, поскольку ниразу не видел что бы пользователи жаловались на сервера с доступной производительностью в 300+. Обычно самые привередливые начинают намекать где то на уровне 80-100, а при 40 и ниже в сервисдеск начинают писать и самые стойкие.
Почти наверняка я потерял в скорости доступа от 1С к MSSQL убрав shared memory, но суммарный прирост за счет устранения архитектурных проблем системы имеющихся при использовании shared memory выигрыш получается не только в производительности, но в и сопровождении всей это инфры.
То есть вы проверяли процессоры и ОС только для сервера БД? Сервер приложений в какой конфигурации и на какой ОС?
Рекомендация на будущее - чтобы избежать неизбежных и бесполезных срачей с Гилевым, используйте для 1С другие нагрузочные тесты. Например, тест Fragster или хотя бы "стандартный нагрузочный тест" от 1С.
"Тестирование проводилось в нашей облачной платформе на базе VMware" - в последнее время удивляюсь. когда вижу такое. VMware давно с рынка ушел, поддержки нет, есть куча наших решений аналоговых хороших (spacevm, vmmanager, zvirt и тд), но некоторые упорно их не замечают.
Решения есть, но есть и вопросы к их функционалу, родмапу и постоянно растущим ценам на 20-30% в год по РФ решениям, при том, что есть и вопросы в принципе к ценам, они иногда очень вызывающие удивление. Не на всех из них можно делать паблик клауд на сотни хостов, большинство еще сырые. Переход на них может дать сильный оверпрайс облачных ресурсов. Поэтому мы пока их не используем в своей инфраструктуре.
А обновляете вмварю исошками с торрентов? Или не обновляете (ой) вообще?
Зачем ) все необходимое есть у бродкома, там и берем ) наверное как и все )
Как и все - это кто? У них на данный момент только по подписке можно получать обновления и компаниям из РФ они 100% подписку не продадут (
У них на данный момент только по подписке можно получать обновления
Это не так. По крайне мере, если говорить про глобальный рынок. Обновления, как и всегда, де-юре доступны всем, у кого есть поддержка. Включая пользователей перпет лицензий с еще активной поддержкой. Де-факто, легко качается с портала https://williamlam.com/2024/05/no-entitlements-needed-for-these-popular-vmware-downloads-on-broadcom-support-portal-bsp.html + https://knowledge.broadcom.com/external/article/372545/download-esxi-patch-and-the-isos-for-lat.html
Более того, теперь обновления с критичными security fix доступны всем даже у кого нет активной поддержки. https://knowledge.broadcom.com/external/article?articleNumber=314603
Ерунда какая-то )
AMD Ryzen 9 79XX рвет эти зеоны как тузик грелку. И стоит на порядок (!) дешевле.
У него частота под 6Ггц - никакому зеону не угнаться.
Тем более, что сейчас есть матплата от супермикро под сокет AM5.
https://www.cpubenchmark.net/compare/3861vs5031vs5219/Intel-Xeon-Gold-6242R-vs-AMD-Ryzen-9-7950X-vs-AMD-EPYC-9374F
Вы уже не первый с тузиком и грелкой ) Десктопные процессоры скорее показывать высокую производительность в играх. Как, правило там мало ядер, мало памяти, да она еще и udimm, не rdimm. Корпоративые инсталляции 1С часто поедают от 256 и выше памяти, а кластер серверов 1С вместе с субд уходит за 512. То есть десктопные процессоры они не про надежность и маштабируемость системы в целом. Но кому-то, кто с этим не сталкивается, с такими задачами, скорее всего да, будет ерунда )
Вы уже не первый, кто впаривает своим клиентам цпу по цене крыла Боинга с итоговым выхлопом в пару процентов произ-ти.
Современные десктопные матплаты поддерживают 256Гб ОЗУ и память с ЕСС.
С надежностью десктопных цпу проблем тоже нет - проблема тут только в развод.. "маркетинге" со стороны продающего.
Современные десктопные матплаты поддерживают 256Гб ОЗУ и память с ЕСС.
Планки на 64 ГБ без ECC вышли неделю назад, а с ECC пока нет даже анонсов.
Плюс скорость памяти режется почти в два раза (3600 MT/s на 2DPC против 5600 на 1DPC) при заполнении 4-х слотов DDR5 и как это повлияет на 1С - большой вопрос.
Я не настаиваю на покупке модулей по 64 ГБ.
Я о том, что даже ОБЫЧНЫЕ матплаты поддерживают до 256ГБ ОЗУ.
Эту мысль пытаюсь донести.
P.s. Модулей ДДР5 48 ГБ предостаточно в продаже.
ECC UDIMM всего пара моделей и даже в первом мире купить их непросто.
Вам ЕСС хоть раз пригодилось? Только честно.
И какая вероятность того, что ЕСС вам ТОЧНО пригодится?
Предположу, что менее 1%
Судя по логу RAS - пригождается где-то раз в месяц уже на паре десятков серверов с DDR4. Кажется у Cisco было исследование частоты возникновения ошибок, когда память переписали менять по гарантии при корректируемых ошибках.
С DDR5 будет хуже из-за возросших частот и уменьшения техпроцесса, что пришлось делать on-die ECC для компенсации ошибок внутри чипов.
Кстати любопытно. А вы AMD EPYC 3D V-Cache не смотрели/тестировали? Типа 9184X/9384X/9684X?
В синтетике так
https://www.cpubenchmark.net/compare/3861vs5031vs5219vs5898/Intel-Xeon-Gold-6242R-vs-AMD-Ryzen-9-7950X-vs-AMD-EPYC-9374F-vs-AMD-EPYC-9184X
Нет, такие не тестировали, из эпиков у нас в распоряжении только 9374F, выбрали его расчета высокой частоты на 32 ядра одновременно , 64 на хост, и работе с видеокартами NVIDIA L40S, нужны много производительных ядер чтоб адекватно их нагружать, ну и 1С конечно )
Минусовать втихаря - отличный ход.
AMD или Intel, Windows или Ubuntu: что выбрать для работы с 1С