1C MSSQL против Матрицы виртуализации – перезагрузка

Публикация № 1695286 17.07.22

Интеграция - Облачные сервисы, хостинг

Виртуализация Производительность

Продолжение статьи https://infostart.ru/1c/articles/1686720/ о методах анализа производительности 1С + MS SQL в виртуальной среде. Заключительная развязка оказалась одновременно неожиданной и банальной в духе современной эпохи.

The matrix has you

Краткое содержание предыдущей серии //infostart.ru/1c/articles/1686720/ 

Тестирование виртуального кластера на VMWare схожей конфигурации с рабочим кластером - показало более низкую производительность с 1493 минут против 937 минут на «железном» рабочем кластере. Анализ показал высокие задержки на уровне Write log и повышенные задержки по сети.

Ликвидация задержек по сети улучшила результат, но не радикально  до 1233 мин

Мозговой штурм задержек SQL Write log вывел нас на несоответствие  виртуальных ядер \ Numa node физической структуре машин. Когда виртуальные машины выровняли с физическим – результат улучшился 1162 минуты против 937.

Поскольку победа не была достигнута, было решено добраться до сути такой разницы производительности. Стратегия была понятна, выявить все несоответствия отображения виртуальных машин в «железо».

Замечу что VMWare содержит много способов Вас «обмануть» – когда мы говорим Numa node

Мы понимаем под этим hardware Numa

https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms178144(v=sql.105), но VWWare предлагает администратору еще технологию vNuma в vSphere 6.5 https://blogs.vmware.com/performance/2017/03/virtual-machine-vcpu-and-vnuma-rightsizing-rules-of-thumb.html

Просто почитайте выдержку для понимания, какое бесконечное количество реальностей вам предлагают и как это будет реально работать с SQL Server или другим ПО одному архитектору Матрицы будет известно

«When a vNUMA topology is calculated, it only considers the compute dimension. It does not take into account the amount of memory configured to the virtual machine or the amount of memory available within each pNUMA node when a topology is calculated. So, this needs to be accounted for manually.

Example: An ESXi host has 2 pSockets, each with 10 Cores per Socket, and has 128GB RAM per pNUMA node, totalling 256GB per host.

If you create a virtual machine with 128GB of RAM and 1 Socket x 10 Cores per Socket, vSphere will create a single vNUMA node. The virtual machine will fit into a single pNUMA node.

If you create a virtual machine with 192GB RAM and 1 Socket x 10 Cores per Socket, vSphere will still only create a single vNUMA node even though the requirements of the virtual machine will cross 2 pNUMA nodes resulting in remote memory access. This is because only the compute dimension in considered.

The optimal configuration for this virtual machine would be 2 Sockets x 5 Cores per Socket, for which vSphere will create 2 vNUMA nodes and distribute 96GB of RAM to each of them.»

Это только то, что вскрылось при тестировании, я думаю, специалисты по VMWare расскажут больше точек, где может потеряться производительность

Не думай о миллисекундах с высока

Поскольку все были озадачены такими результатами, были подключены администраторы СУБД по другим системам. Две головы, как говорится, лучше двух, и было найдено еще одно противоречие с реальностью.

Странно, Avg Disk sec \ Transfer сильно отличалось от Service Time которое регистрирует VMWare при обращениях к диску


 

Ниже Вы видите 2 мс Service time против 20 мс Avg Disk sec / transfer в счетчиках Windows over VMWare!

 

 

Поиск в сети вывел на статью http://performancebydesign.blogspot.com/2013/12/how-windows-performance-counters-are.html где подробно изложена проблема VMWare приводящая к “неточностям “ измерений в  Windows.  Не знаю, когда это исправят, но такие «неточности»  приводят к логической проблеме

Исходные данные кривые & Алгоритм анализа верен = Результат анализа кривой

Поскольку данный факт не объяснял отставание производительности виртуального кластера от реального, исследования продолжили. Было ясно, что что-то еще душит связку процессор, память, взаимодействие с устройствами. Диски\Контроллеры пока можно было исключить.

 

Почему текст в Матрице зеленый?

Горизонтальное маштабирование //infostart.ru/1c/articles/1683197/ нашего решения  на 1С позволяло еще увеличить давление на кластер, что и сделали

Со стороны Windows картина показала очереди на процессор Processor Queue Length и много переключений контекста

 

 

Результат вычислений улучшился, но несущественно, видимо упирался в ту самую причину

 

 

Зато гипервизор показал

  • Readiness: 1-2 %.
  • Co-stop: 0,5 %
  • А вот CPU latency выросло до 30%, многовато. ( CPU latency - % of time the VM is unable to run because it is contending for access to the physical CPU. )

Судя по всему, мы не первые, которые сталкиваются с подобными проблемами – вот статья из Хабр https://habr.com/ru/company/dataline/blog/452884/. Там же объяснение терминов, и некоторые утверждения вызывают сомнения.

Например

«если не хотите углубляться и у вас нет лицензионных ограничений по ОС, установленной на ВМ, делайте на ВМ много виртуальных сокетов по одному ядру. Много не потеряете»

Хотя как заметили в комментариях

«Always configure the virtual machine vCPU count to be reflected as Cores per Socket, until you exceed the physical core count of a single physical NUMA node OR until you exceed the total memory available on a single physical NUMA node.

https://blogs.vmware.com/performance/2017/03/virtual-machine-vcpu-and-vnuma-rightsizing-rules-of-thumb.html »

В общем из таких статей видно, что нет единства даже среди тех, кто сопровождает VMWare и я был интуитивно прав что нужно выравнивать виртуальную машину с физической. Наши администраторы пошли искать кто создает эту CPU latency … и на следующий день предложили повторить тест.

Результат превзошел ожидания 805 минут против 937 на рабочем кластере. Да, количество параллельных заданий на тесте было больше, но тот факт, что Матрица наконец-то прогнулась, вызывал бурю восторга

 

 

Waits & Spinlock улучшились по сравнению с //infostart.ru/1c/articles/1686720/

 

 

На вопрос, что же Вы нашли, ответ был неожиданным

 

Гензель и Грета – как в Европе борются за ограниченные ресурсы.

Да, это была  зеленая повестка, когда добавляли железные  сервера в кластер, ее просто забыли отключить. Производитель HP заботливо оставляет включенным соответствующие опции, причем формулировки опций двухсмысленные (Balanced). Вот пример, как в Европе с этим сталкиваются

https://helgeklein.com/blog/the-effects-of-power-savings-mode-on-vcpu-performance/

Вообще зеленая повестка сейчас повсюду и на всех уровнях. Это тот самый случай, когда благими намерениями выложена дорога в ад. Вроде благое дело экономия электроэнергии, и на офисных ПК это оправдано, поскольку у работников умственного труда больше работает мозг, чем ПК, хотя в эпоху перепроизводства контента часто бывает и наоборот.

Но сервер - он изначально предназначен быть разделяемым ресурсом, готовым принять нагрузку на 100%. А пока нам предлагают гоночный авто формулы 1 с принудительной зеленой повесткой J . Зелень приходится вырубать на всех уровнях.

  1. Операционная система
  2. VMWare https://blogs.vmware.com/performance/2014/09/custom-power-management-settings-power-savings-vsphere-5-5.html
  3. Драйвера
  4. И еще BIOS + на уровне процессора ( см C-states  в Perfomance monitor)

И везде эта повестка включена в некий режим «Balanced» который по факту снижает производительность даже при высокой нагрузке. Скажете,  ничего страшного - в каждой программе есть ошибка?

Нет, это не ошибка, это шиза,  которая пронизывает всю систему:

У Вас на авто детали стали служить меньше потому, что уменьшены высота поршня, толщина колец, задраны температурные режимы для лучшего сгорания. Железная цепь не дотягивает до ресурса ремня, поскольку на обслуживании пресса экономят + делают ее тоньше. Между прочим - это выгодно и автопроизводителю, меньше металла, меньше ресурс = больше прибыль. Вот подробный отчет от BMWService по надежности новых технологий https://bmwservice.livejournal.com/270037.html  https://bmwservice.livejournal.com/278784.html

Экономика разбалансирована, поскольку политики не просто играют в зелень, но и вводят экономические санкции тем, кто менее зелен https://www.rbc.ru/opinions/economics/20/09/2021/61489ee09a79479eafb96584?ysclid=l5m8lln9rj476073198 «Экономическими инструментами для перехода к низкоуглеродной экономике должны стать торговля эмиссионными квотами, углеродные налоги, государственные закупки экологичной продукции и инвестиции в экологическую инфраструктуру»

Классный инструмент для политического давления. Кстати цены на газ раскрутили вверх еще до Z – эпохи именно как следствие зеленой повестки и переход на спекулятивный фьючерсный рынок, а уже Z эпоха добавила ускорение.

Грустно, но слив Японией в 2021 более миллиона тонн радиактивной воды из Фукусимы, не вызывает санкций, культуры отрицания суши, или значимых протестов зеленых https://zvezdaweekly.ru/news/2021413120-PU2ea.html?ysclid=l5lg7fb0m6258832098

Все это следствие отсутствия сильных обратных связей на власть со стороны общества, как следствие в политике оказываются лучшие манипуляторы сознанием, а не те, кто осознают возможность сделать жизнь лучше.

Причем тут Гензель и Грета? Просто прочитайте краткое изложение сюжета https://ru.wikipedia.org/wiki/%D0%93%D0%B5%D0%BD%D0%B7%D0%B5%D0%BB%D1%8C_%D0%B8_%D0%93%D1%80%D0%B5%D1%82%D0%B5%D0%BB%D1%8C

Если кратко, дети все время возвращаются к отцу, который их предал и решил от них избавиться под угрозой голода. Какая-то семейная шизофрения – как ни разбирай мотивы, все себе врут, а раз так цикл обязательно повторится, поскольку доверие выстраивается годами, а предав один раз, можно это делать сколько угодно.

Переводя на язык высоких технологий – Если Вам предлагают новые технологии,  которые улучшат жизнь вашей компании - сразу  ищите, где Вам врут, для кого Вы ресурс и кто Вас использует.

Игра в имитацию

Если сложить все с предыдущей частью //infostart.ru/1c/articles/1686720/ получается, что виртуализация только искажает данные о производительности. Она дает нам не аналог физического сервера, а его проекцию. Напр. проекция шара может выглядеть как круг или овал в зависимости от источника света. Но ведь проекцию круга может дать и другая фигура. И весь анализ подразумевает попытку восстановить исходный объект по проекции.

Дружественно настроенный администратор с гипервизором может помочь, но у него будут похожие проблемы. Если же  администраторы доступны только по почте, то с такими облаками лучше вообще не связываться. Это не просто еще один слой, который скрыт от Вас. Например, слой драйверов изначально пишут для достижения максимальной производительности и там как правило настройки ограничены, а VMWare это слой, который конструирует Вам очередную версию Матрицы с новыми сюрпризами «оптимального распределения ресурсов».

Я надеюсь, что виртуализация это временный этап развития ИТ, и будущие операционные системы будут организовывать кластеры более прозрачным образом, а приложения будут написаны уже сразу под такие ОС. Мы ведь можем делать сейчас кластера на основе Windows в рамках одной организации. Кроме того, горизонтальное масштабирование   приложений //infostart.ru/1c/articles/1683197/ выдвигает требования не только к архитектуре приложения, но и к возможностям операционной системы, поэтому совершенствование ОС в этом направлении неизбежно.  

P. S. Поскольку ссылки на телеграмм канал выкладывать запрещено, интересующиеся подробностями пишите в личку.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. 3vs 18.07.22 06:56 Сейчас в теме
Круто!
Отличная статья к утреннему чаю! :-)
nshestak; +1 Ответить
2. TMV 14 20.07.22 09:37 Сейчас в теме
Если Вам предлагают новые технологии, которые улучшат жизнь вашей компании - сразу ищите, где Вам врут, для кого Вы ресурс и кто Вас использует.
В этом месте у Нуралиева глаз дернулся.
DrAku1a; IgorS; +2 Ответить
Оставьте свое сообщение

См. также

Продуктовая разработка на 1С

Идеи и тренды в разработке Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

На 1С можно создавать онлайн-сервисы, не уступающие по функциональности другим современным продуктам. Чтобы начать это делать, нужно поменять подходы к разработке. О том, как быстро сделать свой продукт на 1С и выйти с ним на рынок, на конференции Infostart Event 2021 Post-Apocalypse рассказал CTO компании WiseAdvice Олег Филиппов.

28.10.2022    3451    comol    6    

34

1С + MS SQL против Матрицы виртуализации

Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Виртуализация в облака стала модным трендом. Однако если вы захотите поместить нагруженную систему в облако - Вас ожидает много разочарований. В статье на реальном примере показано, что Вас ожидает под облаками.

30.06.2022    2448    1CUnlimited    15    

15

1С, Linux, облака…

Облачные сервисы, хостинг Мониторинг Платформа 1С v8.3 Бесплатно (free)

Архитектор проекта ENOTE Александр Кирилюк выступил на Infostart Meetup «1С и Linux». Александр поделился с коллегами, как начать жить в облаках, выбрать для этого подходящие ЦОДы и ПО и справиться как с распространенными, так и редкими проблемами Linux-систем.

05.10.2021    2863    ArtfulCrom    3    

21

Перекуем Cloud на Oracle. Тестируем размещение 1С в облачной платформе Oracle Cloud.

Администрирование СУБД Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

После цикла публикаций про размещение 1С в облачных сервисах я думал, что все различные варианты рассмотрены и тема для меня закрыта. Однако есть события, мимо которых не пройти. Так вот и сейчас, когда наблюдается аттракцион невиданной щедрости от Oracle, мимо этого просто так не пройти.

02.09.2021    1698    capitan    22    

9

CRM в облаках

Управление взаимоотношениями с клиентами (CRM) Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

Организация единой CRM-системы для группы компаний требует особого подхода к построению интерфейсов, продуманной архитектуры обмена данными, оптимизации интеграционных форматов и т.д. О том, как построить CRM-систему, используя 1С только как back-end для получения данных по HTTP-протоколу, рассказал инженер-программист ООО «Протон» Сергей Плоткин.

29.01.2021    2137    Plotks2017    1    

6

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

WEB-интеграция Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    12904    comol    32    

108

Обзор облаков для 1С (часть 3)

Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

Завершаю цикл статей, посвященных тестированию облачных провайдеров с точки зрения производительности.

15.06.2020    15024    Any_One    53    

28

Обзор облаков для 1С (часть 2)

Облачные сервисы, хостинг Платформа 1С v8.3 Россия Бесплатно (free)

Продолжаю цикл статей, посвященных тестированию облачных провайдеров с точки зрения производительности.

25.05.2020    11707    Any_One    59    

17

Обзор облаков для 1С

Облачные сервисы, хостинг Платформа 1С v8.3 Россия Бесплатно (free)

Тестируем провайдеров, которые специализируются на размещении баз 1С в облаке, с точки зрения производительности.

14.05.2020    38086    Any_One    38    

36

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.)

WEB-интеграция Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    17793    uno-c    31    

72

Особенности разработки во Фреш

Облачные сервисы, хостинг Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

В данной статье я излагаю свой опыт использования сервиса 1cfresh.com. Со временем эти данные могут устареть, так как сервис постоянно развивается. Надеюсь, статья поможет тем, кто только начинает осваивать этот полезный сервис.

25.12.2018    18271    kwazi    60    

48

Облако 1С

Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Обработка для 1С Предприятие 8.1 предназначена для навигации по справочникам и документам через новый для 1С орган управления - облако. В обработку добавлена ДемоФорма, которую можно назначить основной и посмотреть как построить свое облако.

14.02.2009    20787    644    leksmut    24    

45