Русский
Русский
English
Статистика
Реклама

Тестирование производительности

Семь дней и один сервер как мы тестировали машины на базе AMD

26.11.2020 10:08:34 | Автор: admin

У нас был один сервер на базе нового процессора AMD, куча тестов, которые мы хотели прогнать, и неделя, чтобы проверить работу машины под реальной нагрузкой. Не то чтобы это был достаточный срок для близкого знакомства со свежей железкой, но когда постоянно тестируешь новинки и кастомизируешь сервисы, сложно остановиться.

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

Представляем испытуемых

Мы давно ждали возможности взять на тесты сервер с последним поколением процессоров AMD. Совсем недавно такая возможность нам представилась. Встречайте: Dell EMC PowerEdge R6515 на базе процессора AMD EPYC 7742.

Ключевые характеристики CPU:

  • 64 ядра;

  • 128 потоков;

  • базовая частота 2.25GHz;

  • максимальная частота на ядро (boost) до 3.4GHz;

  • L1 cache 4MiB;

  • L2 cache 32MiB;

  • L3 cache 256MiB.

Согласитесь, выглядит многообещающе. Недавно мы уже брали на тест серверы с процессорами от AMD прошлого поколения. Результат, увы, не впечатлил приблизительно на уровне Intel пятилетней давности.

А потом в интернете стали появляться восторженные статьи о новых CPU. Это разожгло в нас скепсис разговоров много, а объективных тестовых показателей ни у кого нет. Все писали, что стало больше производительности, сократилось энергопотребление. Что серверы Dell EMC PowerEdge на базе процессором AMD подойдут для работы с требовательными ресурсоемкими приложениями и облачными сервисами (они используют чипы AMD EPYC, имеющие от 8 до 64 ядер и поддерживают высокоскоростной интерфейс PCIe 4.0). Поэтому мы решили любой ценой заполучить свежие процессоры и прогнать на них хотя бы основной набор тестов. Поскольку мы занимаемся виртуализацией грубо говоря, отдаем заказчикам ядра нам было интересно, как CPU поведет себя под нагрузкой.

Сравнивать этот сервер мы будем с нашей текущей рабочей лошадкой Dell Poweredge R740 с двумя Intel Xeon Gold 6254 на борту. Мы активно используем эти серверы уже около года. Процессоры там отличные и подходят под любые задачи. Кроме, разве что, 1С. Здесь нужны более высокочастотные CPU. Для 1C используем Intel Xeon Gold 6244. Тут писали, как проводили на них тесты Гилёва.

Пул тестовых задач

Наша стандартная процедура тестирования проходит на двух уровнях:

  • серия тестов на самом сервере, глазами провайдера;

  • тестирование из виртуальных машин, размещенных на сервере глазами клиента.

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

Набор тестов

Тест

cmdline

sysbench, max prime, one core

taskset -c 0 sysbench --test=cpu --cpu-max-prime=20000 run

sysbench, max prime, all cores

sysbench --test=cpu --cpu-max-prime=100000 --num-threads=8 run

sysbench, oltp-mysql, i thread

sysbench --test=oltp --db-driver=mysql --mysql-db=test --mysql-user=root --mysql-socket=/var/lib/mysql/mysql.sock --mysql-table-engine=innodb --max-requests=0 --oltp-table-size=1000000 --max-time=300 --num-threads=$i run

Все тесты проводились на виртуальной машине с 8 vCPU и 32Gb RAM.

Результаты: стандартный пул КРОК

Для затравки посмотрим на цифры с референсного Dell EMC PowerEdge R740:

Тест

Результат

sysbench, max prime, one core

total time: 19.1545s

sysbench, max prime, all cores

total time: 22.1102s

sysbench, oltp-mysql, 1 thread

828.69 tr. per sec.

sysbench, oltp-mysql, 2 threads

1605.72 tr. per sec.

sysbench, oltp-mysql, 4 threads

2992.22 tr. per sec.

sysbench, oltp-mysql, 8 threads

5927.20 tr. per sec.

Результаты: сервер на базе AMD

Результаты тестируемого Dell R6515 c AMD EPYC 7742:

Тест

Результат

sysbench, max prime, one core

total time: 15.6657s

sysbench, max prime, all cores

total time: 18.9329s

sysbench, oltp-mysql, 1 thread

1023.46 tr. per sec.

sysbench, oltp-mysql, 2 threads

1709.39 tr. per sec.

sysbench, oltp-mysql, 4 threads

3231.34 tr. per sec.

sysbench, oltp-mysql, 8 threads

4533.65 tr. per sec.

Как видно из результатов, виртуальная машина на R6515 показала себя лучше, чем на R740, кроме OLTP теста на 8 тредов здесь преимущество осталось за референсной машиной. Именно OLTP тестирование открыло небольшой подводный камушек: в 1, 2 и 4 тредах производительность отличная, а в 8 потоках процессор уже зарывается.

Почему так происходит, сказать пока сложно. Чтобы понять процессор и научиться с ним работать, одной недели явно недостаточно. Хотелось бы провести дополнительные тесты в различных вариациях: например, погонять ВМ с 4 ядрами в четыре потока. Это позволило бы понять особенности работы CPU.

Было бы очень интересно прогнать любимый всеми тест Гилёва и сравнить полученные результаты. Увы, время у нас было ограничено, поэтому тестировали самое основное.

Выводы

Давайте обсудим особенности каждого из наших испытуемых и попробуем подвести итог.

Сервер Dell EMC R6515 c AMD EPYC 7742 однозначно интересен. У него высокая плотность ядер на юнит, хорошая производительность и несколько меньшая стоимость по сравнению с Dell из нашего флагманского пула: выгода около 40% в расчете на vCPU и 20% с учетом фактической производительности (price/performance).

К минусам можно отнести высокое тепловыделение, но здесь всё зависит от системы кондиционирования в вашем ЦОДе.

На выходе получился мощный комбайн для больших объемных задач, способный без проблем переваривать серьезные аналитические расчеты, CRM-системы, базы данных или множество виртуальных машин. Если говорить о стоимости один этот процессор стоит дешевле, чем два Intelа из нашего стандартного пула. Да и сам сервер стоит дешевле используемого сейчас R740. На выходе получается более высокая производительность за меньшие деньги.

Мы с коллегами пришли к выводу, что процессор у AMD получился действительно хороший . Он отлично подойдет для реализации типовых сценариев. Возможно, AMD EPYC 7742 появятся в нашем облаке мы постоянно кастомизируем сервисы, поэтому такой зверек может оказаться очень кстати.

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

По традиции, ждем ваших комментариев. Если у вас остались какие-то вопросы будем рады ответить на них.

Подробнее..

Разбираемся, безопасно ли стрелять по проду и чем могут быть полезны дашборды

24.12.2020 14:22:40 | Автор: admin
На подходе полезные видео с конференции ЮMoneyDay от специалистов по тестированию. Если заглянете под кат, то узнаете:

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




Стрельбы по проду. Как реализовали и что получили


Виктор Бодров, исследователь производительности
Какие задачи помогают решить исследования производительности, и как их результаты влияют на развитие ЮMoney.

0:54 О спикере и работе команды
1:24 Почему мы стреляем не по стенду, а по проду
2:37 Чем стрелять? Как мониторить
4:07 Как все начиналось
6:55 Нам понадобились свои пользователи
8:14 А что там с платежами?
11:37 Платежи картами
15:08 Работа с контрагентами
18:47 Стрельбы по компонентам
21:01 Capacity control
23:38 Автострельбы




Почему дашборды могут быть полезны

Егор Иванов, старший специалист по автоматизации тестирования

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

1:04 Что такое дашборд? Примеры из жизни. Определение термина, основные типы.
3:01 Знакомство с командой интеграционного тестирования. Схема взаимодействия инструментов: Jira, Autorun, Locker, Pinger, Jenkins
6:36 Что делать, когда что-то идет не так роль дежурного
9:49 Дашборд дежурного: мастштабирование задач, использование Grafana
10:58 Как происходит отсылка метрик. Типы метрик.
12:20 Процесс отправки метрик из Java и sh
13:03 Как построить дашборд? Как можно использовать дашборды?
13:23 Пример 1 дашборд как визуализатор метрик
17:00 Пример 2 дашборд как мотиватор
20:34 Пример 3 дашборд для анализа
24:00 Пример 4 дашборд для экономии времени
25:59 Подведение итогов: что мы получили от внедрения дашбордов

Дополнительно
Расшифровка доклада Сила дашбордов



Все доклады с большой ИТ-конференции ЮMoneyDay. На подходе материалы про PM, тестирование и мобильную разработку.

Подробнее..

Нагрузочное тестирование что в нем интересного и какие навыки нужны?

26.10.2020 16:12:51 | Автор: admin

Попросили рассказать о перспективах и задачах в сфере тестирования производительности Василия Кудрявцева, директора по качеству АО РТЛабс и руководителя нашего курса Нагрузочное тестирование.


Самая актуальная на сегодня область в QA

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

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

Можно рассчитывать на зарплату на 30-50% выше, чем по другим направлениям тестирования.

Каждый проект в нагрузочном тестировании уникален

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

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

Василий Кудрявцев

QA Load самая разнообразная область, где специалисту надо не только заниматься кодом, но и всесторонне развиваться.

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

Как стать нагрузочным тестировщиком?

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

Курс QA Load мы собрали из крупиц материалов, объединив свой опыт решения задач для различных компаний. 70% программы содержит практику и именно это отличает ее от остальных учебных проектов. У нас нет поверхностных тем, каждая изучается вглубь, с разбором кейсов и возможностью попробовать инструмент, потренировать навык.

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

Во втором модуле вы изучите 4 основных инструмента нагрузочного тестирования: Performance center, Jmeter, Gatling, k6.io. Хотя их на рынке несколько больше, мы после опросов выделили используемые повсеместно и этого набора должно хватить, чтобы решить 90% нагрузки. Чтобы эти инструменты сразу можно было встраивать в DevOps-процессы, есть отдельный урок про автоматизацию нагрузочного тестирования с помощью Jenkins, встраивание с помощью CI/CD. Также отдельно расскажем про Grafana и InfluxDB, чтобы соединить эту часть мониторинга с вашими тестами.

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

В течение обучения вас ждет интенсивная работа и 8 домашних заданий: закрепить пройденный материал, попробовать каждый инструмент, написать скрипты, провести тестирование и т.д. Будут задачи на разработку профиля НТ, настройку логирования и проведения регрессионного тестирования для веб-сайта. Для тех, кто хочет получить еще больше навыков и пользы, в заданиях есть пункты со звездочкой. Тренироваться вы будете на реальных системах, серверах, сайтах. Стенды для отработки предоставит партнер курса AdvancedHosting.

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

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

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

Василий Кудрявцев

Кому нужны навыки нагрузочного тестирования?

Наш курс рассчитан на уже разбирающихся в тестировании специалистов. Чтобы успешно осваивать программу нужно обладать базой программирования на одном из языков в ходе обучения вы столкнетесь с SQL, Java, C, Scala, также предстоит много работы в Linux, поэтому понадобится знать базовые вещи: как подключиться к консоли, найти файл и т.д.

Функциональным тестировщикам и автоматизаторам хватит небольшого опыта программирования и базовых познаний, что позволит реализовать себя в самой интересной области тестирования.

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

Курс также будет полезен разработчикам и специалистам тех. поддержки и ПО. Тем, кто работает в продуктовой команде и понимает, что текущие сервисы достигают таких нагрузок, которые стоит проверять. Или в случае, когда проект испытывает проблемы с производительностью своих систем, и есть цель действительно правильно выстроить процессы НТ. Полученные знания позволят разработать комплекс средств нагрузочного тестирования и на регулярной основе следить, чтобы с системами было все хорошо.


В новом потоке QA Load занятия начнутся 29 октября и будут длиться 4 месяца. Если направление вас заинтересовало, проходите вступительный тест и записывайтесь в группу, пока есть места. Ждем вас и до встречи в OTUS!


Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru