Начинаю разработку Open Source продукта для нагрузки DB с нуля: Query Pressure

Просмотров: 7, 682   |   Загружено: 2 год.
icon
Dev Jungles - Andrii Podkolzin
icon
309
icon
Скачать
iconПодробнее о видео
#DevJungles #dotnet #csharp

Донаты на стриме:

GitHub:

Telegram канал Dev Jungles -

Поддержать канал можно:
- Спонсорством на YouTube
- Переводом на карту или пополнением банки монобанка:
Dev Jungles YouTube Channel Fund


Номер карты банки:
5375 4112 0230 1466

- Или криптой:
Binance Id: 479881646
BTC - 18C3jsFYwviN5FvzpAt4uMWRfUeVKvdWxy
ETH - 0x2903f63ba9009732272e91a299053b9d7b623216

USDT on ERC20 - 0x2903f63ba9009732272e91a299053b9d7b623216
USDT on TRC20 - TSmS5RzQKbWdxZkoM2oRo9HK8FYBaq744T

LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2

Я много писал разных штук с нуля на этом канале.
Был и полнотекстовый индекс и собственные койн в блокчейне с NFT. Да вообще весь канал начался с написания веб-сервака с нуля.
Но это все были скорее POC. Ну то, есть человек с прямыми руками, потратив еще х10 или даже х1000 времени мог бы сделать из этого продукт, но я показывал только идею и на этом останавливался.
А теперь есть идея разработать целый небольшой Open-Source продукт под запись.
Если зайдет, то сделаю из этого целую рубрику.

На стриме про Performance тесты баз данных Серега Сыроватченко пользовался тулой Query Stress. И она выглядела как что-то недоделанное из позапрошлого века. Но по сути единственная в своем роде под эту задачу.

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

Все это буду делать по TDD и DDD. Я в этом далеко не эксперт, но мир говорит, что пора экспертом становится. И черт с ним с тем миром, нужно хотя бы для себя понять плеваться с этого всего или наоборот брызгать слюнями от восхищения.

Таймкоды:

00:00 - Тема большого и важного стрима.
1:56 - Если вы собираетесь нанять 5 разработчиков… 😂
2:35 - Вспоминаем стрим с Серегой Сыроватченко и QueryPerformance . ⭐

5:42 - Вопросы из чата#1.
7:53 - Наконец то начал зарабатывать в этом казино. 😂
9:45 - Мысли Андрея, о войне в Украине и политике.

13:18 - Планирование QueryStressTool. 💻
15:08 - Вопросы(Жалобы) из чата#2.
17:10 - План проекта.
20:42 - Неудачный опыт оптимизации запроса.
22:23 - Процентили и квартили. 🤯
27:32 - Профили нагрузки.
32:20 - Экспорт данных.
33:16 - Графики.

34:50 - Кровавый интерпрайс.
36:13 - Анализ требований.

43:49 - class SequentialLoadProfile и интерфейс IExecutable .
47:15 - Работа с Timer.
48:17 - class QueryExecutor и интерфейс IProfile .
51:16 - class SequentialLoadProfileWithDelay .
53:10 - Идем в PoC.
54:27 - TDD во всей красе.😂

56:04 - class LimitedConcurrencyLoadProfile .

58:65 - Первый настоящий и крутой UnitTest .
1:02:13 - Механизм оповещения об успешном выполнении запросов.
1:05:09 - TaskCompletionSource и *SequentialLoadProfile*.

1:09:41 - тесты для SequentialLoadProfile .
1:14:42 - тесты для LimitedConcurrencyLoadProfile .
1:24:55 - class *TargetThroughputLoadProfile*.
1:29:46 - тесты для *TargetThroughputLoadProfile*.

1:50:41 - Работа над ошибками. 🔥
1:54:21 - LimitedConcurrencyLoadProfileWithDelay .
2:00:42 - тесты для *SequentialLoadProfileWithDelay*.

2:11:56 - Допиливаем логику delay в классе LimitedConcurrencyLoadProfile .
2:18:05 - class *LimitedConcurrencyLoadProfileWithDelay*.

2:28:47 - Встрял в неправильную архитектуру.
2:32:22 - Декорируем SequentialLoadProfileWithDelay . 💁

2:38:00 - Создание пользовательских конфигураций.
2:39:57 - YAML файлы конфигураций тестов.
2:44:15 - Библиотека QueryStressTool.Core .
2:49:55 - Парсинг файлов конфигураций.
2:54:20 - Фабрика LoadProfileFactory .
3:01:19 - class LimitedConcurrencyLoadProfileCreator . 💻
3:03:10 - interface IProfileCreator .

3:12:14 - Первый нах(Initial Commit).

Похожие видео

Добавлено: 55 год.
Добавил:
  © 2019-2021
  Начинаю разработку Open Source продукта для нагрузки DB с нуля: Query Pressure - RusLar.Me