Начинаю разработку Open Source продукта для нагрузки DB с нуля: Query Pressure
- Видео
- О видео
- Скачать
- Поделиться
Начинаю разработку Open Source продукта для нагрузки DB с нуля: Query Pressure
7, 682 | 2 год. назад | 309 - 0
#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).
Чтобы скачать видео "Начинаю разработку Open Source продукта для нагрузки DB с нуля: Query Pressure" передвинте ползунок вправо
- Комментарии
Комментарии ФБ