Тот же 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 за 2024 г. с вопросом:
Сервер набрал примерно 17 баллов, в то время как десктоп – более 40… Так что же, сервер 1С лучше разворачивать на бюджетном железе, купленном в ближайшем киоске?
Продолжу для них.
Зачем собственно пробовать что-то еще, если есть чудесный тест Гилева ©:
- Пожалуй самое главное ограничение теста Гилева © — это то, что провести его мы может только постфактум — установив 1С сервер.
Кофе в постель могу сам себе подать. Но придётся встать, одеться,приготовить, раздеться, лечь и выпить. Жванецкий ©
В добрые старые годы это не было большой проблемой — сервера были куском железа, а ключ 1С — USB.
Пользуясь расположением поставщика можно было все тесты провести до покупки.
Сейчас же сервера в облаке, а ключ программный (либо доплата за USB) и все не так просто. - Тест идет по методологии TPC-A (метода TPC-1C-GILV-A пока на сайте организации TPC не зарегистрировано)
И его второе ограничение, об этом сказано на сайте :
Тест оценивает количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок
То есть равные по скорости, но отличающиеся по количеству ядер процессоры дадут равные результаты.
Хотя даже интуитивно понятно, что c Intel© Core i7 база будет работать быстрее чем с i3, i5. - Это то, что его вообще нужно проводить. Правда, было бы неплохо, если бы сам поставщик предоставил результаты ?
А еще лучше выбрать нужные результаты и под них собрать оборудование, хоть бы и виртуальное.
Еще раз внимание!
Не против я этого теста, в конце концов можно мерить чем угодно, если это измерение дает повторяемость на различных конфигурациях софта/железа.
Переходим к теме:
Де-факто метод тестирования крупных провайдеров предоставляющих облачный хостинг (Alibaba Cloud к примеру или Google Cloud, на котором кстати, самое подробное описание работы) и удобная вещь в хозяйстве — HammerDB.
Методика тестирования не сложная, по сути напоминающая тот самый "Стандартный нагрузочный тест" из "Корпоративного инструментального пакета".
По классификации www.tpc.org тесты близкие к TPC-C или TPC-H, но не такие полные.
Описаний по использованию — предостаточно, в том числе русскоязычных.
Поэтому подробно расписывать ее не буду, опишу в общих чертах и больше про те грабли на которые наступил.
Самые большие — программа не работает с версиями MS SQL ниже 2008.
- Скачиваем программу с официального сайта www.hammerdb.com. Устанавливаем.(Можно взять поставку и в виде zip архива, ее достаточно распаковать)
- Для последних редакций может потребоваться установить распространяемый компонент Microsoft Visual C++ для Visual Studio 2024, иначе она просто упадут с ошибкой.
- Создаем базу на SQL сервере (не обязательно Microsoft), название произвольное. Размер желательно сразу указать большой, чтобы рост файла не влиял на результаты теста. На Хабре горячие головы указывают под 200 Гб, но это на мой взгляд перебор.
- Запускаем программу с клиентского компьютера. Выбираем тип сервера MS SQL и заполняем базу — Schema Build
Требуется указать параметры подключения к серверу.
Внимание! Программа будет строить строку подключения исходя из этих полей, поэтому совершенно не обязательно, что тип клиента в вашем случаем именно такой как указан по умолчанию.
Скорее нет.
Поэтому, если подключиться не удалось — нужно идти на сайт www.connectionstrings.com и там подбирать исходя из своих сервера и установленных клиентских компонент.
Количество складов и виртуальных пользователей лучше поставить как на рисунке, тогда база будет приемлемого размера. (тот же Alibaba Cloud тестирует на этих величинах)
- Нажимаем Build
и наблюдаем процесс заполнения базы данных
Если все виртуальные пользователи стартовали -все идет по плану, если нет — первым делом проверяем строку соединения.
Через некоторое время процесс завешается. Все флажки — зеленые. База готова к тесту.
- В ветке Driver Script повторяем параметры подключения и задаем "время разгона" теста и время его проведения
Опять же значения можно взять с рисунка.
Нажимаем Load и тестовый скрипт готов. - Задаем количество виртуальных пользователей и не забываем установить флажок Show output
- Открываем вкладку Transaction Counter чтобы видеть результаты теста
- Нажимаем Run и следим за результатами теста.
- Через некоторое время они стабилизируются
- Или нет. Это значит в настройках сервера имеются проблемы. Или вы от жадности запустили больше виртуальных пользователей, чем он может обработать.
- Тем кому не надоело смотреть картинки, могут продолжить. (Полный набор в хорошем разрешении в шапке публикации.)
Поделюсь некоторыми наблюдениями. - В тестах сравнивается Intel Core i5-6500 против i5-2500K. Почему для статьи выбраны они ?
Есть достаточно большой обзор от technical.city где видно как Core i5-6500 бьет Core i5-2500K. - Что получилось у меня:
Процессор/Тест
WinRar
7zip
HammerDB
Тест Гилева
i5-2500K
5180
14500
249500
35,71
Core i5-6500
5370
17800
395100
34,72
Все результаты на рисунках.
Подведение итогов
Самые правдоподобные результаты показали 7zip и HammerDB.
Обе программы портабельные и имея их с собой на флешке вы можете достаточно точно определить скорость "железа" у клиента.
Список использованной литературы и ссылки
- www.hammerdb.com
- Core i5-6500 против i5-2500K
- www.tpc.org
- Load Testing SQL Server Using HammerDB
- Alibaba Cloud Performance White Paper
- Нагрузочный тест TPC-1C
На сладкое
Первым пяти желающим, проведу аналогичные тесты бесплатно, при разрешении публикации их результатов.
У кого есть возможность провести параллельные тесты "Стандартным нагрузочным тестом" — прославлю в веках.
Планы на будущее
- Пополнить статью результатами тестов.
- Попробовать HammerDB тест как нагрузочный.
Желающие поддержать статью могут скачать rds-performance_whitepaper_mysql-intl-en-2024-05-04 — это тест от Alibaba Cloud.
Отлично, спасибо.
Только помешьше бы в тексте извинений с посылом «не убивай, Гилев»
Статья отличная, хоть и начата с несправедливого наброса для привлечения внимания. Ни один мой знакомый джавист (и сишники тоже) не имеют ни малейшего желания разбирать говнокод на php и возится с тем же битриксом. А вот 100% знакомых адинэсщиков отлично пишут скрипты (некоторые не только на башне и павере, но и на питоне).
(1) +100500! )
Просто на Хабре меня за такие высказывания пинали не снимая ботинок, поэтому подстраховался.
Всё это конечно хорошо, но при данном способе тестирования мы лишь сможем понять насколько хорошо будет работать сервер СУБД на конкретном «железе» либо виртуалке. Подобные тесты ни как не покажут влияния типа СУБД на производительность всей системы, не помогут оценить падение производительности при разнесении сервера 1С и сервера СУБД на разные физические / виртуальные сервера, не дадут оценить влияние настроек на производительность системы и т.д. Тесты же на 1С, например, тест Вячеслава или тест Антона (Fragster), всё это оценить позволяют, так-как отражают производительность всей системы «железо + сервер СУБД + сервер 1С».
Большая часть краткого описания не относится к теме публикации. Отсылки автора к замеру половых органов, в контексте темы и ресурса, отвратительны.
(5)
Про
не понял — ставьте и меряйте хоть MySQL & Redis
в режиме работы 1 пользователя
Антон (Fragster) у него тест хотя и многопоточный, но не на реальных документах.
При ваших пожеланиях — надо брать «Стандартный нагрузочный тест», не вижу другой альтернативы
(8) А я не про заголовок, а про громкий спич в анонсе, где было бы достаточно ограничиться последним предложением.
Последняя картинка, вероятно, то же что-то в себе полезное несет. На мой взгляд, ваш юмор ниже пояса. Чего бы мне не хотелось видеть на ИС.
(7)
А что тут непонятного то?! Как тест работы СУБД на конкретном железе / виртуалке покажет с какой СУБД 1С-ка будет работать быстрее? Как на основании результатов тестирования, подобных описанному, решить что лучше, DB2, Postgree или MS SQL… и как лучше организовать размещение серверов СУБД.
(7)
Бывает. А альтернатива есть, в виде теста Вячеслава, теста Антона, или своего какого-нибудь, позволяющих в общих чертах оценить производительность именно системы в целом.
П.С.: И это не мои «пожелания», это объективная реальность. Нет смысла мерять гипотетическую скорость работы СУБД на конкретной железке, кроме тех случаев, когда уже известно, что «узкое место» именно СУБД. Описанный подход с успехом можно заменить запуском теста 7-зип да кристал диск марк…
Возможно стиль и изложение статьи и оставляют некоторые вопросы, но для расширения «горизонта» отличная статья, спасибо за информацию. Сейчас как раз вопрос по железу становиться актуальным.. чего-то буха жрать стала у клиентов как не в себя ((
(12) В нашей жизни иногда только юмор и спасает.
И запоминается лучше.
А кто захочет — тот и в пятне Рошаха призыв к экстремизму найдет.
В следующий раз попробую написать сухим языком плаката )
(10) Так этот тест — он как раз больше DB поддерживает
(11) Мне кажется вы не правы, и вот почему:
1. У этого теста плюс в том, что можно запустить без лицензии 1С (ломалки не берем в расчет)
2. Этот тест позволяет сравнить производительность самой субд, в том числе и ее тюнинга (что может быть удобней, чем мерить связку СУБД+1С Сервер, тестами Вячеслава и Антона)
3. При выборе железа, на мой взгляд, этот тест будет коррелировать, может и не на 100%, но все-равно, с вышеупомянутыми тестами.
4. Надо понимать что тесты на основе 1С, тоже показывают «размер сферического коня в вакууме», т.к. модель работы пользователей может отличаться от модели работы используемой в тестах (тем более однопоточный тест Вячеслава, т.к. все-такие такие задачи на однопользовательских компах — это скорее изврат).
Поэтому я считаю, что данный тест, скорее не замена, а некое дополнение, позволяющее произвести декомпозицию производительности 1С (т.е. сравнить при разных настройках отдельно производителность СУБД) к тестам написанным на 1С.
Ну и считаю что такие статьи нужны, как минимум для дисскуссий разворачивающихся в коментах ))
(13)Это, в общем-то, был не камень в ваш огород, я считаю, что суть статьи, важнее стиля изложения )
(11) в 90% процентах случаев «узкое место» именно СУБД и подходы к ней.
И если видели — заголовок статьи —
(11)
— согласен — так и написал
Но если будете искать облачный хостинг — то обычно приличные провайдеры как раз HammerDB результаты покажут
(15)Золотые слова )
(16) ОффТоп. У меня просто флотская юность, а матрос — если он не матерится, то значит уже вежливо разговаривает )
Были конечно времена, когда заглядывание под корсет считалось признанием в любви, а барышни при слове жоп@ падали в обморок.
(11)Если быть до конца последовательным — все тесты будут гипотетические — тогда надо и конфигурацию 1С при тесте учитывать.
И время года)
У бухгалтерии например — ярко выраженная сезонность.
(14)
Да не о том я. С какой из возможных СУБД 1С-ка будет работать оптимальней подобный тест не покажет. Сто раз уже, в разных темах, по этому вопросу дискутировали. Мы же с Вами, года два-три назад, эту тему ещё и относительно конкретных релизов платформ разбирали.
А так — да, вполне себе методика, для ряда задач, которая учит «неофитов от 1С» и с других систем не бояться.
(21) Тогда мир )
Я, возможно, протормозил, но каким боком в результаты тестирования воткнулись 7zip и WinRar?
Какова была методика замеров по ним? И насколько может быть адекватно сравнение этих результатов с однопоточным тестом СУБД?
(15)
1. У всего есть своя цена. Наиболее точную оценку может дать, например, тест-центр от 1С, и он тоже стоит денег.
2. Как бы не был производителен сервер СУБД, в отрыве от настроек сервера 1С эти данные, в большинстве случаев, бесполезны. Например, сервер 1С на другом физическом сервере и взаимодействие идёт по TCP, со всеми вытекающими. Другой пример — сервер СУБД «съел» все доступные ресурсы физического сервера из-за кривой настройки сервера.
3. При первоначальном выборе железа да, пойдёт, как и любые другие. Ещё хорошо пойдёт для «тонкой» настройки СУБД, о чём я упоминал выше.
4. 1С это OLTP-система, поэтому однопоточный тест Вячеслава очень неплохо показывает, насколько пользователям будет комфортно работать с 1С на конкретном сервере, а тест Антона сколько пользователей сможет комфортно работать.
Статьи нужны, не спорю, но статья Андрея оставляет основные моменты «за кадром», потому и появился уточняющий применение комментарий.
(23)
Ну типа ими тоже можно мерить 😀
(24)1. Наиболее точную оценку может дать только APDEX встроенный в базу, но тогда будет уже поздно.
2. При отсутствии очевидной кривизны в настройках все же скорость работы упирается именно в сервер СУБД.
Так то можно электропитание выставить в экономия энергии и каюк)
3. Ничего не имею против — только читали вступление — в samag.ru человек пытается натянуть
сову на глобуспроизводительность сервера на производительность десктопа по тесту Гилева. Что это дает ?(25) Ну, если никаких корреляций с тестом СУБД не пытаться проводить, тогда ок. Просто если сравнивать строго однопоточную нагрузку, то было бы интереснее, ИМХО.
(23)(23) 7zip -меряет процессор и память в связке — и по нему тоже есть большая база статистики + CrystalDiskMark = самая грубая оценка сервера
Простой пример —
вы в магазине серверов, у вас в организации два сервера и админы божатся, что они одинаковые по скорости, а бухи, что разные.Вы же не будете КИП покупать сразу ?
Там интереснее другое — что WinRar не заметил разницы, а 7zip — увидел.
Не зря все им меряются
(27)
вот тут не понял
Что по вашему влияет в основном на скорость СУБД (процессор, память, диск, сеть, настройки)?
Аналогично — для всей связки (СУБД, сервер 1С, сеть, настройки)
Кстати вот интересная была бы тема — померять, жалко железячники здесь не водятся.
(29) Я к тому, что «лобовой» тест архиваторов обычно грузит все ядра (или типа того). А с тестом СУБД мне тут не до конца понятно, насколько сопоставимо будет. Поэтому мне кажется, что адекватнее сравнивать строго однопоточную нагрузку (если как-то ограничить использование ядер архиватором — как минимум, вроде есть сторонние утилиты, позволяющие это делать).
(26)
1. APDEX — это APDEX, с его помощью мы фиксируем текущую производительность, а для нагрузочного тестирования он не совсем подходит.
2. Не, не то, тогда всё будет тормозить. Я же привёл пару примеров, когда тест на СУБД будет показывать, что всё восхитительно, а по факту система еле шевелится.
3. Как что?! Дефицит сов.
(31)Ну вот, значит если я хоть пару сов спасу — значит есть толк от этой статьи )
А давайте такой же вопрос как и уважаемому herfis
Что по вашему влияет в основном на скорость СУБД (процессор, память, диск, сеть, настройки)?
Аналогично — для всей связки (СУБД, сервер 1С, сеть, настройки)
При всех прямых настройках разумеется.
(30)в 7zip как раз можно выставить число ядер для теста, но все равно не очень понятно почему однопоточную ?
Есть предложение.
У кого есть 2 мин выскажите свое мнение
Опрос то уже наверное не прикрутить к публикауции (
Что по вашему влияет в основном на скорость СУБД (процессор, память, диск, сеть, настройки)?
Аналогично — для всей связки (СУБД, сервер 1С, сеть, настройки)
При всех прямых настройках разумеется.
Это тест сервера SQL, но ни как не Сервер 1С + SQL — а
(35)Офигеть. Если бы мне в (6) не запретили, я бы сказал: Вот это
пиписьк@— 78 попугаев и еще одно попугайское крылышко )Как раз это тест всей платформы целиком
Тут меня еще админ сильно пинает и кричит что я чипсет забыл упомянуть.
Пусть будет (процессор, память, диск, чипсет, сеть, настройки)
Он бы еще флоповод вспомнил )
При этом есть потенциал еще поднять +5-7 попугаев в данном тесте на данном сервере ;), если уж пошло измерение 🙂
Так что практически вплотную приблизились к эталонному тесту:http://www.gilev.info/2017/12/blog-post.html
При этом процессоры предыдущего поколения используются.
(34) На скорость по максимуму влияет частота процессора, частота памяти (объем вторичен)
(39)Интересно будет на i9 померять. Опять десктоп сервер уест )
(41) интересно посмотреть на EPYC, i9 — фактически ничего нового
Десктоп всегда уест сервер, т.к. для сервера важнее надежность в угоду скорости
(42)
Мне бы было страшновато в продакт собирать на AMD, воспоминания не очень.
(24)Полностью поддерживаю, в особенности учитывая последнюю тенденцию ставить на один сервер и 1С и SQL (или любую СУБД). Если ваша задача проверить, как автомобиль ездит по бездорожью, то логично взять автомобиль и вывезти его за город на бездорожье.Нет особого смысла в помещении завозить песок и наливать сверху воду.
Есть два больших подтипа тестов: синтетические (воспроизводящие нагрузку от конкретных приложений) и алгоритмические (выполняющие определенный алгоритм, который сильно грузит какие-то подсистемы компьютера). Тест-центр или тест Гилева — синтетические тесты, основная задача которых сравнить, насколько хорошо данная система подходит для работы 1С+СУБД. Насколько я понял, то что предложил автор статьи, больше похоже на алгоритмический тест, навроде IOMeter, который тестирует СУБД.
(44) Вы просто начали читать с комментариев видимо.
Оба теста из серии TPC: TPC-А и TPC-C
(24)
(24)
1. Тут вопрос не о цене, а о том, что этот инструмент позволяет сравнить производительность одной и той же СУБД с разными настройками, что на мой взгляд большой плюс, т.к. если вы пишите обработку с 5 методами, возможность отладки одного из них — это плюс, хотя конечно всем понятно, что конечный результат зависит от результата и оптимизации каждого из этих методов.
2. Согласен, что есть факторы которые на прекрасной настроенной СУБД убьют производительность в продакшине, но вот то что вы на плохо настроеной СУБД сможете добиться хороших результатов — это вряд ли
3. Считаю, критикуя — предлагай, я не знаю «любых других тестов» для сравнения железа для СУБД
4. Вот это крайне вряд ли, однопоточный тест может показать прекрасный результат на железе, на котором при наличии второго пользователя появляется «бутылочное горлышко», поэтому однопоточный тест, скорее подходит для сравнения разных типов железа, но не для тюнинга ни сервера, ни скуля
На мой взгляд заголовок статьи — соответствует содержанию, там нигде не указано «Методика полной оценки производительности 1С», а так и сказано, что метод для оценки железа под СУБД.
Итого, судя по вашим комментариям, вы считаете что этот тест в принципе бессмысленен и не применим, я считаю по другому, он полезен и имеет право применяться на практике.
(45)Ну это было бы откровенным неуважением к автору, который проделал большую работу. Тем не менее, личный опыт подсказывает, сравнение оборудования TPC тестами дает общее понимание, в то время как типовые нагрузочные тесты с использованием платформы дают уже окончательный вердикт. И отдельно я бы их никогда не рискнул использовать, т.к. есть куча особенностей, которые не всегда сразу можно увидеть. Ближайший аналог, оптимизация драйверов у видеокарт: вроде как FurMark дает высокий балл, а игра — тормозит.
(47) То есть мы все же договорились что эти все тесты одного класса, а не синтетические и алгоритмические.
А про то что нужен тест с использованием платформы спора нет — вопрос сможете ли вы его конкретно сформулировать и исполнить.
Даже «Стандартный нагрузочный тест» лучше которого ничего не придумаешь, в методике оговаривается — померяйте для начала типовые процессы своих пользователей чтобы интерпретировать наши результаты.
(32) Очень такой скользкий вопрос. Мало того, что ответ будет для каждого конкретного случая свой, так ещё и размером со среднюю статью, если давать нормальный аргументированный ответ.
В целом, для большинства случаев, наибольшее влияние на производительность сервера СУБД оказывают процессор и дисковая подсистема. Но, без нормальных настроек, да ещё и в кривой сети даже нормальные сервера живут плохо.
Память, чипсет и т.п. составляющие, на современных системах, оказывает минимальное влияние на производительность и сильно пристально смотреть на них стоит только в тех случаях, когда из железки нужно выжать максимум.
(48)
Не могу утверждать, не специалист в этой области.
(48)
Да. В качестве 1го приближения — 1С нагрузочное тестирование или Гилевский тест. В качестве точной оценки — тестирование с тест центом по сценариям имитирующими бизнес-процессы конкретной компании. Обычно подобная работа стоит 300-900 тыр
Зачастую разные версии платформы могут иметь «особенности», поэтому сервер под 1С и тестируют с использованием платформы.
(50)
Откуда такая инфа?
Честно говоря до сегодняшнего дня не доводилось слышать, что это 1 приближение
Более того руководство по КИП не рекомендует использовать сценарное тестирование в качестве нагрузочного.
А тестируют с использованием платформы потому что это как правило замысловатый кластер 1С с не менее замысловатым хранилищем.
Тестировать его по частям нет смысла.
Это если работа стоит 300-900 тыр
(0)
Если у вас нет сервера 1С, то извините, зачем то что и зачем вы собрались тестировать? Мой тест предназначен не для оцени железа, а для оценки 1С на этом железе. А если у вас нет «1С», то что тестируете?!
(0)
Это рассуждения человека, который думает очень поверхностно и без опыта.
Если у Вас будет два процессора с одинаковой базовой частотой, и теоретически с одинаковой частотой заявленной в турбобусте, то на практике СВОЕ СЛОВО еще скажут c-states и p-states при наличии схемы энергоснабжения в режиме максимальной производительности. С очень высокой вероятностью при реальной работе частоты будут разными имя благодаря разному количеству ядер, которые окажут влияние на конечную частоту. Возможен сценарий настройки когда одно ядро на себя отбирает максимальную частоту, а другие ядра значительно медленнее, возможен сценарий настройки когда по ядрам раздается среднее арифметическое турбобуста и базовой.
В теории разницы между теорией и практикой нет. На практике это не так.
(0)
Вот тут я выпал в осадок. Да вы же тут же рядом свой тест проводите. Вам бы в передачу «Где логика» )
(0)
Можете посоветовать крупного облачного провайдера, чтобы я развернул типовую ERP на 1000 человек и она не тормозила в облаке?
(42) а вот и нет, некоторые голды шустрее
(38) учтите что разные версии платформы дают разные баллы
(5) если люди с однопоточным тестом не могут разобраться то мы свой многопоточный тест умышленно не выкладываем
(7) если человек водить машину не умеет, то все равно какая марка автомобиля
(14) а версии платформы 1С он разные может сравнить?
(26) советую открыть для себя настройки биос
https://infostart.ru/public/147259/
ну и эту статью почитайте
(32) влияет все
(51) вы путаете нагрузочное и сценарное тестирование
(20) ну по вашей логике надо учитывать код, который будет дописан в конфигурацию через полгода в будущем
(34) у меня тоже есть предложение
приходите к нам на курсы подучитесь
(35) тест в файловом варианте делать не стоит
тест надо делать в том варианте, в котором будет система эксплуатироваться
(51)Инфа из личного опыта. Если перед вами стоит задача не абстрактно измерить оборудование в попугаях, а конкретно выдержит ли ваш сервер такое-то количество пользователей под такой то конфигурацией 1С, как вы будете выкручиваться?
Обычно реализуют параллельную работу по двум направлениям.
Первая, получить предварительные данные в условных попугаях и сравнить эти попугаи с попугаями серверов на которых нормально работает похожее решение. По результатам можно сделать предположение о том, взлетит или нет, с определенной долей вероятности. Чем больше различий между приложениями, серверами и характером нагрузки, тем вероятность достоверности результата предсказания будет ниже. Если вы однозначно с большим запасом получаете результат, что не взлетит, то второй этап можно не делать.
Вторая, составляем сценарий предполагаемой нагрузки и имитируем ее в нужной базе 1С. Смотрим показатели оборудования и выясняем — тянет оно или нет. Проблема в том, что составление сценариев тестирования задача нетривиальная, долгая и дорогая. Более того, не так много спецов смогут составить эти сценарии так, чтобы они максимально повторяли работу ваших пользователей. Как правило, такие спецы есть либо в специализированных конторах по оптимизации (которые знают где взять таких спецов), либо в очень крупных франчах, которые делают большие внедрения (Рарус, КСУ и т.п.)
ИМХО, разумеется.
(67) Мне кажется вы путаете мечты и реальность.
Сценарий предполагаемой нагрузки вам точным никогда не сделать, я писал уже об этом выше.
Потому что если вы даже посчитаете, сколько у вас в базе операторов, сколько бухгалтеров и т.п. то вы никогда не сможете точно проставить какую они создадут пиковую нагрузку — пример пришли с обеда и взялись бить отгрузки.
В методичках к КИП есть описание как моделировать это Стандартным нагрузочным тестом.
Про какие то реально работающие унифицированные решения со сценариями имитирующую нагрузку в типовой конфигурации я не слышал.
Если поделитесь ссылкой — с интересом посмотрю.
А просто сэмулировать проведение 10000 накладных и запись 100000 справочников в БП — такая обработка и у меня есть, смотрите профиль )
(68)
Сценарий предполагаемой нагрузки вам точным никогда не сделать, я писал уже об этом выше.
Не путаю, просто мне, как работнику нельзя отделаться общими фразами о том, что у нас же сервер набрал 52 попугая, а старый только 40, должно работать быстрее, не должно быть лагов. Нужно искать компромисс, как потратить не сильно много денег и получить какой-то релевантный результат, потому что потом за него нужно отвечать.
(68)
Пиковая нагрузка ограничена во времени всегда и вопрос о ее решении можно отсрочить, как минимум, административными способами и решить позже. Если система не тянет нагрузку в принципе, то решение быстро найти уже не получиться. Простой пример, у вас 8.3, без совместимости, т.е. база версионник, вы строите кучу отчетов, в которых используются временные таблицы. Опасным местом становится временная база tempdb. Система у вас работает, нагрузка нормальная. Но увеличилось число пользователей, выросла нагрузка и отчетов стало больше, частота использования и очереди к временной базе выросли и система встала, причем вся, т.к. версионник без временной базы не работает. Это и называется особенностью вашей системы, потому что в другой все может быть по другому и нагрузочный тест это не покажет, он покажет типичные задачи — проведение документов, расчет итогов, построение отчетов.
Теперь о нагрузочном тесте, прямая цитата с сайта 1С:
Иными словами, это измерение системы в баллах, которые дадут общее представление о том, насколько хорошо сервер подойдет для среднестатистической конфигурации 1С, не вашей конкретно, а некой абстрактной, выполняющей среднестатистические абстрактные задачи. Он безусловно лучше теста, который тестирует только СУБД, диск, память или проц, но на конкретный вопрос о именно вашей конфигурации он ответа не даст, то есть даст, но с некоторой степенью вероятности, отличной от 100%.
(72) Так я же не против — вы приведите ссылку где такой тест делают и как и вместе посмотрим.
А так у нас пустословие пока идет.
Что касается нагрузочного теста- там в комплекте идет методичка и в ней уже написано как отражать общий нагрузочный тест конкретно на свою конфигурацию. С формулами и достаточно понятно. Попросите у знакомых франчайзи они дадут почитать.
(73)Пример счета на подобные работы, названия продуктов там есть
(79)Все. Теперь понял о чем речь.
Просто мы с чего начали рубиться со слов
а из принтскрина как раз видно — нагрузочные тесты не типовые — за них люди взяли 400К
(55)
https://tinkertry.com/amd-ryzen-works-with-vmware-esxi-65-at-a-cost-of-30-percent-performance-not-a-compelling-xeon-d-alternative
https://kb.vmware.com/s/article/1016809
(86)
Ну только мы помирились )
Давайте так
или так
(55)Зачем облако в начале года развернули тестовую среду на вмваре, 1С и скл поставили на оптан, сам сервер на 2 голд процессорах 3.4Ггц, связь между серверами 10гб, провели тест, показания средние, в момент теста реальные процессоры просто спали, суммарная нагрузка не превышала 30%, в такой среде тестировали sql сервер отдельно обрабатывал в среднем 10-12тыс пакетов в секунду без специальных настроек, 1С же с трудом выдавала 4тыс, вывод сама по себе 1С платформа медленная, гнаться за производительность за счет железа не имеет ни какого смысла. В облаках 1С покажет себя точно так же как тестовой среде которую мы использовали.
(88) Можно поподробнее, ну или запятые что ли расставить ? )
(89)Что конкретно по подробнее? Если честно тестировали не ради 1С а ради платформы визуализации, wmware или Windows 2016, выбрали wmvare, скорость дисковой подистемы по лучше, подключать внешние устройства можно, ну и функционал так больше.
(88) а вы различаете нагрузочный тест, объемный тест и стресс-тест?
вы считаете что 1С хорошо работает когда процессоры загружены под 100%?
а измерять работу в пакетах зачем? как вы понимаете что пакеты одинаковые?
(91)Меня не интересовали расчеты производительности 1С и специальных тестов не производил. Тест делался на реальной базе с запуском удаления объектов в 20 фоновых. Основное падение скорости было именно на сервере 1С, слишком долго выполнял скрипты на языке 1С, по сравнению да же с выполнением 1 запроса sql сервером. Я привел вам реальное тестирование, правда оно делалось для других целей.
(15) (11) по своему прав.
а
надо вынести было в начало реплики и и выделить
а это вообще убрать:
т.к. если оборудование не арендованное то наличие не 1с лицензий никто не отменял
(92) Вы прогнали тесты через 1С, а потом просто то же самое простым SQL запросом из профайлера взятым?
(94)Можно и так сказать, но в укороченном виде, после удаленных 20млн записей, мне не хотелось так же возиться и удалять скл запросами 20млн, я взял кусок из профайдера. и выполнил его. По большей части все эти тесты производительности которые завязанные на sql сервере не дают можно сказать ни каких результатов, узкое звено это сам сервер 1С. Если к примеру произвести два параллельных тестирования одного кода на 1С и Java или c#, то это будет куда реальнее результат.
(65)
— ага он пойдет 🙂
статья на 90% readmefirst скриншоты , остальное самореклама
(95)Не очень понял насчет
Но так то у нас трехзвенная архитектура. 1С сервер обеспечивает 1С клиенту уровень абстракции от сервера БД.
Понятно что он в этой цепочке самое медленное звено, он же должен то что с клиента пришло преобразовать в SQL запрос.
Другое дело, что это всегда константа упирающаяся в связку память/процессор.
Иными словами — вы померяли TPC-C SQL сервера на одной машине — она получилась 200000, а на второй 400000
И с сервером 1С первая будет в 2 раза медленнее, а не в 4 или в N
(96)Вы то я вижу прямо с курсов .
Не вижу только ваших статей.
Занимаетесь самоутверждением в комментариях ?
(65)Тех курсов у которых АПДЕКС по русски написано ?
У 1С 5 дневный курс от двух лучших экспертов (входящих в пятерку) по проектам ЦКТП по стоит 16500
У вас 3 дневный в два раза дороже, ну конечно вы же круче конечно. Да.
Не узнал только вас в гриме, вы там на каком месте будете ?
(99)
Я правильно понял, что качество материала, который вы в глаза не видели, оцениваете по слову АПДЕКС?
это Вас колбасит
вы хотя бы в курсе, что уметь делать и уметь обучать не одно и тоже? хороший программист не обязательно хороший преподаватель
ну и наконец, наш преподаватель — Бурмистров Андрей — работал в подразделение ЦКТП в 1С, то что вы его не знаете или он не входит в некие рейтинги не говорит о его профессиональных навыках, пока не придете на курсы лично, вам несколько рано делать выводы
3х дневный курс дороже чем что? у фирмы 1С просто нет аналогичного курса, вы с чем сравниваете?
вот вам подтверждение от сторонних людей
(92) реальное тестирование это хорошо, но слишком не конкретно и не точно
я буду перепроводить в один поток платежки, это будет одно реальное тестирование, буду замерять расчет зарплаты тоже реальное тестирование, и даже если буду в 500 параллельных сессий вводить строить оборотки это все тоже будет реальное тестирование
все три варианты будут реальные, только нагрузку на разные компоненты давать разные
можно нагрузить проц сервера 1С, а можно нагрузить проц субд, а можно сеть положить большим объемом передаваемых данных от субд к 1С…
в зависимости от того как выполняется код отчета — СКД это тянутся избыточные данные с субд на сервер 1С или плоско в макет без всяких скд это только запрос на субд — вы получите разную нагрузку
тут гораздо важнее чтобы ваш тест был репрезентативным для вашей задачи, а она у вас не четко сформулирована
(92)
может вы начнете с самого начала?
(97)Это понять производительность каждой из виртуальных машин. Я считаю что падение в 2 и более раза идет за счет производительности виртуальной машины 1С, если такие же показатели дадут и другие виртуальные машины, то можно уже какие то оценки делать. 3хзвенная архитектура тут не причем клиента я не учитывал так как работает только сервер 1С.
(101)Я не беру конфигурации там по напишут черт знает чего и вполне производительная система может опуститься ниже плинтуса. Брали просто базу с данными и использовался свой код для удаления, притом не использовались элементы в конфигурации для удаления, все удаление шло по отдельной записи. Удаление записи из базы самая тяжелая операция для сервера.
(101)
Суть была проверить производительность транспорта и дисковой подсистемы при размещении на вмваре и сервера 1С и сервера скл. В общем в начале запустили скл прогнали его производительность в нативном режиме. Получили примерные данные, для сравнения брали сервер hp 128 ядер, 1гб памяти, производительность на вмваре по тестам, авторы указывали порядка 100тыс транзакций в секунду. В общем это было для нас эталоном. Дисковая подсистема и транспортный канал в общем не оказывали серьезной задержки. Потом уже подключили 1С и начали с ней тестировать, вот тут и выразилась погрешность, падение в 2 и даже более раза. Даже если учесть что в 1С выполнялся немного другой код, чем когда тестировали sql сервере в нативном режиме, такое падение это очень серьезное падение производительности, если к примеру будут данные по производительности других виртуальных машин, то можно уже будет оценку делать, пока я считаю что сервер 1С выполняет скрипты очень медленно.
(103) возможно я тупой, но я так и не понял что вы тестировали
сервер 1С и сервер субд выполняют разные задачи/роли
сервер 1С является клиентом субд, он не запросы как субд выполняет, а работает с результатами запросов
соответственно операции выполняющиеся на сервере 1С самостоятельны и не копируют запросы/транзакции субд
допустим вы правы и ваша типовая реальная не тестовая деятельность пользователей это 20 потоков удаления документов
если я вас правильно понял, вы выполняли DELETE FROM <таблица> на субд, а потом дергали удаление средствами 1С
но если у вас в корне конфигурации стоит режим управления блокировками — управляемый, то это означает что контроль целостности данных происходит не на сервере субд (хотя блокировками там сохраняются), а на сервере 1С
тогда операции мимо сервера 1С в реальной деятельности нарушают целостность данных и хоть они и быстрее но не полноценны
т.е. штраф сервера 1С обоснован функциями, которые нужны, но на сервере субд не происходят
понятно ли о чем я?
(102) виртуализация при динамическом распределении и квотировании ресурсов между виртуалками, или просто не удачными настройками может замедлять в разу работу 1С по сравнению с физическим сервером, видели такое на практике не раз
(104) Тестировалось все, и виртуальные машины, и дисковая подистема, и транспортный канал, ну для кучи 1С и скл сервер.
При работе использовался только сервер 1С и скл сервер, ни каких обходных операций на сервере 1С не делалось, только функциями 1С, уровень блокировок стоял не управляемый, по этому и удавалось запускать только 20 фоновых задание, больше уже конфликты блокировок шли очередями.
понятно ли о чем я?
Да именно так, сервер 1С выполняет свои скрипты медленно, к примеру для скл сервера получить данные и вернуть серверу 1С гораздо больше времени надо, чем серверу 1С обработать эти данные, но получается наоборот, скл выдает данные по запросам быстрее чем, 1С обрабатывает их, использовался только последовательный перебор полученных данных и ничего сверх сложного.
(106) Да как раз все нормально вы получили в тестах.
Сервер 1С — это второе звено в трехзвенной архитектуре, он бОльшую задержку и должен вносить.
Он обрабатывает и бизнес-логику и транслирует в SQL
1С же не опирается на логику в БД
(108)причем тут 2 звено, сервер в тесте выступал как 1 звено, не было никаких других звеньев, весь код выполнялся на нем, сервер не выполнял сложных вычислений, а просто обрабатывал выборки и и удалял их базы, и падение в 2 и более раза в производительности, это очень плохой показатель. К примеру как то просчитал примерные цифры, скл сервер вернул данные из 2000 строк за 0.12 сек где то, а сервер 1С прошел эту выборку где то за 1.2 может и больше сек, это нормально разве.
(108)Вот к примеру сделал набросок на 2х платформах, на моем ноутбуке показал заполнение дерева в 1000000 узлов и возврат обратно с удалением: с# 00:00:01.0373604 и 1С 5 секунд
С#:
Показать
1C:
Показать
(110) я напишу на ассемблере, будет еще быстрее
вы явно не догоняете
(110)Так бодро мы начинали, разговором про БД.
А сейчас все смешалось … люди и кони….
Вы этим кодом меряете скорость языка, напишете на С++ будет еще быстее, чем на пошарпаном С, на ассемблере еще быстрее.
Но язык 1С совсем под другое заточен — под бизнес логику, а не скорость.
Возьмете фреймворк любого языка — он будет медленнее нативного кода.
С С# вообще некорректно сравнивать, там компилятор, а у 1С насколько я помню, компилятор в общих модулях, дальше интерпретатор, равняйте с VBA
(114)А чего обсуждать БД, есть куча программ нагрузочного тестирования серверов баз данных, которые дадут полную картину работы сервера, дальше уже зависит от клиентов.
С каких пор С# стал нативным это такой же фреймворк, если не нравиться могу на Java дать данные или это то же скажете нативный компилятор.
(115) Ну так это статья как раз про программу нагрузочного тестирования серверов баз данных )
Насчет С# я погорячился, пардоньте.
Но сути это не меняет, так вы в среду CLR загоняете программу уже в байт коде, а в 1С код у вас же не в общем модуле был т.е. сервер его еще и компилирует для начала?