Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 6 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month, 1 week ago
Highload 2024 в Сколково. Выход MyDB из сумрака
Завтра в 11:00 в конгресс-холле мой доклад, “Можем ли мы с базой, но без кэш-слоя в 2024 году?”. Он про то, как современные “классические” базы ликвидируют “гэп” с KV/NewSQL и кто сейчас может эффективно отдать миллион PRS на кэш-нагрузке, c какими ограничениями. В исследовании участвовали Redis, Valkey, Memcached, PostgreSQL, MySQL/MyDB. Будет много performance-диаграмм и два сюрприза.
Первый сюрприз не то чтобы полный сюрприз – про Valkey уже многие слышали. Мы начали тестировать ещё пока этот самый многообещающий клон Redis был в RC-стадии. Расскажем, действительно ли он лучше, и в какой мере оправился от родовых травм Redis.
А вот второй сюрприз - сюрприз полный. По MyDB вы скорее всего слышите в первый раз. Это - первый в истории российский клон MySQL, в реестре, с саппортом, всё как положено. Фаундер этого проекта, Лёша Копытов, внёс неоценимый вклад в наши исследования. Он будет на Хайлоаде, и в нетворк-зоне, и в нашем девруме у кластера Индия (ищите название devhands.io) – можно будет обо всём расспросить его лично.
Кто будет на конференции – приходите знакомиться. Кластер Индия, комната 1.5, рядом с Пикодатой. Кто не будет – кажется, VK организует прямую трансляцию из основного зала.
P.S. Никаких образом не связан с запуском проекта MyDB, но знаю ребят как супер-профи, и надеюсь на разнообразное сотрудничество, в частности мы планируем совместный образовательно-практический воркшоп.
PHP performance & observability
Привет!
Стартуем стрим, приходите
Zoom: https://us06web.zoom.us/j/81914182860?pwd=t5ukRE67IJKlk4BH9Wwc62Mencsb9r.1
YouTube: https://www.youtube.com/@AlexeyRybak/streams
Кто пришел:
- Алексей Гагарин и Павел Бучнев, Spiral Framework developers, Temporal-энтузиасты и известные “фартаны” – они делают ТГ-канал “PHP FartTime” (https://t.me/php_fart) и обзоры “В мире PHP” (последний выпуск: https://t.me/php_fart/136).
- Михаил Курмаев (развивает data planform в T-Банке), автор и ведущий курса devhands.io “PHP performance” (https://devhands.ru/php-perf).
- Алексей Рыбак, devhands.io. Мы с Михаилом много лет вместе занимались платформой в Badoo/Bumble, где php-fpm (и его, кстати тоже сделали в Badoo - Найт, Вова и Тони) - был главной рабочей лошадкой бекендов (наряду с C, C++ и golang).
Ошибки измерений
Рабочие будни исследований. Смотрите, вот график числа reads в секунду, которые выполняет 2 сетапа
ванильный Memcached 1.6.32 (самый новый)
Memcached Plugin поверх MySQL 8.0.39
По оси Y тысячи RPS, то есть это всё числа порядка миллиона запросов в секунду. 6.4 млн ключей, всё в памяти, xeon gold с 48 cpu при включенном гипертрединге и 128 гигами памяти.
Всё бы ничего, но график ошибочный. То, что мы видим на графике - это не столько как скейлится KV-база при количестве соединений, но и как скейлится сама стрелялка (это отдельный сервер, но стреляем локально, чтобы не тестировать сеть и инфру провайдера).
Стрелять одновременно и в мемкеш, и в редис стандартный redis-benchmark не умеет, поэтому я взял прежнюю “редисовскую” стрелялку, memtier-benchmark. И к сожалению, по аналогии с sysbench увеличивал число тредов стрелялки, а не число соединений на тред (такой функционал memtier поддерживает).
Придётся перемерять, и результат скорее всего будет лучше (меньшее снижение реальных RPS при росте числа соединений). Но всё равно отличный результат у мемкеш-плагина виден даже по этому графику.
Очень жаль, что Оракл его выпилил в 8.4, надеюсь, он там появится снова - у самого Оракла, или у форков. А про первый российский форк MySQL ещё напишу - там обещали Memcached-плагин сохранить ;)
Из полей доносится valkey
В этом году Redis, “кеш с персистентностью”, мимкрирующий под СУБД и даже умеющий в распределенный кластер, фантастически успешный несмотря ни на какие колкости обнаглевших комментаторов - сменил лицензию. Long story short: это всё продолжение битвы против облачных провайдеров, которые “пользуются” результатами “настоящих” open source проектов,
предоставляя услуги management service. Сменил лицензию, облачные провайдеры подудонились, но почти сразу же сотрудники Амазон в сотрудничестве с другими облаками выпустил форк, valkey. Лицензия BSD, контроль проекта у Linux Foundation, участвуют многие контрибьюторы Redis.
Очень скоро будет новый релиз, в котором обещают лучшую масштабируемость по ядрам. Мы в Devhands.io его потестили с включенной поддержкой мульти-трединга на 48-ядерной машинке с 128 гигами памяти. Разница не огромна, но имеется.
Вообще, очень приколько, что наконец есть хоть немного времени на подобные тесты. Позволяет проверить наглядно очень прикольные мифы, например:
redis не скейлится по ядрам
valkey круче redis, потому что скейлится
postgres во всём лучше mysql
современные традиционные СУБД уже настолько хороши, что кеш-слой не нужен
* инфраструктура, выдерживающая миллионы запросов в секунду - это очень дорого
Почти все эти мифы верны частично, иначе бы их не существовало. Какие именно и насколько - готовим подробный отчёт к ноябрьскому хайлоаду.
С одного инстанса valkey, операция set для 10000 ключей длины 64, с полностью выключенной записью
‘’’
Summary:
throughput summary: 867980.19 requests per second
latency summary (msec):
avg min p50 p95 p99 max
0.137 0.008 0.135 0.183 0.287 18.719
‘’’
Get - почти млн RPS. Смотрите скоро у всех облачных провайдеров ?
Пятничный бенч-порн (миллион, миллион, миллион RPS)
У нас была железка с ксеонами на 42 ядра, постгрес с одиссеем, mysql, memcache и redis со множеством клонов, а также redis-benchmark, xwrk и k6. Не то чтобы это был необходимый запас для исследования. Но если начинать бенчмаркить - трудно остановиться. Единственное, что вызывало у меня опасение - это k6. Нет ничего более беспомощного, безответственного и испорченного, чем писать сценарии на javascript. Я знал, что рано или поздно мы перейдем и на эту дрянь.
Первый раз вопрос “зачем вам вообще мемкеш, вы что не умеете готовить базу” я услышал на хайлоаде в 2008-м году от уважаемого эксперта по постгресу. До сих пор не уверен, что тогда убедил его. Собираюсь показать, что на железке в аренде за триста евро в месяц современный кеш-сервис без каких-либо настроек отдает миллионы RPS, и сравним с тем, что сейчас сможет вытянуть PostgreSQL/MySQL.
Некоторое время назад по сети уже ходила статья от Redis, где автор задавался таким же вопросом, “можно ли использовать базу как кеш”. Ссылку дам в комментариях - но там очевидный вывод. И статья на мой взгляд могла бы быть значительно сильнее, если бы автор попробовал навалить нагрузки “по-настоящему” (и раскрыл методику тестирования).
Собираемся исполнить этот пробел - полное исследование готовим к ноябрскому хайлоаду. А пока - тизер. Почти полтора миллиона RPS c редиса, безо всяких тюнингов - ниже. Будет больше, поленился добавить в кластер больше 10 нод. Думал, будет миллонов пять, оно по факту и будет 5+ млн, но на локальных бенчах кучу проца отжирает сам бенч.
```
Summary:
throughput summary: 1490712.88 requests per second
latency summary (msec):
avg min p50 p95 p99 max
0.032 0.000 0.031 0.047 0.063 23.855
```
“Продвинутые”: челлендж для корпоративного обучения
Обучение и рост сотрудников - совместная задача и технических руководителей, и HR-подразделений (если быть точнее - LND). Почти во всех компаниях с ростом происходит “операционализация” обучения, CTO сотоварищи вовлекаются всё меньше. В результате - никого не хочу обидеть, это объективный процесс - процессы “оседают” вокруг следующих направлений:
- Джуны и мидлы: прокачиваем компетенции по ключевым навыкам (примеры: обучение конкретным инструментам, онбординг буткемпы)
- Тим-лиды и менеджеры: менеджерские курсы, в-основном уровня “вкатись, не баись”
- Остальные “продвинутые”: самостоятельный выбор трека
Тем временем этих “остальных продвинутых” - их очень много, и на них собственно и стоят компании. На конференциях можно потусить, но научиться сложно: попробуй чему-то научиться на хайлоаде, конференция заточена не на обучение, разве что приоткрыть какую-то новую карту, чтобы “расковырять” потом самостоятельно. Выбирай сам? Такой путь годится только для невероятно мотивированных людей. В-общем, если грубо, в отношении продвинутых у компаний работает примерно такой подход: ребят вы классные, но уже слишком продвинутые, выбирайте свой трек сами, вот варианты, или вообще езжайте на конференции, сложно понять, как вас обучать, да и нужно ли.
Год мы занимаемся тем, что приходим к HRD/LND и стараемся системно помочь выстроить трек роста для этих “остальных”: middle+ и senior-инженеров, которые тоже хотят расти (и которых так же надо удерживать ;)). Это всегда вальс. Мы смотрим в тех-радар. Собираем (когда это получается) обратную связь с engineering managers. Смотрим грейды (где-то готовы даже помочь и по самим грейдам). Помогаем сформировать компетенции и цели для обучения. Смотрим, что можем предложить: в-основном все наши треки вокруг “архитектуры“, “проектирования”, “внутренностей”, “нагрузки”, “производительности”. Если какой-то внутренней экспертизы не хватает - мы привлекаем к проекту партнеров, у нас очень широкий нетворк. В результате этого дискавери мы предлагаем конкретное, заточенное под нужны компании обучение. Почти всегда этот процесс итеративный, и далеко не всегда заканчивается контрактом - но он точно всегда обоюдно-полезный.
LND/HRD и CTO! Если вы только собираетесь или уже в процессе выстраивания синьорных/экспертных треков для ваших инженеров - я точно знаю, что вам нужно. Давайте выпьем кофе, созвонимся, за спрос денег не берут, познакомимся, обсудим. Если вы знаете хорошие программы обучения для “продвинутых” или успешно организовали его сами - напишите в комментариях, всё интересно.
Очередной онлайн-митап по очередям
Техдиры, архитекторы, эксперты, синьоры и та молодая шпана, готовая их стереть с лица земли!
В следующую среду, 19-го июня в 18:00 MSK в рамках проекта DevHands.io Open Sessions состоится очередной митап с Владимиром Перепелицей (ex-VK, Trantool) с рабочим названием “В очередь!”, посвященная, как вы возможно догадались, очередям.
Владимир - эксперт по большим проектам, очередям и Tarantool, регулярный спикер и член ПК конференций Highload, создатель S3 в VK Cloud, главный по обучению очередям в рамках образовательной платформы DevHands.io.
Абсолютное большинство высоконагруженных проектов использует какую-то систему очередей. Межсервисное взаимодействие через системы очередей - невероятно широкая тема, и абсолютно обязательная к изучению всем, кто интересуется архитектурой. Популярных продуктов - таких как Kafka, Rabbit, NATS, и даже, извините, Redis - много, все решения чем-то отличаются, и разработчику важно понимать архитектурные особенности, сильные и слабые стороны компонент, на базе которых строится архитектура.
Я пригласил Владимира на онлайн-встречу, чтобы в формате беседы расспросить его о следующем:
Можно ли говорить о существовании универсального подхода к выбору системы очередей? Как принимаются решения о выборе систем очередей?
Какие архитектурные паттерны используются разработчиками систем очередей? Какие «ручки» нужно искать в первую очередь для настроек производительности? Как масштабируются эти системы?
Насколько остро у разработчиков и потребителей персистентных очередей стоят вопросы удаления устаревающих данных, и как они решаются?
Чем плохи (и чем хороши) системы очередей, построенные поверх традиционных MVCC СУБД? Есть ли специализированные «движки очередей» в соответствующих эко-системах?
* Что это за задача двух (византийских?) генералов, и какое отношение она имеет к разработке систем очередей?
Это не полный список, а всего лишь затравка - приходите и задайте свой вопрос Владимиру, или напишите интересующие вас вопросы в комментариях.
Чтобы зарегистрироваться и не пропустить встречу, просто добавьте к себе нашего бота @devhands_meetup_bot и нажмите кнопку “Start” либо отправьте ему сообщение “/start”. Если бот у вас уже добавлен - надо так же его стартовать, чтобы он стартовал по новому расписанию.
До встречи 19-го июня!
Менеджер, 7 лет
Разбавлю ленту постом из жизни.
Участники: дошкольник Данила и его папа, перешедший на еду с жестким лимитом по калориям (доставляют готовые небольшие порции, поэтому еда измеряется коробками, каждая коробка – маленькая, одна порция).
- Папа, даю тебе десять минут, чтобы ты сьел свою коробку
- Отлично, я сьем её за пять минут
- Тогда я даю тебе 4 минуты
- Данила!… Похоже, ты – прирожденный менеджер.
Выложили все лекции из нашего продвинутого курса по СУБД из ШАД:
Современные и графовые СУБД (13.02.2024)
Лекция: https://disk.yandex.ru/i/O5ioXU6b_8YXtA
Семинар: https://disk.yandex.ru/i/TXHXRhEkevSEXg
Транзакция в распределенных СУБД & Обзор домашнего задания. Протокол паксос (27.02.2024)
Лекция: https://disk.yandex.ru/i/LasmL4lpMFYbYg
Семинар: https://disk.yandex.ru/i/Zja_e4cxD6_gIg
Query Compilers. JIT (05.03.2024)
Лекция: https://disk.yandex.ru/i/QN33G7JowTSOaw
Семинар: https://disk.yandex.ru/i/ynfMwbzez36G5g
Протокол tapir. Поколонночные базы данных (12.03.2024)
Лекция: https://disk.yandex.ru/i/vXHtsMfMfyqPFQ
Оптимизация SQL-запросов (19.03.2024)
Лекция: https://disk.yandex.ru/i/6L21N7aVisKkrA
Оптимизация SQL запросов, часть 2 (26.03.2024)
Лекция: https://disk.yandex.ru/i/dHyuQ-sVRio3Aw
Многопоточные операторы SQL (02.04.2024)
Лекция: https://disk.yandex.ru/i/zk0BRG-OqibCNg
Семинар (запись прошлого года): https://disk.yandex.ru/i/sTyzNvNdzRm8-Q
Протокол Raft & MPP аналитика (09.04.2024)
Лекция (Протокол Raft): https://disk.yandex.ru/i/3YTiavRj2IcDoA
Лекция (MPP аналитика): https://disk.yandex.ru/i/kkB_ck0emWbCjQ
Main memory базы данных (16.04.2024)
Лекция: https://disk.yandex.ru/i/SvBqT8_ZTjvHXA
Разработка Postgres (23.04.2024)
Лекция: https://disk.yandex.ru/i/tERU5moyX7j7gQ
Обзор индустриальных СУБД: Cassandra, ScyllaDB, Tarantool, Picodata (Часть 1). Обзор ClickHouse. (14.05.2024)
Лекция (Обзор индустриальных СУБД): https://disk.yandex.ru/i/pv_Ks-QrICtIkg
Лекция (Обзор ClickHouse): https://disk.yandex.ru/i/h4PDp5QhfRGVXg
YDB. Распределённая масштабируемая отказоустойчивая СУБД с открытым исходным кодом от Яндекс & Динамические таблицы YTsaurus (21.05.2024)
Лекция (YDB): https://disk.yandex.ru/i/5-Ej1jknvEb1OA
Лекция (Динамические таблицы YTsaurus): https://disk.yandex.ru/i/cM7g4Day0U2Gcw
Обзор индустриальных СУБД: Cassandra, ScyllaDB, Tarantool, Picodata (Часть 2) (28.05.2024)
Лекция: https://disk.yandex.ru/i/gkK8JvUiiAe8Hw
Слайды с бекенд-митапа DevHands Open Sessions
Вчера вечером провели “карьерный” митап для бекендеров. Мне кажется, я совершил все возможные ошибки при организации этого эвента: напоролся на неявное ограничение гугл-календаря, похерил тайминг, плохо работал с вопросами и комментариями. Но мне привычнее смотреть на это как на инвестицию - в следующий раз (может быть) буду умнее.
Если кому-то интересно - прикладываю ссылку на youtube. Можете смело смотреть на скорости 1.5. Презентация начинается с 25-й минуты и длится чуть больше часа, вопросы начинаются в 1:38:00.
Чтобы было удобно по-быстрому просмотреть суть - прикладываю картинками слайды. Но вообще очень много в слайды не вошло, плюс был очень большой блок вопросов, я такого количества не ожидал, пришлось поток запросов в какой-то момент просто остановить.
Будем такие встречи повторять, следите за анонсами. И, кстати, планируется новый митап для бэкендеров - по нагрузочному тестированию, что нужно знать и уметь бекендерам. А кто хочет получить продвинутые бекендерские навыки - заканчивается набор на апрельские потоки буткемпа “Производительность и масштабируемость” и курс “Системный дизайн высоконагруженных проектов” - 5 дней действует скидка 10%(волшебное слово SYNSYNACK). Потом будет пауза в наборе, будем масштабироваться и запускать другие треки.
UPDATE: прошу прощения у всех, кого заспамил - сложил все слайды комментариями к посту. ТГ как оказалось и бьет серии картинок и сортирует по умолчанию хрен знает как.
Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 6 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month, 1 week ago