Перейти до основного вмісту
QA

Слава Україні!

Повернутися до всіх курсів

Практичний курс QA

Performance Engineering: JMeter, k6 та діагностика систем

Від основ вимірювань до самостійного дослідження продуктивності: JMeter і k6, JVM та збирання сміття, CPU, бази даних, пули та черги, Prometheus, Grafana, логи, трасування і профілювання. Пояснення з нуля, схеми, локальні лабораторії, квізи та підсумкове дослідження з доказами.

Навчальних сесій: 20Повний курс · безплатно

Огляд курсу

Над чим ви працюватимете

Від основ вимірювань до самостійного дослідження продуктивності: JMeter і k6, JVM та збирання сміття, CPU, бази даних, пули та черги, Prometheus, Grafana, логи, трасування і профілювання. Пояснення з нуля, схеми, локальні лабораторії, квізи та підсумкове дослідження з доказами.

Програма курсу

Перегляньте весь маршрут навчання.

Переглядайте назви уроків і тем. Зареєструйтеся та ввійдіть, щоб безкоштовно читати матеріали й проходити перевірки знань.

Урок 1Що вимірює Performance Testing

Теорія та практика

  • СтаттяЩо вимірює Performance Testing
Урок 2Моделі навантаження

Теорія та практика

  • СтаттяМоделі навантаження
Урок 3Перший тест у k6

Теорія та практика

  • СтаттяПерший тест у k6
  • Перевірка знаньПеревірка розуміння
Урок 4Типи експериментів і відновлення

Теорія та практика

  • СтаттяТипи експериментів і відновлення
Урок 5Діагностика й перевірка гіпотез

Теорія та практика

  • СтаттяДіагностика й перевірка гіпотез
Урок 6Порівняння та підсумковий проєкт

Теорія та практика

  • СтаттяПорівняння та підсумковий проєкт
  • Перевірка знаньПеревірка розуміння
Урок 7JMeter: від першого запуску до правильного сценарію

Теорія та практика

  • СтаттяJMeter без магії: встановлення та будова тесту
  • СтаттяHTTP у JMeter: адреса, тіло, заголовки та час
  • СтаттяПотоки, ramp-up і цикли: яку роботу ми задаємо
  • СтаттяНалагодження бізнес-сценарію: від входу до повтору замовлення
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 8JMeter: дані, кореляція, перевірки та ритм користувача

Теорія та практика

  • СтаттяCSV і власність даних: незалежні користувачі
  • СтаттяКореляція: токени, cookies та залежні запити
  • СтаттяAssertions і Groovy: перевіряти зміст без зайвих витрат
  • СтаттяThink time, pacing і таймери: задаємо поведінку
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 9JMeter: CLI, результати та надійність генератора

Теорія та практика

  • СтаттяВід GUI до CLI: відтворюваний запуск і JTL
  • СтаттяЧитання звіту JMeter: від таблиці до обґрунтованого висновку
  • СтаттяКоли bottleneck — сам генератор навантаження
  • СтаттяРозподілений JMeter: що множиться і що треба розділити
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 10k6: код сценарію, життєвий цикл та критерії

Теорія та практика

  • Статтяk6 як програма: init, setup, VU і teardown
  • СтаттяHTTP-сценарій у k6: кореляція та контроль бізнес-результату
  • СтаттяSharedArray, VU та iteration: кому належать дані
  • СтаттяChecks, власні метрики і thresholds: коли тест справді провалюється
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 11k6: моделі навантаження, місткість VU та браузер

Теорія та практика

  • СтаттяExecutors: обираємо модель під питання експерименту
  • СтаттяDropped iterations: чому швидкий тест може не виконати завдання
  • СтаттяTags, groups та критерії окремих операцій
  • СтаттяБраузерний k6 і CI: різні рівні доказів
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 12Як працює система: запит, CPU, мережа та контейнери

Теорія та практика

  • СтаттяШлях запиту і бюджет затримки
  • СтаттяПроцес, потік, CPU та event loop без плутанини
  • СтаттяМережа: DNS, TCP, TLS, KeepAlive і межі вимірювання
  • СтаттяРесурси ОС і контейнера: квоти, RSS, диск та черги
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 13JVM і Garbage Collector: пам’ять, механізми та компроміси

Теорія та практика

  • СтаттяЩо таке Garbage Collector: об’єкти, посилання та жива пам’ять
  • СтаттяЯк GC знаходить і звільняє пам’ять: покоління, паузи та бар’єри
  • СтаттяG1, Serial, Parallel і ZGC: як обрати експеримент
  • СтаттяТюнінг heap, CPU і пауз: змінюємо причину, а не набір прапорців
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 14Діагностика пам’яті: GC-логи, JFR, витоки та інші runtime

Теорія та практика

  • СтаттяЯк читати GC-лог і тренд після збирання
  • Статтяjcmd, JFR і thread dump: який інструмент відповідає на питання
  • СтаттяУтримання і витік: доводимо, що живе занадто довго
  • СтаттяGC у Node.js і Python: що переноситься, а що ні
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 15Prometheus і Grafana: від вимірювання до читабельного dashboard

Теорія та практика

  • СтаттяАрхітектура спостереження: метрики, логи, traces і profiles
  • СтаттяCounter, gauge і histogram: правильна модель метрики
  • СтаттяPromQL: rate, агрегація, p95 та правильний знаменник
  • СтаттяGrafana: dashboard, який допомагає розслідувати
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 16Логи, трасування, профілі та надійність телеметрії

Теорія та практика

  • СтаттяСтруктуровані логи, Loki та LogQL
  • СтаттяOpenTelemetry і Tempo: читаємо trace, а не лише довгу смугу
  • СтаттяПрофілі та зіставлення сигналів: перевіряємо пояснення
  • СтаттяПрогалини телеметрії, alerts і вартість спостереження
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 17Діагностика bottlenecks: від симптомів до механізму

Теорія та практика

  • СтаттяCPU та блокування: чому потоки не просуваються
  • СтаттяSQL: плани, індекси, статистика та блокування
  • СтаттяПули з’єднань, черги та backpressure
  • СтаттяCache, I/O та залежності: bottleneck поза CPU
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 18Перевантаження, місткість і відновлення

Теорія та практика

  • СтаттяLoad, stress, spike, endurance та обсяг даних
  • СтаттяTimeout, deadline, retry та idempotency
  • СтаттяМісткість, масштабування та запас ресурсів
  • СтаттяВідновлення, деградація та межі експерименту
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 19Статистика, SLO та рішення за результатами

Теорія та практика

  • СтаттяPercentiles, histogram та достатність вибірки
  • СтаттяПрогрів, повторюваність і чесне порівняння A–B
  • СтаттяSLI, SLO, error budget та критерій випуску
  • СтаттяЗвіт про експеримент і перевірки в CI
  • Перевірка знаньПрактичний квіз: перевірте свої висновки
Урок 20Підсумковий проєкт: самостійне performance-дослідження

Теорія та практика

  • СтаттяСтратегія підсумкового дослідження
  • СтаттяРозслідування невідомої причини повільної роботи
  • СтаттяЗміна, повторне порівняння та перевірка recovery
  • СтаттяТехнічний захист, портфоліо та критерії компетентності
  • Перевірка знаньПрактичний квіз: перевірте свої висновки