Автостопом по нарузке

История нагрузочного тестирования: Прошлое. Настоящее. Будущее

Обо мне

TG: haradkou_sdet

  • SDET с 2018
  • Playwright labs contributor
  • Certified node.js application developer (JSNAD 2023)
  • автор TG канала @haradkou_sdet
  • Помогаю с автоматизацией и нагрузкой

Темы

  1. Нагрузочное тестирование до вмешательства человека
  2. Тестирование баз данных
  3. Нагрузочное тестирование, каким оно было до ИИ бума
  4. Нагрузочное тестирование сейчас
  5. Нагрузочное тестирование в будущем

6 эпох

6 эпох

  • До 1990

6 эпох

  • До 1990
  • От 1990 до 2000

6 эпох

  • До 1990
  • От 1990 до 2000
  • от 2000 до 2010

6 эпох

  • До 1990
  • От 1990 до 2000
  • от 2000 до 2010
  • от 2010 до 2015

6 эпох

  • До 1990
  • От 1990 до 2000
  • от 2000 до 2010
  • от 2010 до 2015
  • от 2015 - текущее время

Нагрузочное тестирование

  • Веб сервисов
  • Баз данных

Лене: сделать 2 слайда с диаграммой ращепления.

Gif: https://tenor.com/ru/view/infinite-dragon-dream-feet-loop-gif-21680163

Нагрузочное тестирование раньше (до 1990)

Tooling

Tooling

Tooling

Почему так

Почему так

  • HTTP только зарождался

Почему так

  • HTTP только зарождался
  • Нагрузка была больше как имитационная модель

Почему так

  • HTTP только зарождался
  • Нагрузка была больше как имитационная модель
  • Очень дорого - софт писался на "меинфреиме"

Почему так

  • HTTP только зарождался
  • Нагрузка была больше как имитационная модель
  • Очень дорого - софт писался на "меинфреиме"
  • Софт был специальным (военные, медицина, TeleCom, банки)

Почему так

  • HTTP только зарождался
  • Нагрузка была больше как имитационная модель
  • Очень дорого - софт писался на "меинфреиме"
  • Софт был специальным (военные, медицина, TeleCom, банки)
  • Каналов дистрибуции не было

Базы данных. SQL

- Oracle

- Microsoft

- IBM

лене: логотипы кампании

Standard for SQL

Нагрузочное тестирование раньше (c 1990-2000)

Клиент- сервер в каждый дом!

Tooling

Tooling

Tooling

Tooling

(Ближе к концу)

Базы данных

Базы данных

  • TPC-C  - стандарт и бенчмарк

Базы данных

  • TPC-C  - стандарт и бенчмарк
  • Fork-бомбы (shell)

TPC - Antutu для БД

TPC - C

Почему так

Почему так

  • Более широкое распростанение HTTP и Client-Server архитектуры

Почему так

  • Более широкое распростанение HTTP и Client-Server архитектуры
  • Более дешевые и компактные компьютеры

Почему так

  • Более широкое распростанение HTTP и Client-Server архитектуры
  • Более дешевые и компактные компьютеры
  • Более широкое распростанение софта для "простых" людей (Amazon, Google, Яндекс)

Почему так

  • Более широкое распростанение HTTP и Client-Server архитектуры
  • Более дешевые и компактные компьютеры
  • Более широкое распростанение софта для "простых" людей (Amazon, Google, Яндекс)
  • Появлиение отдельной культуры QA

Почему так

  • Более широкое распростанение HTTP и Client-Server архитектуры
  • Более дешевые и компактные компьютеры
  • Более широкое распростанение софта для "простых" людей (Amazon, Google, Яндекс)
  • Появлиение отдельной культуры QA
  • Эксперименты с Agile

Почему так

  • Более широкое распростанение HTTP и Client-Server архитектуры
  • Более дешевые и компактные компьютеры
  • Более широкое распростанение софта для "простых" людей (Amazon, Google, Яндекс)
  • Появлиение отдельной культуры QA
  • Эксперименты с Agile
  • Улучшение каналов дистрибуции

Нагрузочное тестирование раньше (2000-2010)

Больше людей! 90-е

Больше людей! 00-е

US - 43%

RU - 2%

Больше людей! 10-е

US - 80%

Ru - 49%

Tooling

Tooling

Базы данных

  • TPC-H - новый стандарт в рамках TPC

Базы данных

  • TPC-H - новый стандарт в рамках TPC
  • HammerDB (2003) - performance banchmark

TPC-H

Почему так

Почему так

  • Появление все большего кол-ва абонентов сети интернет

Почему так

  • Появление все большего кол-ва абонентов сети интернет
  • Широкое распростанение Agile

Почему так

  • Появление все большего кол-ва абонентов сети интернет
  • Широкое распростанение Agile
  • Более быстрый интернет

Почему так

  • Появление все большего кол-ва абонентов сети интернет
  • Широкое распростанение Agile
  • Более быстрый интернет
  • Ускорение каналов дистрибуции

Почему так

  • Появление все большего кол-ва абонентов сети интернет
  • Широкое распростанение Agile
  • Более быстрый интернет
  • Ускорение каналов дистрибуции
  • Зарождение Cloud провайдеров (AWS, Azure)

Нагрузочное тестирование раньше (2010-2015)

Что было?

Что было?

Что было

Что было

Что было

Tooling

Tooling

Базы данных

  • No SQL

Базы данных

  • No SQL
  • Horizontal scaling
  • NewSQL - NoSql в обертке SQL
  • Replicas

Базы данных

  • No SQL
  • Horizontal scaling
  • NewSQL - NoSql в обертке SQL

Базы данных

  • No SQL
  • Horizontal scaling
  • NewSQL - NoSql в обертке SQL
  • Replicas

Tooling

Tooling

  • YCSB (Yahoo! Cloud Serving Benchmark) - no SQL bench

Tooling

  • YCSB (Yahoo! Cloud Serving Benchmark) - no SQL bench
  • Sysbench

Tooling

  • YCSB (Yahoo! Cloud Serving Benchmark) - no SQL bench
  • Sysbench
  • Появление TPC-DS и Big Data тестов

Tooling

  • YCSB (Yahoo! Cloud Serving Benchmark) - no SQL bench
  • Sysbench
  • Появление TPC-DS и Big Data тестов
  • Cassandra-stress и встроенные утилиты (mongoperf)

Tooling

  • YCSB (Yahoo! Cloud Serving Benchmark) - no SQL bench
  • Sysbench
  • Появление TPC-DS и Big Data тестов
  • Cassandra-stress и встроенные утилиты (mongoperf)
  • PerfKit Benchmarker (Google)

Нагрузочное тестирование сейчас (2015-2025)

Что было

Что было

  • Kubernetes (2015) & микросервисы

Что было

  • Kubernetes (2015) & микросервисы
  • Gitops

Что было

  • Kubernetes (2015) & микросервисы
  • gitops
  • появление devops культуры

Tooling

- k6

- locust

Tooling

- k6

- locust

- Chrome CDP (puppeteer, playwright)

Базы данных

- Sysbench и pgbench

- TPC-DS - Data science + big data

- NewSQL

Нагрузочное тестирование В будущем (2025-20??)

AI

Тренды

1. ИИ-зация

Тренды

1. ИИ-зация

2. Cloud native (GCloud, AWS, etc)

Тренды

1. ИИ-зация

2. Cloud native (GCloud, AWS, etc)

3. Non-engineer friendly

 

Тренды

1. ИИ-зация

2. Cloud native (GCloud, AWS, etc)

3. Non-engineer friendly

4. Kubernetes

 

Tooling

- k6

- самописные скрипты для масштабирования и обхода ограничений

- программируемый AI (Vector DB (qdrant) + lang chain)

Что сейчас. SaaS-овизация

Что сейчас. SaaS-овизация

- k6 + k6 cloud

Что сейчас. SaaS-овизация

- k6 + k6 cloud

- locust cloud

Что сейчас. SaaS-овизация

- k6 + k6 cloud

- locust cloud

- smart bear - TestComplete

ИИ-зация

- анализ результатов

- глубокий анализ результатов

- создание сценариев и профилей

Perfscale

Perfscale. Schematics

Perfscale. Machines

Perfscale. Run History

Perfscale. Configurations

Perfscale. Tests

Perfscale

Perfscale

  • Запуск на машине как agent

Perfscale

  • Запуск на машине как agent
  • Анализ результатов

Perfscale

  • Запуск на машине как agent
  • Анализ результатов
  • Сбор логов через OTEL

Perfscale

  • Запуск на машине как agent
  • Анализ результатов
  • Сбор логов через OTEL 
  • Принцип "одно окно"

Perfscale

  • Запуск на машине как agent
  • Анализ результатов
  • Сбор логов через OTEL 
  • Принцип "одно окно"
  • Мульти тул нагрузка (locust, k6)

Perfscale

  • Запуск на машине как agent
  • Анализ результатов
  • Сбор логов через OTEL 
  • Принцип "одно окно"
  • Мульти тул нагрузка (locust, k6)
  • Ваши тесты (git sync)

Perfscale

  • Запуск на машине как agent
  • Анализ результатов
  • Сбор логов через OTEL 
  • Принцип "одно окно"
  • Мульти тул нагрузка (locust, k6)
  • Ваши тесты (git sync)
  • Максимальная нагрузка, которая генерирует машина (planning)

Perfscale

  • Запуск на машине как agent
  • Анализ результатов
  • Сбор логов через OTEL 
  • Принцип "одно окно"
  • Мульти тул нагрузка (locust, k6)
  • Ваши тесты (git sync)
  • Максимальная нагрузка, которая генерирует машина
  • Тестирование БД (planning)

Perfscale. Contact

perfscale.su/contact

Базы данных

Базы данных

Базы данных

Базы данных

Tooling

Tooling

Tooling

Tooling

Tooling

Вместо выводов

  • Посмотрели эволюция подходов и тулов
  • Развитие можностей и масштабирование подталкивает на новые бенчмарки
  • Появление новых инженерных культур

Источники

1.  World population internet index - https://data.worldbank.org/indicator/IT.NET.USER.ZS?end=2005&most_recent_value_desc=false&start=1990&type=shaded&view=map&year=1990

2. TPC - C - https://en.wikipedia.org/wiki/TPC-C

3. TPC - https://www.tpc.org/information/about/history5.asp

4. Locust - https://locust.io/

5. K6 - https://k6.io/

6. Haradkou.SDET - https://t.me/haradkou_sdet

История нарузочного тестирования.

By vitalic gorodkov

История нарузочного тестирования.

  • 35