Россиянин за границей пытается купить презервативы в аптеке.
Естественно - языковой барьер, не знает как объяснить. Видит - аптекарь мужик.
Достает свое хозяйство, кладет на прилавок и рядом 10$.
Аптекарь не долго думая, достает свое и со словами:- Не уверен - не играй! забирает все деньги.
Что вам даст прочтение этой статьи:
- Возможность общаться на одном языке с провайдерами всего мира, предоставляющими облачный хостинг серверов, при выборе места для сервера 1С.
- Новый подход к тестированию быстродействия существующего оборудования.
Скажу сразу и жирным шрифтом:
Я не против решения всего и вся на 1С, а перед теми кто их создает, вообще снимаю шляпу.
Но иногда робко спрашиваю - зачем ?
После того как об меня сломалось очередное копье, долгими осенними вечерами написал я эту статью.
По большому счету любой DBA, находящийся за пределами 1С, ничего нового в ней не откроет.
Теоретически, он может даже сказать: Все, расходимся, нас обманули. И спокойно продолжить слушать музыку у сервера (или музыку сервера, кому как угодно).
Но в сообществе 1С и неожиданно у некоторых облачных провайдеров, публикующихся на Хабре, обнаружилось непонимание темы.
Масла в огонь подлил журнал "Системный администратор" (!) №5 за 2017 г. с вопросом:
Сервер набрал примерно 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 2017, иначе она просто упадут с ошибкой.
-
Создаем базу на 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-2018-05-04 - это тест от Alibaba Cloud.