Highload-2022: Отчёт Виталия Филиппова
Топовая Бунинская конференция, самая распиаренная и самая отъевшаяся — к счастью, до вменяемых пределов, в отличие от еврогейских конференций, где вообще всё коммерциализировано вусмерть и даже докладчики доплачивают за участие. :-)
Общее впечатление: на удивление, довольно бодро. Весенний хайлоад — 2021, перенесённый на весну 2022 — был значительно тухлее, на нём я тоже выступал, но о докладах даже заметок себе вменяемых не оставил.
Вообще, прошлые хайлоады я не мог отделаться от мысли, что каждый год выступают одни и те же лица с одними и теми же темами докладов — Сысоев и nginx, постгрес-про, mysql, куратор, erlyvideo, одноглазники с java-микросервисами, какое-нибудь badoo на php… в общем всё норм, но уже поднадоедало. Что случилось сейчас — не знаю, возможно, «одни и те же лица» уехали в сторону горы Арарат. :-) хотя Максим Лапшин с erlyvideo был. :-) но так или иначе, повторюсь — некое ощущение новизны всё-таки было. А может, это меня отпустило.
Проходила конференция снова в Крокусе, стоила для участников, кажется, 60к (в 2013 было 21к… инфляция :D). Организация была вполне приличная, всего хватало — и места, и плюшек, и еды, и гардеробов, и стоек регистрации. От практики раздачи тонн макулатуры, видимо, отказались, и слава богу, спину ей только оттягивать. Залов параллельно было аж 8, но, к счастью, «основных» 4 — в общем, угрызаемо.
Содержание
- 1 День 1
- 1.1 Exadata для PostgreSQL
- 1.2 Из оракла в тарантул Debezium-ом
- 1.3 GeeseFS - ФС из S3
- 1.4 Обзор архитектуры тарантула
- 1.5 Форк nginx (ООО Веб Сервер)
- 1.6 Стородж Яндекса может всё
- 1.7 Жизнь перф инженера в Pg Pro
- 1.8 Хранилище почты mail.ru
- 1.9 SPQR для постгри
- 1.10 Как сцилла стояла раком
- 1.11 ZFS+ZFS -> тормоза NVMe
- 2 День 2
День 1
Exadata для PostgreSQL
Константин Аристов (Скала^р) - Наша Машина Баз Данных (это как Oracle Exadata, только для PostgreSQL) и система управления к ней
Из оракла в тарантул Debezium-ом
Александр Горякин (Tarantool) — Репликация между SQL- и NoSQL-базами данных: туда и обратно
Фуфло какое-то, по названию доклада мы с Максом было подумали, что сейчас нам тарантулы расскажут про какой-то новый офигенный инструмент репликации, который они сделали и который умеет и так, и эдак, и вообще лучше всего, что есть в природе.
Вместо этого… Oracle GoldenGate? IBM InfoSphere CDC? «Что-то дорого». Тут уже стало понятно, что рассказ не про «репликацию между базами данных», а конкретно про оракл. Прям CUSTIS-ом повеяло, там тоже с голденгейтом игрались…
Далее: ну, можно написать самим на pglogrepl+pgproto, «но типа это самопис, костыли и ведёт к зоопарку» — так стоп, а при чём тут постгря, если вы из оракла мигрировали :)
А в итоге просто выбрали Debezium (на Java), сначала Embedded, потом Server. Посокрушались, что API Oracle LogMiner депрекейтнутое, а API Oracle XStream открывается по лицензии голденгейта, которая стоит вагон денег. На этом всё в общем и остановилось.
В начале ещё упомянули три «подхода к репликации»: ETL, отслеживание изменений на триггерах (change tracking) и расшифровка WAL-ов базы (change data capture), и что они выбрали последний. Ну да, Debezium это оно.
В общем, «мы смогли запустить Debezium». Ну, молодцы, чо :)
GeeseFS - ФС из S3
Мой доклад - GeeseFS: ФС из S3, или Параллелизм гусей в природе
Обзор архитектуры тарантула
Константин Перепелица (Tarantool) - Архитектура надёжной In-Memory-СУБД на примере Tarantool
Форк nginx (ООО Веб Сервер)
Иван Полуянов, Валентин Бартенёв (Web Server LLC) - Дорогая, я форкнул nginx
Стородж Яндекса может всё
Вадим Зотеев (Яндекс) - Балансировка нагрузки в мульти-эксабайтном сторадже
Жизнь перф инженера в Pg Pro
Михаил Жилин (Postgres Pro) — Аномальные случаи высокой нагрузки в PostgreSQL, и как мы с ними справились
Заинтересовался, посмотрел постфактум. Просто рассказ про несколько случаев тормозов постгри из своего опыта, которые он ловил. Практической пользы для пользователя postgresql почти нет, польза разве что в том, что если видишь тормоза — можно обновиться, можно попробовать заюзать обычный linux-овый perf (perf record и т.п) и иногда даже что-то с ним найти. Иногда может помочь уменьшение объёма DDL. Остальное — чисто разработческая жизнь, про то, как они (или не они) что-то нашли и оптимизировали.
Случаи из рассказа:
- GetSnapshotData в perf — MVCC-снимки (решение — обновиться до pg 14+, возможно сделать repeatable read)
- Тормоза подтранзакций (покрутить slru_buffers_size_scale)
- Кэш каталога (не юзать DDL, проверять инвалидации по pgpro_stats)
- Тормоза от auditd, пойманные через perf
- Какой-то нюанс отображения pg_stat_activity, который уже почти запатчили
- Оптимизация visibility bitmap-ов в index-only сканах, которую тоже уже почти запатчили
Хранилище почты mail.ru
Виктор Могилин (mail.ru) - Хранилище для Почты
SPQR для постгри
Денис Волков, Кирилл Решке (Yandex Cloud) - SPQR: горизонтальное масштабирование PostgreSQL
Пытался смотреть доклад в режиме вытесняющей многозадачности параллельно со сцыллой.
Как сцилла стояла раком
Илья Орлов (STM Labs) - Укрощение мифического чудовища: реальный опыт промышленного использования ScyllaDB без прикрас
ZFS+ZFS -> тормоза NVMe
Андрей Копейко (VK) — Как «добиться» времени записи 200 мс на NVMe-дисках
Не смотрел, но упомяну, ибо смотрел коллега. Чуда, увы, не произошло, ничего гениального типа внутренних алгоритмов работы SSD в докладе не было. Вместо этого классическое: ZFS со сжатием, в нём Proxmox, в виртуалке опять ZFS со сжатием, в ней TimescaleDB опять со сжатием, а в неё заливаем 28 ТБ данных.
Вуаля, вот ваши тормозные чтения с NVMe. И заодно удроченный на 50 % паспортного TBW за 10 месяцев диск.
Ну а что вы хотели. WA оно такое. Надо было ещё Ceph поставить, смогли бы и секунды добиться… :)
День 2
?
Егор Хайруллин (Яндекс) - Как перейти от batch к streaming на примере рекламной контент-системы
Graphviz от безопасника ядра
Александр Попов (Positive Technologies) - Безопасность ядра Linux: в теории и на практике
Примитивные хаки k8s
Лев Хакимов - Хакнуть K8s: разбор пэйлоадов и способов защиты
DBA ловит тормоза диска через eBPF
Пётр Бобров (QIWI) - Мониторинг черных ящиков и котов в мешке через eBPF
MVCC в тарантуле
Александр Ляпунов (Tarantool) - Как работает MVCC в In-Memory-СУБД
Экодиктант за 2 месяца
Станислав Жуковский, Василий Шалимов (Старботс РФ) - Экодиктант 2021: highload-проект с нуля за 2 месяца
DNS через SDN
Георгий Меликов (VK Cloud) - Полная изоляция клиентов в облаке для сервисов без изоляции на примере DNS