Измерь его правильно! Краткое описание общепринятого метода оценки производительности DB серверов

10.11.18

База данных - Инструменты администратора БД

Сообщество программистов (администраторов) 1С является одним из самых замкнутых на себя. Тот же JAVA senior без особых вопросов напишет код на PHP или на Python, если этого потребует обстановка. 1Сники же и powershell и bash и PHP и все остальное с разной степенью успешности реализуют на 1С. В последнее время ситуация немного меняется, классическое высшее образование программистов уже не ограничивается ассемблером, бейсиком и фортраном. Никто не падает в обморок при виде class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } Попробуем покуситься на тест Гилева © и узнать, как без него обходятся DBA админы остального мира, слабонервных прошу удалиться, остальных прошу под кат...

Россиянин за границей пытается купить презервативы в аптеке.
Естественно - языковой барьер, не знает как объяснить. Видит - аптекарь мужик.
Достает свое хозяйство, кладет на прилавок и рядом 10$. 
Аптекарь не долго думая, достает свое и со словами:- Не уверен - не играй! забирает все деньги.

Что вам даст прочтение этой статьи:

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

Скажу сразу и жирным шрифтом:
Я не против решения всего и вся на 1С, а перед теми кто их создает, вообще снимаю шляпу.
Но иногда робко спрашиваю - зачем ?

После того как об меня сломалось очередное копье, долгими осенними вечерами написал я эту статью.

По большому счету любой DBA, находящийся за пределами 1С, ничего нового в ней не откроет.
Теоретически, он может даже сказать: Все, расходимся, нас обманули. И спокойно продолжить слушать музыку у сервера (или музыку сервера, кому как угодно).

Но в сообществе 1С и неожиданно у некоторых облачных провайдеров, публикующихся на Хабре, обнаружилось непонимание темы.
Масла в огонь подлил журнал "Системный администратор"  (!) №5 за 2017 г. с вопросом:

Сервер набрал примерно 17 баллов, в то время как десктоп – более 40... Так что же, сервер 1С лучше разворачивать на бюджетном железе, купленном в ближайшем киоске? 

Продолжу для них.

Зачем собственно пробовать что-то еще, если есть чудесный тест Гилева ©:

  1. Пожалуй самое главное ограничение теста Гилева © - это то, что провести его мы может только постфактум - установив 1С сервер.
    Кофе в постель могу сам себе подать. Но придётся встать, одеться,приготовить, раздеться, лечь и выпить. Жванецкий ©
    В добрые старые годы это не было большой проблемой - сервера были куском железа, а ключ 1С - USB.
    Пользуясь расположением поставщика можно было все тесты провести до покупки.
    Сейчас же сервера в облаке, а ключ программный (либо доплата за USB) и все не так просто.

  2. Тест идет по методологии TPC-A  (метода TPC-1C-GILV-A пока на сайте организации TPC не зарегистрировано) 
    И его второе ограничение, об этом сказано на сайте :
    Тест оценивает количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок
    То есть равные по скорости, но отличающиеся по количеству ядер процессоры дадут равные результаты.
    Хотя даже интуитивно понятно, что c Intel© Core i7 база будет работать быстрее чем с i3, i5.

  3. Это то, что его вообще нужно проводить. Правда, было бы неплохо, если бы сам поставщик предоставил результаты ?
    А еще лучше выбрать нужные результаты и под них собрать оборудование, хоть бы и виртуальное.

Еще раз внимание! 
Не против я этого теста, в конце концов можно мерить чем угодно, если это измерение дает повторяемость на различных конфигурациях софта/железа.

Переходим к теме:

Де-факто метод тестирования крупных провайдеров предоставляющих облачный хостинг (Alibaba Cloud к примеру или Google Cloud, на котором кстати, самое подробное описание работы) и удобная вещь в хозяйстве - HammerDB.

Методика тестирования не сложная, по сути напоминающая тот самый "Стандартный нагрузочный тест" из "Корпоративного инструментального пакета".
По классификации  www.tpc.org тесты близкие к TPC-C или TPC-H, но не такие полные.

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

Поэтому подробно расписывать ее не буду, опишу в общих чертах и больше про те грабли на которые наступил.
Самые большие - программа не работает с версиями MS SQL ниже 2008.

  1. Скачиваем программу с официального сайта www.hammerdb.com. Устанавливаем.(Можно взять поставку и в виде zip архива, ее достаточно распаковать)

  2.  Для последних редакций может потребоваться установить распространяемый компонент Microsoft Visual C++ для Visual Studio 2017, иначе она просто упадут с ошибкой.

  3. Создаем базу на SQL сервере (не обязательно Microsoft), название произвольное. Размер желательно сразу указать большой, чтобы рост файла не влиял на результаты теста. На Хабре горячие головы указывают под 200 Гб, но это на мой взгляд перебор.


  4. Запускаем программу с клиентского компьютера. Выбираем тип сервера MS SQL и заполняем базу - Schema Build
    Требуется указать параметры подключения к серверу.
    Внимание! Программа будет строить строку подключения исходя из этих полей, поэтому совершенно не обязательно, что тип клиента в вашем случаем именно такой как указан по умолчанию.
    Скорее нет.

    Поэтому, если подключиться не удалось - нужно идти на сайт www.connectionstrings.com и там подбирать исходя из своих сервера и установленных клиентских компонент.
    Количество складов и виртуальных пользователей лучше поставить как на рисунке, тогда база будет приемлемого размера. (тот же Alibaba Cloud тестирует на этих величинах)

  5. Нажимаем Build



    и наблюдаем процесс заполнения базы данных



    Если все виртуальные пользователи стартовали -все идет по плану, если нет - первым делом проверяем строку соединения.
    Через некоторое время процесс завешается. Все флажки - зеленые. База готова к тесту.

  6. В ветке Driver Script повторяем параметры подключения и задаем "время разгона" теста и время его проведения
    Опять же значения можно взять с рисунка.



    Нажимаем Load и тестовый скрипт готов.

  7. Задаем количество виртуальных пользователей и не забываем установить флажок Show output

  8. Открываем вкладку Transaction Counter, чтобы видеть результаты теста

  9. Нажимаем Run и следим за результатами теста.

  10. Через некоторое время они стабилизируются

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

  12. Тем кому не надоело смотреть картинки, могут продолжить. (Полный набор в хорошем разрешении в шапке публикации.)
    Поделюсь некоторыми наблюдениями.

  13. В тестах сравнивается Intel Core i5-6500 против i5-2500K. Почему для статьи выбраны они ?
    Есть достаточно большой обзор от technical.city где видно как Core i5-6500 бьет Core i5-2500K.

  14. Что получилось у меня:

    Процессор/Тест

    WinRar

    7zip

    HammerDB

    Тест Гилева

    i5-2500K

    5180

    14500

    249500

    35,71

    Core i5-6500

    5370

    17800

    395100

    34,72

    Все результаты на рисунках.

Подведение итогов

Самые правдоподобные результаты показали 7zip и HammerDB.

Обе программы портабельные и имея их с собой на флешке вы можете достаточно точно определить скорость "железа" у клиента.

Список использованной литературы и ссылки

 

На сладкое

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

Планы на будущее

  • Пополнить статью результатами тестов.
  • Попробовать HammerDB тест как нагрузочный.

Желающие поддержать статью могут скачать rds-performance_whitepaper_mysql-intl-en-2018-05-04 - это тест от Alibaba Cloud.

Тестирование производительности нагрузочные тесты выбор сервера HammerDB TPC

См. также

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7872    58    23    

69

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

16800 руб.

06.12.2023    8879    42    5    

74

SALE! 15%

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

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8500 руб.

10.11.2023    10463    36    25    

61

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    188052    1140    0    

912

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    32705    106    152    

73

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

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    72806    627    45    

85

Инструменты администратора БД Системный администратор Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    62838    94    59    

79

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    9842    7    4    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. nomadon 369 29.10.18 08:10 Сейчас в теме
Отлично, спасибо.
Только помешьше бы в тексте извинений с посылом «не убивай, Гилев»
3. capitan 2507 29.10.18 09:40 Сейчас в теме
(1) +100500! )
Просто на Хабре меня за такие высказывания пинали не снимая ботинок, поэтому подстраховался.
2. Dementor 1035 29.10.18 09:37 Сейчас в теме
Статья отличная, хоть и начата с несправедливого наброса для привлечения внимания. Ни один мой знакомый джавист (и сишники тоже) не имеют ни малейшего желания разбирать говнокод на php и возится с тем же битриксом. А вот 100% знакомых адинэсщиков отлично пишут скрипты (некоторые не только на башне и павере, но и на питоне).
4. capitan 2507 29.10.18 09:44 Сейчас в теме
(2)Граммар-наци нет среди ваших знакомых ? ) Тех которые за ться и тся.
Но если серьезно - очень хорошие у вас знакомые.
И к тому же я написал - "В последнее время ситуация немного меняется"
bladeson; asdf_88; +2 2 Ответить
5. h00k 51 29.10.18 10:20 Сейчас в теме
Всё это конечно хорошо, но при данном способе тестирования мы лишь сможем понять насколько хорошо будет работать сервер СУБД на конкретном "железе" либо виртуалке. Подобные тесты ни как не покажут влияния типа СУБД на производительность всей системы, не помогут оценить падение производительности при разнесении сервера 1С и сервера СУБД на разные физические / виртуальные сервера, не дадут оценить влияние настроек на производительность системы и т.д. Тесты же на 1С, например, тест Вячеслава или тест Антона (Fragster), всё это оценить позволяют, так-как отражают производительность всей системы "железо + сервер СУБД + сервер 1С".
Дмитрий74Чел; Gilev.Vyacheslav; Silenser; Unknown31; ABudnikov; +5 Ответить
7. capitan 2507 29.10.18 11:06 Сейчас в теме
(5)
Про
не покажут влияния типа СУБД
не понял - ставьте и меряйте хоть MySQL & Redis
производительность всей системы
в режиме работы 1 пользователя
Антон (Fragster) у него тест хотя и многопоточный, но не на реальных документах.
При ваших пожеланиях - надо брать "Стандартный нагрузочный тест", не вижу другой альтернативы
10. h00k 51 29.10.18 11:49 Сейчас в теме
(7)
не понял - ставьте и меряйте хоть MySQL & Redis

А что тут непонятного то?! Как тест работы СУБД на конкретном железе / виртуалке покажет с какой СУБД 1С-ка будет работать быстрее? Как на основании результатов тестирования, подобных описанному, решить что лучше, DB2, Postgree или MS SQL… и как лучше организовать размещение серверов СУБД.
Gilev.Vyacheslav; +1 Ответить
14. capitan 2507 29.10.18 12:15 Сейчас в теме
(10) Так этот тест - он как раз больше DB поддерживает
21. h00k 51 29.10.18 13:09 Сейчас в теме
(14)
Так этот тест - он как раз больше DB поддерживает

Да не о том я. С какой из возможных СУБД 1С-ка будет работать оптимальней подобный тест не покажет. Сто раз уже, в разных темах, по этому вопросу дискутировали. Мы же с Вами, года два-три назад, эту тему ещё и относительно конкретных релизов платформ разбирали.

А так - да, вполне себе методика, для ряда задач, которая учит "неофитов от 1С" и с других систем не бояться.
22. capitan 2507 29.10.18 13:14 Сейчас в теме
60. Gilev.Vyacheslav 1917 30.10.18 07:20 Сейчас в теме
(14) а версии платформы 1С он разные может сравнить?
11. h00k 51 29.10.18 12:01 Сейчас в теме
(7)
При ваших пожеланиях - надо брать "Стандартный нагрузочный тест", не вижу другой альтернативы

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


П.С.: И это не мои "пожелания", это объективная реальность. Нет смысла мерять гипотетическую скорость работы СУБД на конкретной железке, кроме тех случаев, когда уже известно, что "узкое место" именно СУБД. Описанный подход с успехом можно заменить запуском теста 7-зип да кристал диск марк...
Gilev.Vyacheslav; +1 Ответить
15. davdykin 25 29.10.18 12:15 Сейчас в теме
(11) Мне кажется вы не правы, и вот почему:
1. У этого теста плюс в том, что можно запустить без лицензии 1С (ломалки не берем в расчет)
2. Этот тест позволяет сравнить производительность самой субд, в том числе и ее тюнинга (что может быть удобней, чем мерить связку СУБД+1С Сервер, тестами Вячеслава и Антона)
3. При выборе железа, на мой взгляд, этот тест будет коррелировать, может и не на 100%, но все-равно, с вышеупомянутыми тестами.
4. Надо понимать что тесты на основе 1С, тоже показывают "размер сферического коня в вакууме", т.к. модель работы пользователей может отличаться от модели работы используемой в тестах (тем более однопоточный тест Вячеслава, т.к. все-такие такие задачи на однопользовательских компах - это скорее изврат).
Поэтому я считаю, что данный тест, скорее не замена, а некое дополнение, позволяющее произвести декомпозицию производительности 1С (т.е. сравнить при разных настройках отдельно производителность СУБД) к тестам написанным на 1С.
Ну и считаю что такие статьи нужны, как минимум для дисскуссий разворачивающихся в коментах ))
Gilev.Vyacheslav; capitan; +2 Ответить
18. capitan 2507 29.10.18 12:20 Сейчас в теме
24. h00k 51 29.10.18 13:32 Сейчас в теме
(15)
Мне кажется вы не правы, и вот почему

1. У всего есть своя цена. Наиболее точную оценку может дать, например, тест-центр от 1С, и он тоже стоит денег.
2. Как бы не был производителен сервер СУБД, в отрыве от настроек сервера 1С эти данные, в большинстве случаев, бесполезны. Например, сервер 1С на другом физическом сервере и взаимодействие идёт по TCP, со всеми вытекающими. Другой пример - сервер СУБД "съел" все доступные ресурсы физического сервера из-за кривой настройки сервера.
3. При первоначальном выборе железа да, пойдёт, как и любые другие. Ещё хорошо пойдёт для "тонкой" настройки СУБД, о чём я упоминал выше.
4. 1С это OLTP-система, поэтому однопоточный тест Вячеслава очень неплохо показывает, насколько пользователям будет комфортно работать с 1С на конкретном сервере, а тест Антона сколько пользователей сможет комфортно работать.

Статьи нужны, не спорю, но статья Андрея оставляет основные моменты "за кадром", потому и появился уточняющий применение комментарий.
ansh15; Gilev.Vyacheslav; +2 Ответить
26. capitan 2507 29.10.18 13:44 Сейчас в теме
(24)1. Наиболее точную оценку может дать только APDEX встроенный в базу, но тогда будет уже поздно.
2. При отсутствии очевидной кривизны в настройках все же скорость работы упирается именно в сервер СУБД.
Так то можно электропитание выставить в экономия энергии и каюк)
3. Ничего не имею против - только читали вступление - в samag.ru человек пытается натянуть сову на глобус производительность сервера на производительность десктопа по тесту Гилева. Что это дает ?
31. h00k 51 29.10.18 14:01 Сейчас в теме
(26)

1. APDEX - это APDEX, с его помощью мы фиксируем текущую производительность, а для нагрузочного тестирования он не совсем подходит.
2. Не, не то, тогда всё будет тормозить. Я же привёл пару примеров, когда тест на СУБД будет показывать, что всё восхитительно, а по факту система еле шевелится.
3. Как что?! Дефицит сов.
32. capitan 2507 29.10.18 14:19 Сейчас в теме
(31)Ну вот, значит если я хоть пару сов спасу - значит есть толк от этой статьи )

А давайте такой же вопрос как и уважаемому herfis
Что по вашему влияет в основном на скорость СУБД (процессор, память, диск, сеть, настройки)?
Аналогично - для всей связки (СУБД, сервер 1С, сеть, настройки)
При всех прямых настройках разумеется.
49. h00k 51 29.10.18 17:37 Сейчас в теме
(32) Очень такой скользкий вопрос. Мало того, что ответ будет для каждого конкретного случая свой, так ещё и размером со среднюю статью, если давать нормальный аргументированный ответ.

В целом, для большинства случаев, наибольшее влияние на производительность сервера СУБД оказывают процессор и дисковая подсистема. Но, без нормальных настроек, да ещё и в кривой сети даже нормальные сервера живут плохо.
Память, чипсет и т.п. составляющие, на современных системах, оказывает минимальное влияние на производительность и сильно пристально смотреть на них стоит только в тех случаях, когда из железки нужно выжать максимум.
62. Gilev.Vyacheslav 1917 30.10.18 07:26 Сейчас в теме
61. Gilev.Vyacheslav 1917 30.10.18 07:24 Сейчас в теме
(26) советую открыть для себя настройки биос
ну и эту статью почитайте https://infostart.ru/public/147259/
44. Silenser 612 29.10.18 15:52 Сейчас в теме
(24)Полностью поддерживаю, в особенности учитывая последнюю тенденцию ставить на один сервер и 1С и SQL (или любую СУБД). Если ваша задача проверить, как автомобиль ездит по бездорожью, то логично взять автомобиль и вывезти его за город на бездорожье.Нет особого смысла в помещении завозить песок и наливать сверху воду.
Есть два больших подтипа тестов: синтетические (воспроизводящие нагрузку от конкретных приложений) и алгоритмические (выполняющие определенный алгоритм, который сильно грузит какие-то подсистемы компьютера). Тест-центр или тест Гилева - синтетические тесты, основная задача которых сравнить, насколько хорошо данная система подходит для работы 1С+СУБД. Насколько я понял, то что предложил автор статьи, больше похоже на алгоритмический тест, навроде IOMeter, который тестирует СУБД.
Gilev.Vyacheslav; +1 Ответить
45. capitan 2507 29.10.18 16:13 Сейчас в теме
(44) Вы просто начали читать с комментариев видимо.
Оба теста из серии TPC: TPC-А и TPC-C
47. Silenser 612 29.10.18 16:43 Сейчас в теме
(45)Ну это было бы откровенным неуважением к автору, который проделал большую работу. Тем не менее, личный опыт подсказывает, сравнение оборудования TPC тестами дает общее понимание, в то время как типовые нагрузочные тесты с использованием платформы дают уже окончательный вердикт. И отдельно я бы их никогда не рискнул использовать, т.к. есть куча особенностей, которые не всегда сразу можно увидеть. Ближайший аналог, оптимизация драйверов у видеокарт: вроде как FurMark дает высокий балл, а игра - тормозит.
Gilev.Vyacheslav; +1 Ответить
48. capitan 2507 29.10.18 17:18 Сейчас в теме
(47) То есть мы все же договорились что эти все тесты одного класса, а не синтетические и алгоритмические.
А про то что нужен тест с использованием платформы спора нет - вопрос сможете ли вы его конкретно сформулировать и исполнить.
Даже "Стандартный нагрузочный тест" лучше которого ничего не придумаешь, в методике оговаривается - померяйте для начала типовые процессы своих пользователей чтобы интерпретировать наши результаты.
50. Silenser 612 29.10.18 20:23 Сейчас в теме
(48)
То есть мы все же договорились что эти все тесты одного класса, а не синтетические и алгоритмические

Не могу утверждать, не специалист в этой области.

(48)
А про то что нужен тест с использованием платформы спора нет - вопрос сможете ли вы его конкретно сформулировать и исполнить.

Да. В качестве 1го приближения - 1С нагрузочное тестирование или Гилевский тест. В качестве точной оценки - тестирование с тест центом по сценариям имитирующими бизнес-процессы конкретной компании. Обычно подобная работа стоит 300-900 тыр

Зачастую разные версии платформы могут иметь "особенности", поэтому сервер под 1С и тестируют с использованием платформы.
Gilev.Vyacheslav; +1 Ответить
51. capitan 2507 29.10.18 22:20 Сейчас в теме
(50)
В качестве 1го приближения - 1С нагрузочное тестирование

Откуда такая инфа?
Честно говоря до сегодняшнего дня не доводилось слышать, что это 1 приближение
Более того руководство по КИП не рекомендует использовать сценарное тестирование в качестве нагрузочного.
А тестируют с использованием платформы потому что это как правило замысловатый кластер 1С с не менее замысловатым хранилищем.
Тестировать его по частям нет смысла.
Это если работа стоит 300-900 тыр
63. Gilev.Vyacheslav 1917 30.10.18 07:28 Сейчас в теме
(51) вы путаете нагрузочное и сценарное тестирование
Silenser; +1 Ответить
67. Silenser 612 30.10.18 11:49 Сейчас в теме
(51)Инфа из личного опыта. Если перед вами стоит задача не абстрактно измерить оборудование в попугаях, а конкретно выдержит ли ваш сервер такое-то количество пользователей под такой то конфигурацией 1С, как вы будете выкручиваться?
Обычно реализуют параллельную работу по двум направлениям.
Первая, получить предварительные данные в условных попугаях и сравнить эти попугаи с попугаями серверов на которых нормально работает похожее решение. По результатам можно сделать предположение о том, взлетит или нет, с определенной долей вероятности. Чем больше различий между приложениями, серверами и характером нагрузки, тем вероятность достоверности результата предсказания будет ниже. Если вы однозначно с большим запасом получаете результат, что не взлетит, то второй этап можно не делать.
Вторая, составляем сценарий предполагаемой нагрузки и имитируем ее в нужной базе 1С. Смотрим показатели оборудования и выясняем - тянет оно или нет. Проблема в том, что составление сценариев тестирования задача нетривиальная, долгая и дорогая. Более того, не так много спецов смогут составить эти сценарии так, чтобы они максимально повторяли работу ваших пользователей. Как правило, такие спецы есть либо в специализированных конторах по оптимизации (которые знают где взять таких спецов), либо в очень крупных франчах, которые делают большие внедрения (Рарус, КСУ и т.п.)
ИМХО, разумеется.
68. capitan 2507 30.10.18 20:39 Сейчас в теме
(67) Мне кажется вы путаете мечты и реальность.
Сценарий предполагаемой нагрузки вам точным никогда не сделать, я писал уже об этом выше.
Потому что если вы даже посчитаете, сколько у вас в базе операторов, сколько бухгалтеров и т.п. то вы никогда не сможете точно проставить какую они создадут пиковую нагрузку - пример пришли с обеда и взялись бить отгрузки.
В методичках к КИП есть описание как моделировать это Стандартным нагрузочным тестом.
Про какие то реально работающие унифицированные решения со сценариями имитирующую нагрузку в типовой конфигурации я не слышал.
Если поделитесь ссылкой - с интересом посмотрю.
А просто сэмулировать проведение 10000 накладных и запись 100000 справочников в БП - такая обработка и у меня есть, смотрите профиль )
72. Silenser 612 31.10.18 09:51 Сейчас в теме
(68)
Мне кажется вы путаете мечты и реальность.
Сценарий предполагаемой нагрузки вам точным никогда не сделать, я писал уже об этом выше.

Не путаю, просто мне, как работнику нельзя отделаться общими фразами о том, что у нас же сервер набрал 52 попугая, а старый только 40, должно работать быстрее, не должно быть лагов. Нужно искать компромисс, как потратить не сильно много денег и получить какой-то релевантный результат, потому что потом за него нужно отвечать.

(68)
Потому что если вы даже посчитаете, сколько у вас в базе операторов, сколько бухгалтеров и т.п. то вы никогда не сможете точно проставить какую они создадут пиковую нагрузку - пример пришли с обеда и взялись бить отгрузки.

Пиковая нагрузка ограничена во времени всегда и вопрос о ее решении можно отсрочить, как минимум, административными способами и решить позже. Если система не тянет нагрузку в принципе, то решение быстро найти уже не получиться. Простой пример, у вас 8.3, без совместимости, т.е. база версионник, вы строите кучу отчетов, в которых используются временные таблицы. Опасным местом становится временная база tempdb. Система у вас работает, нагрузка нормальная. Но увеличилось число пользователей, выросла нагрузка и отчетов стало больше, частота использования и очереди к временной базе выросли и система встала, причем вся, т.к. версионник без временной базы не работает. Это и называется особенностью вашей системы, потому что в другой все может быть по другому и нагрузочный тест это не покажет, он покажет типичные задачи - проведение документов, расчет итогов, построение отчетов.

Теперь о нагрузочном тесте, прямая цитата с сайта 1С:
Тест оценивает производительность всей совокупности серверного оборудования и серверного программного обеспечения с точки зрения задач, типичных для систем, работающих на платформе «1С:Предприятие 8». То есть полученная оценка отражает не производительность какого-то одного серверного компонента системы (например, рабочего сервера кластера «1С:Предприятия»), а всей серверной конфигурации в целом.

Иными словами, это измерение системы в баллах, которые дадут общее представление о том, насколько хорошо сервер подойдет для среднестатистической конфигурации 1С, не вашей конкретно, а некой абстрактной, выполняющей среднестатистические абстрактные задачи. Он безусловно лучше теста, который тестирует только СУБД, диск, память или проц, но на конкретный вопрос о именно вашей конфигурации он ответа не даст, то есть даст, но с некоторой степенью вероятности, отличной от 100%.
73. capitan 2507 31.10.18 11:42 Сейчас в теме
(72) Так я же не против - вы приведите ссылку где такой тест делают и как и вместе посмотрим.
А так у нас пустословие пока идет.
Что касается нагрузочного теста- там в комплекте идет методичка и в ней уже написано как отражать общий нагрузочный тест конкретно на свою конфигурацию. С формулами и достаточно понятно. Попросите у знакомых франчайзи они дадут почитать.
79. Silenser 612 31.10.18 14:01 Сейчас в теме
(73)Пример счета на подобные работы, названия продуктов там есть
Прикрепленные файлы:
81. capitan 2507 31.10.18 14:23 Сейчас в теме
(79)Все. Теперь понял о чем речь.
Просто мы с чего начали рубиться со слов
Тем не менее, личный опыт подсказывает, сравнение оборудования TPC тестами дает общее понимание, в то время как типовые нагрузочные тесты с использованием платформы дают уже окончательный вердикт.

а из принтскрина как раз видно - нагрузочные тесты не типовые - за них люди взяли 400К
46. davdykin 25 29.10.18 16:30 Сейчас в теме
(24)
(24)
OLTP-система

1. Тут вопрос не о цене, а о том, что этот инструмент позволяет сравнить производительность одной и той же СУБД с разными настройками, что на мой взгляд большой плюс, т.к. если вы пишите обработку с 5 методами, возможность отладки одного из них - это плюс, хотя конечно всем понятно, что конечный результат зависит от результата и оптимизации каждого из этих методов.
2. Согласен, что есть факторы которые на прекрасной настроенной СУБД убьют производительность в продакшине, но вот то что вы на плохо настроеной СУБД сможете добиться хороших результатов - это вряд ли
3. Считаю, критикуя - предлагай, я не знаю "любых других тестов" для сравнения железа для СУБД
4. Вот это крайне вряд ли, однопоточный тест может показать прекрасный результат на железе, на котором при наличии второго пользователя появляется "бутылочное горлышко", поэтому однопоточный тест, скорее подходит для сравнения разных типов железа, но не для тюнинга ни сервера, ни скуля

На мой взгляд заголовок статьи - соответствует содержанию, там нигде не указано "Методика полной оценки производительности 1С", а так и сказано, что метод для оценки железа под СУБД.
Итого, судя по вашим комментариям, вы считаете что этот тест в принципе бессмысленен и не применим, я считаю по другому, он полезен и имеет право применяться на практике.
Gilev.Vyacheslav; +1 Ответить
93. teller 02.11.18 15:23 Сейчас в теме
(15) (11) по своему прав.
а
Поэтому я считаю, что данный тест, скорее не замена, а некое дополнение, позволяющее произвести декомпозицию производительности

надо вынести было в начало реплики и и выделить

а это вообще убрать:
1. У этого теста плюс в том, что можно запустить без лицензии 1С (ломалки не берем в расчет)

т.к. если оборудование не арендованное то наличие не 1с лицензий никто не отменял
17. capitan 2507 29.10.18 12:19 Сейчас в теме
(11) в 90% процентах случаев "узкое место" именно СУБД и подходы к ней.
И если видели - заголовок статьи -
Краткое описание общепринятого метода оценки производительности DB серверов

(11)
Описанный подход с успехом можно заменить запуском теста 7-зип да кристал диск марк
- согласен - так и написал
Но если будете искать облачный хостинг - то обычно приличные провайдеры как раз HammerDB результаты покажут
20. capitan 2507 29.10.18 12:33 Сейчас в теме
(11)Если быть до конца последовательным - все тесты будут гипотетические - тогда надо и конфигурацию 1С при тесте учитывать.
И время года)
У бухгалтерии например - ярко выраженная сезонность.
Fox-trot; +1 Ответить
64. Gilev.Vyacheslav 1917 30.10.18 07:29 Сейчас в теме
(20) ну по вашей логике надо учитывать код, который будет дописан в конфигурацию через полгода в будущем
59. Gilev.Vyacheslav 1917 30.10.18 07:19 Сейчас в теме
(7) если человек водить машину не умеет, то все равно какая марка автомобиля
58. Gilev.Vyacheslav 1917 30.10.18 07:18 Сейчас в теме
(5) если люди с однопоточным тестом не могут разобраться то мы свой многопоточный тест умышленно не выкладываем
6. itriot11 96 29.10.18 10:42 Сейчас в теме
Большая часть краткого описания не относится к теме публикации. Отсылки автора к замеру половых органов, в контексте темы и ресурса, отвратительны.
Дмитрий74Чел; Gilev.Vyacheslav; +2 1 Ответить
8. capitan 2507 29.10.18 11:10 Сейчас в теме
(6)Уважаемый Итриот 11 не надо юродствовать.
По заголовку статьи понятно о чем идет речь.
И анекдот этот не о том, что ваш ум хочет видеть, а пользе изучения иностранных языков
9. itriot11 96 29.10.18 11:29 Сейчас в теме
(8) А я не про заголовок, а про громкий спич в анонсе, где было бы достаточно ограничиться последним предложением.
Последняя картинка, вероятно, то же что-то в себе полезное несет. На мой взгляд, ваш юмор ниже пояса. Чего бы мне не хотелось видеть на ИС.
Дмитрий74Чел; Gilev.Vyacheslav; +2 Ответить
12. davdykin 25 29.10.18 12:02 Сейчас в теме
Возможно стиль и изложение статьи и оставляют некоторые вопросы, но для расширения "горизонта" отличная статья, спасибо за информацию. Сейчас как раз вопрос по железу становиться актуальным.. чего-то буха жрать стала у клиентов как не в себя ((
13. capitan 2507 29.10.18 12:10 Сейчас в теме
(12) В нашей жизни иногда только юмор и спасает.
И запоминается лучше.
А кто захочет - тот и в пятне Рошаха призыв к экстремизму найдет.
В следующий раз попробую написать сухим языком плаката )
16. davdykin 25 29.10.18 12:17 Сейчас в теме
(13)Это, в общем-то, был не камень в ваш огород, я считаю, что суть статьи, важнее стиля изложения )
19. capitan 2507 29.10.18 12:26 Сейчас в теме
(16) ОффТоп. У меня просто флотская юность, а матрос - если он не матерится, то значит уже вежливо разговаривает )
Были конечно времена, когда заглядывание под корсет считалось признанием в любви, а барышни при слове жоп@ падали в обморок.
23. herfis 513 29.10.18 13:26 Сейчас в теме
Я, возможно, протормозил, но каким боком в результаты тестирования воткнулись 7zip и WinRar?
Какова была методика замеров по ним? И насколько может быть адекватно сравнение этих результатов с однопоточным тестом СУБД?
25. h00k 51 29.10.18 13:37 Сейчас в теме
(23)
Я, возможно, протормозил, но каким боком в результаты тестирования воткнулись 7zip и WinRar?

Ну типа ими тоже можно мерить :D
27. herfis 513 29.10.18 13:48 Сейчас в теме
(25) Ну, если никаких корреляций с тестом СУБД не пытаться проводить, тогда ок. Просто если сравнивать строго однопоточную нагрузку, то было бы интереснее, ИМХО.
29. capitan 2507 29.10.18 13:54 Сейчас в теме
(27)
корреляций с тестом СУБД не пытаться проводить
вот тут не понял
Что по вашему влияет в основном на скорость СУБД (процессор, память, диск, сеть, настройки)?
Аналогично - для всей связки (СУБД, сервер 1С, сеть, настройки)
Кстати вот интересная была бы тема - померять, жалко железячники здесь не водятся.
30. herfis 513 29.10.18 13:58 Сейчас в теме
(29) Я к тому, что "лобовой" тест архиваторов обычно грузит все ядра (или типа того). А с тестом СУБД мне тут не до конца понятно, насколько сопоставимо будет. Поэтому мне кажется, что адекватнее сравнивать строго однопоточную нагрузку (если как-то ограничить использование ядер архиватором - как минимум, вроде есть сторонние утилиты, позволяющие это делать).
33. capitan 2507 29.10.18 14:22 Сейчас в теме
(30)в 7zip как раз можно выставить число ядер для теста, но все равно не очень понятно почему однопоточную ?
28. capitan 2507 29.10.18 13:49 Сейчас в теме
(23)(23) 7zip -меряет процессор и память в связке - и по нему тоже есть большая база статистики + CrystalDiskMark = самая грубая оценка сервера
Простой пример - вы в магазине серверов, у вас в организации два сервера и админы божатся, что они одинаковые по скорости, а бухи, что разные.
Вы же не будете КИП покупать сразу ?
Там интереснее другое - что WinRar не заметил разницы, а 7zip - увидел.
Не зря все им меряются
34. capitan 2507 29.10.18 14:25 Сейчас в теме
Есть предложение.
У кого есть 2 мин выскажите свое мнение
Опрос то уже наверное не прикрутить к публикауции (
Что по вашему влияет в основном на скорость СУБД (процессор, память, диск, сеть, настройки)?
Аналогично - для всей связки (СУБД, сервер 1С, сеть, настройки)
При всех прямых настройках разумеется.
40. fishca 1259 29.10.18 14:57 Сейчас в теме
(34) На скорость по максимуму влияет частота процессора, частота памяти (объем вторичен)
65. Gilev.Vyacheslav 1917 30.10.18 07:31 Сейчас в теме
(34) у меня тоже есть предложение
приходите к нам на курсы подучитесь
96. teller 02.11.18 15:50 Сейчас в теме
(65)
приходите к нам на курсы подучитесь
- ага он пойдет :)
статья на 90% readmefirst скриншоты , остальное самореклама
Дмитрий74Чел; Gilev.Vyacheslav; +2 Ответить
98. capitan 2507 02.11.18 16:55 Сейчас в теме
(96)Вы то я вижу прямо с курсов .
Не вижу только ваших статей.
Занимаетесь самоутверждением в комментариях ?
99. capitan 2507 02.11.18 17:04 Сейчас в теме
(65)Тех курсов у которых АПДЕКС по русски написано ?
У 1С 5 дневный курс от двух лучших экспертов (входящих в пятерку) по проектам ЦКТП по стоит 16500
У вас 3 дневный в два раза дороже, ну конечно вы же круче конечно. Да.
Не узнал только вас в гриме, вы там на каком месте будете ?
100. Gilev.Vyacheslav 1917 02.11.18 17:47 Сейчас в теме
(99)
Тех курсов у которых АПДЕКС по русски написано ?

Я правильно понял, что качество материала, который вы в глаза не видели, оцениваете по слову АПДЕКС?
от двух лучших экспертов (входящих в пятерку) по проектам ЦКТП
это Вас колбасит
вы хотя бы в курсе, что уметь делать и уметь обучать не одно и тоже? хороший программист не обязательно хороший преподаватель
ну и наконец, наш преподаватель - Бурмистров Андрей - работал в подразделение ЦКТП в 1С, то что вы его не знаете или он не входит в некие рейтинги не говорит о его профессиональных навыках, пока не придете на курсы лично, вам несколько рано делать выводы
3х дневный курс дороже чем что? у фирмы 1С просто нет аналогичного курса, вы с чем сравниваете?
вот вам подтверждение от сторонних людей
35. fishca 1259 29.10.18 14:26 Сейчас в теме
Это тест сервера SQL, но ни как не Сервер 1С + SQL - а
Прикрепленные файлы:
36. capitan 2507 29.10.18 14:31 Сейчас в теме
(35)Офигеть. Если бы мне в (6) не запретили, я бы сказал: Вот это пиписьк@ - 78 попугаев и еще одно попугайское крылышко )
Как раз это тест всей платформы целиком
66. Gilev.Vyacheslav 1917 30.10.18 07:33 Сейчас в теме
(35) тест в файловом варианте делать не стоит
тест надо делать в том варианте, в котором будет система эксплуатироваться
Дмитрий74Чел; +1 Ответить
37. capitan 2507 29.10.18 14:39 Сейчас в теме
Тут меня еще админ сильно пинает и кричит что я чипсет забыл упомянуть.
Пусть будет (процессор, память, диск, чипсет, сеть, настройки)
Он бы еще флоповод вспомнил )
38. fishca 1259 29.10.18 14:46 Сейчас в теме
При этом есть потенциал еще поднять +5-7 попугаев в данном тесте на данном сервере ;), если уж пошло измерение :)
Прикрепленные файлы:
57. Gilev.Vyacheslav 1917 30.10.18 07:16 Сейчас в теме
(38) учтите что разные версии платформы дают разные баллы
h00k; Fox-trot; +2 Ответить
39. fishca 1259 29.10.18 14:51 Сейчас в теме
Так что практически вплотную приблизились к эталонному тесту: http://www.gilev.info/2017/12/blog-post.html
При этом процессоры предыдущего поколения используются.
Прикрепленные файлы:
41. capitan 2507 29.10.18 15:06 Сейчас в теме
(39)Интересно будет на i9 померять. Опять десктоп сервер уест )
42. fishca 1259 29.10.18 15:27 Сейчас в теме
(41) интересно посмотреть на EPYC, i9 - фактически ничего нового
Десктоп всегда уест сервер, т.к. для сервера важнее надежность в угоду скорости
43. capitan 2507 29.10.18 15:30 Сейчас в теме
(42)
EPYC
Мне бы было страшновато в продакт собирать на AMD, воспоминания не очень.
56. Gilev.Vyacheslav 1917 30.10.18 07:15 Сейчас в теме
(42) а вот и нет, некоторые голды шустрее
52. Gilev.Vyacheslav 1917 30.10.18 06:50 Сейчас в теме
(0)
Пожалуй самое главное ограничение теста Гилева © - это то, что провести его мы может только постфактум - установив 1С сервер.

Если у вас нет сервера 1С, то извините, зачем то что и зачем вы собрались тестировать? Мой тест предназначен не для оцени железа, а для оценки 1С на этом железе. А если у вас нет "1С", то что тестируете?!
53. Gilev.Vyacheslav 1917 30.10.18 06:59 Сейчас в теме
(0)
То есть равные по скорости, но отличающиеся по количеству ядер процессоры дадут равные результаты.
Это рассуждения человека, который думает очень поверхностно и без опыта.
Если у Вас будет два процессора с одинаковой базовой частотой, и теоретически с одинаковой частотой заявленной в турбобусте, то на практике СВОЕ СЛОВО еще скажут c-states и p-states при наличии схемы энергоснабжения в режиме максимальной производительности. С очень высокой вероятностью при реальной работе частоты будут разными имя благодаря разному количеству ядер, которые окажут влияние на конечную частоту. Возможен сценарий настройки когда одно ядро на себя отбирает максимальную частоту, а другие ядра значительно медленнее, возможен сценарий настройки когда по ядрам раздается среднее арифметическое турбобуста и базовой.
В теории разницы между теорией и практикой нет. На практике это не так.
54. Gilev.Vyacheslav 1917 30.10.18 07:02 Сейчас в теме
(0)
Это то, что его вообще нужно проводить.
Вот тут я выпал в осадок. Да вы же тут же рядом свой тест проводите. Вам бы в передачу "Где логика" )
55. Gilev.Vyacheslav 1917 30.10.18 07:05 Сейчас в теме
(0)
Де-факто метод тестирования крупных провайдеров предоставляющих облачный хостинг

Можете посоветовать крупного облачного провайдера, чтобы я развернул типовую ERP на 1000 человек и она не тормозила в облаке?
88. alex_sh2008 5 02.11.18 13:18 Сейчас в теме
(55)Зачем облако в начале года развернули тестовую среду на вмваре, 1С и скл поставили на оптан, сам сервер на 2 голд процессорах 3.4Ггц, связь между серверами 10гб, провели тест, показания средние, в момент теста реальные процессоры просто спали, суммарная нагрузка не превышала 30%, в такой среде тестировали sql сервер отдельно обрабатывал в среднем 10-12тыс пакетов в секунду без специальных настроек, 1С же с трудом выдавала 4тыс, вывод сама по себе 1С платформа медленная, гнаться за производительность за счет железа не имеет ни какого смысла. В облаках 1С покажет себя точно так же как тестовой среде которую мы использовали.
starik-2005; +1 Ответить
89. capitan 2507 02.11.18 13:52 Сейчас в теме
(88) Можно поподробнее, ну или запятые что ли расставить ? )
90. alex_sh2008 5 02.11.18 14:05 Сейчас в теме
(89)Что конкретно по подробнее? Если честно тестировали не ради 1С а ради платформы визуализации, wmware или Windows 2016, выбрали wmvare, скорость дисковой подистемы по лучше, подключать внешние устройства можно, ну и функционал так больше.
91. Gilev.Vyacheslav 1917 02.11.18 14:49 Сейчас в теме
(88) а вы различаете нагрузочный тест, объемный тест и стресс-тест?
вы считаете что 1С хорошо работает когда процессоры загружены под 100%?
а измерять работу в пакетах зачем? как вы понимаете что пакеты одинаковые?
92. alex_sh2008 5 02.11.18 15:04 Сейчас в теме
(91)Меня не интересовали расчеты производительности 1С и специальных тестов не производил. Тест делался на реальной базе с запуском удаления объектов в 20 фоновых. Основное падение скорости было именно на сервере 1С, слишком долго выполнял скрипты на языке 1С, по сравнению да же с выполнением 1 запроса sql сервером. Я привел вам реальное тестирование, правда оно делалось для других целей.
94. capitan 2507 02.11.18 15:30 Сейчас в теме
(92) Вы прогнали тесты через 1С, а потом просто то же самое простым SQL запросом из профайлера взятым?
95. alex_sh2008 5 02.11.18 15:38 Сейчас в теме
(94)Можно и так сказать, но в укороченном виде, после удаленных 20млн записей, мне не хотелось так же возиться и удалять скл запросами 20млн, я взял кусок из профайдера. и выполнил его. По большей части все эти тесты производительности которые завязанные на sql сервере не дают можно сказать ни каких результатов, узкое звено это сам сервер 1С. Если к примеру произвести два параллельных тестирования одного кода на 1С и Java или c#, то это будет куда реальнее результат.
97. capitan 2507 02.11.18 16:05 Сейчас в теме
(95)Не очень понял насчет
одного кода на 1С и Java или c#

Но так то у нас трехзвенная архитектура. 1С сервер обеспечивает 1С клиенту уровень абстракции от сервера БД.
Понятно что он в этой цепочке самое медленное звено, он же должен то что с клиента пришло преобразовать в SQL запрос.
Другое дело, что это всегда константа упирающаяся в связку память/процессор.
Иными словами - вы померяли TPC-C SQL сервера на одной машине - она получилась 200000, а на второй 400000
И с сервером 1С первая будет в 2 раза медленнее, а не в 4 или в N
102. alex_sh2008 5 02.11.18 18:24 Сейчас в теме
(97)Это понять производительность каждой из виртуальных машин. Я считаю что падение в 2 и более раза идет за счет производительности виртуальной машины 1С, если такие же показатели дадут и другие виртуальные машины, то можно уже какие то оценки делать. 3хзвенная архитектура тут не причем клиента я не учитывал так как работает только сервер 1С.
105. Gilev.Vyacheslav 1917 02.11.18 18:53 Сейчас в теме
(102) виртуализация при динамическом распределении и квотировании ресурсов между виртуалками, или просто не удачными настройками может замедлять в разу работу 1С по сравнению с физическим сервером, видели такое на практике не раз
101. Gilev.Vyacheslav 1917 02.11.18 17:54 Сейчас в теме
(92) реальное тестирование это хорошо, но слишком не конкретно и не точно
я буду перепроводить в один поток платежки, это будет одно реальное тестирование, буду замерять расчет зарплаты тоже реальное тестирование, и даже если буду в 500 параллельных сессий вводить строить оборотки это все тоже будет реальное тестирование
все три варианты будут реальные, только нагрузку на разные компоненты давать разные
можно нагрузить проц сервера 1С, а можно нагрузить проц субд, а можно сеть положить большим объемом передаваемых данных от субд к 1С...
в зависимости от того как выполняется код отчета - СКД это тянутся избыточные данные с субд на сервер 1С или плоско в макет без всяких скд это только запрос на субд - вы получите разную нагрузку
тут гораздо важнее чтобы ваш тест был репрезентативным для вашей задачи, а она у вас не четко сформулирована
(92)
правда оно делалось для других целей

может вы начнете с самого начала?
103. alex_sh2008 5 02.11.18 18:37 Сейчас в теме
(101)Я не беру конфигурации там по напишут черт знает чего и вполне производительная система может опуститься ниже плинтуса. Брали просто базу с данными и использовался свой код для удаления, притом не использовались элементы в конфигурации для удаления, все удаление шло по отдельной записи. Удаление записи из базы самая тяжелая операция для сервера.

(101)
может вы начнете с самого начала?

Суть была проверить производительность транспорта и дисковой подсистемы при размещении на вмваре и сервера 1С и сервера скл. В общем в начале запустили скл прогнали его производительность в нативном режиме. Получили примерные данные, для сравнения брали сервер hp 128 ядер, 1гб памяти, производительность на вмваре по тестам, авторы указывали порядка 100тыс транзакций в секунду. В общем это было для нас эталоном. Дисковая подсистема и транспортный канал в общем не оказывали серьезной задержки. Потом уже подключили 1С и начали с ней тестировать, вот тут и выразилась погрешность, падение в 2 и даже более раза. Даже если учесть что в 1С выполнялся немного другой код, чем когда тестировали sql сервере в нативном режиме, такое падение это очень серьезное падение производительности, если к примеру будут данные по производительности других виртуальных машин, то можно уже будет оценку делать, пока я считаю что сервер 1С выполняет скрипты очень медленно.
104. Gilev.Vyacheslav 1917 02.11.18 18:50 Сейчас в теме
(103) возможно я тупой, но я так и не понял что вы тестировали
сервер 1С и сервер субд выполняют разные задачи/роли
сервер 1С является клиентом субд, он не запросы как субд выполняет, а работает с результатами запросов
соответственно операции выполняющиеся на сервере 1С самостоятельны и не копируют запросы/транзакции субд

допустим вы правы и ваша типовая реальная не тестовая деятельность пользователей это 20 потоков удаления документов
если я вас правильно понял, вы выполняли DELETE FROM <таблица> на субд, а потом дергали удаление средствами 1С
но если у вас в корне конфигурации стоит режим управления блокировками - управляемый, то это означает что контроль целостности данных происходит не на сервере субд (хотя блокировками там сохраняются), а на сервере 1С
тогда операции мимо сервера 1С в реальной деятельности нарушают целостность данных и хоть они и быстрее но не полноценны
т.е. штраф сервера 1С обоснован функциями, которые нужны, но на сервере субд не происходят
понятно ли о чем я?
106. alex_sh2008 5 02.11.18 19:03 Сейчас в теме
(104) Тестировалось все, и виртуальные машины, и дисковая подистема, и транспортный канал, ну для кучи 1С и скл сервер.
При работе использовался только сервер 1С и скл сервер, ни каких обходных операций на сервере 1С не делалось, только функциями 1С, уровень блокировок стоял не управляемый, по этому и удавалось запускать только 20 фоновых задание, больше уже конфликты блокировок шли очередями.
т.е. штраф сервера 1С обоснован функциями, которые нужны, но на сервере субд не происходят
понятно ли о чем я?

Да именно так, сервер 1С выполняет свои скрипты медленно, к примеру для скл сервера получить данные и вернуть серверу 1С гораздо больше времени надо, чем серверу 1С обработать эти данные, но получается наоборот, скл выдает данные по запросам быстрее чем, 1С обрабатывает их, использовался только последовательный перебор полученных данных и ничего сверх сложного.
108. capitan 2507 02.11.18 20:23 Сейчас в теме
(106) Да как раз все нормально вы получили в тестах.
Сервер 1С - это второе звено в трехзвенной архитектуре, он бОльшую задержку и должен вносить.
Он обрабатывает и бизнес-логику и транслирует в SQL
1С же не опирается на логику в БД
109. alex_sh2008 5 02.11.18 20:43 Сейчас в теме
(108)причем тут 2 звено, сервер в тесте выступал как 1 звено, не было никаких других звеньев, весь код выполнялся на нем, сервер не выполнял сложных вычислений, а просто обрабатывал выборки и и удалял их базы, и падение в 2 и более раза в производительности, это очень плохой показатель. К примеру как то просчитал примерные цифры, скл сервер вернул данные из 2000 строк за 0.12 сек где то, а сервер 1С прошел эту выборку где то за 1.2 может и больше сек, это нормально разве.
110. alex_sh2008 5 02.11.18 21:55 Сейчас в теме
(108)Вот к примеру сделал набросок на 2х платформах, на моем ноутбуке показал заполнение дерева в 1000000 узлов и возврат обратно с удалением: с# 00:00:01.0373604 и 1С 5 секунд
С#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace treePerformance
{
    public class TreeNode<T>
    {
        private readonly T _value;
        private readonly List<TreeNode<T>> _children = new List<TreeNode<T>>();

        public TreeNode(T value)
        {
            _value = value;
        }

        public TreeNode<T> this[int i]
        {
            get { return _children[i]; }
        }

        public TreeNode<T> Parent { get; private set; }

        public T Value { get { return _value; } }

        public TreeNode<T> AddChild(T value)
        {
            var node = new TreeNode<T>(value) { Parent = this };
            _children.Add(node);
            return node;
        }

        public TreeNode<T>[] AddChildren(params T[] values)
        {
            return values.Select(AddChild).ToArray();
        }

        public bool RemoveChild(TreeNode<T> node)
        {
            return _children.Remove(node);
        }

        public void Traverse(Action<T> action)
        {
            action(Value);
            foreach (var child in _children)
                child.Traverse(action);
        }

        public IEnumerable<T> Flatten()
        {
            return new[] { Value }.Concat(_children.SelectMany(x => x.Flatten()));
        }
    }

    class Program
    {

        static void Main(string[] args)
        {

            int level = 1000000;

            TreeNode<string> root = new TreeNode<string>("root");
            TreeNode<string> node = root;
            DateTime startDate = DateTime.Now;

            for (int i = 0; i < level; i++)
            {
                node = node.AddChild("child" + i); 
            }
            TreeNode<string> prev = node.Parent;
            while (prev != root)
            {
                prev.RemoveChild(node);
                node = prev;
                prev = prev.Parent;
            }
            TimeSpan leadTime = DateTime.Now - startDate;
            Console.WriteLine("Lead time: " + leadTime);
        }
    }
}

Показать

1C:
	Level = 1000000;
	Root = New Structure("Node, Parent");
	Node = Root;
	startDate = CurrentDate();
	For i = 0 To Level Do
		Node.Node = new Structure("Node, Parent",, Node);
Node = Node.Node;
		i = i + 1;
	EndDo;
	
	While  ValueIsFilled(Node) Do
		Node = Node.Parent;
	EndDo;
	
	leadTime = CurrentDate() - startDate;
	Message(leadTime); 
Показать
112. Gilev.Vyacheslav 1917 03.11.18 03:13 Сейчас в теме
(110) я напишу на ассемблере, будет еще быстрее
вы явно не догоняете
114. capitan 2507 03.11.18 08:54 Сейчас в теме
(110)Так бодро мы начинали, разговором про БД.
А сейчас все смешалось ... люди и кони....
Вы этим кодом меряете скорость языка, напишете на С++ будет еще быстее, чем на пошарпаном С, на ассемблере еще быстрее.
Но язык 1С совсем под другое заточен - под бизнес логику, а не скорость.
Возьмете фреймворк любого языка - он будет медленнее нативного кода.
С С# вообще некорректно сравнивать, там компилятор, а у 1С насколько я помню, компилятор в общих модулях, дальше интерпретатор, равняйте с VBA
Fox-trot; +1 Ответить
115. alex_sh2008 5 03.11.18 10:09 Сейчас в теме
(114)А чего обсуждать БД, есть куча программ нагрузочного тестирования серверов баз данных, которые дадут полную картину работы сервера, дальше уже зависит от клиентов.
С каких пор С# стал нативным это такой же фреймворк, если не нравиться могу на Java дать данные или это то же скажете нативный компилятор.
117. capitan 2507 03.11.18 18:38 Сейчас в теме
(115) Ну так это статья как раз про программу нагрузочного тестирования серверов баз данных )
Насчет С# я погорячился, пардоньте.
Но сути это не меняет, так вы в среду CLR загоняете программу уже в байт коде, а в 1С код у вас же не в общем модуле был т.е. сервер его еще и компилирует для начала?
Оставьте свое сообщение