RU

Мне 15. Мой сайт грузился две секунды, потому что каждый CSS-файл писал в базу данных

Сайт не сломан. Он открывается. В логах чисто, ошибок нет — просто ты кликаешь по вкладке и успеваешь заметить, что кликнул. Я померил: страница каб…

оптимизацияпроизводительностьпрофилированиеfastapisqlitetailwind cssкэшированиеотладкапет-проектself-hosted
Habr
RU

Роль Agile Coach мертва… да здравствует агент изменений

Здесь и далее: скрам-мастер и аджайл коуч тождественны. TL;DR Роль Agile Coach должна умереть, чтобы переродиться в роль Change Agent (или Organizat…

agilescrumkanbanразработкаaiизмененияуправление изменениямиэффективностьпроизводительность
Хабр — Управление
RU

HighLoad в облаке: как выжать максимум производительности за счет выделенных ядер

Когда приложение перестает справляться с растущей нагрузкой, появляется желание «залить» ресурсами виртуальную машину . Однако производительность не…

selectelоблакосерверыпроизводительностьperformanceинфраструктура
Habr
RU

Бенчмаркая сортировку строк: подстава с дефолтным компаратором — ×5

Сортировка строк без компаратора работает не так, как кажется, и заметно дольше. Замерил на четырёх машинах и четырёх рантаймах, посчитал обращения…

сортировка строкArray.SortStringComparerкомпараторBenchmarkDotNetпроизводительностьICUглобализация.NET 11
Habr
RU

[Перевод] Fire‑and‑forget в Go: практический гайд по управляемым фоновым задачам

У go func() есть неприятная особенность: вместе с результатом выполнения легко потерять контроль над самой задачей. Разберём, как пропускать такую р…

Goгорутиныконкурентностьмногопоточностьканалыфоновые задачиворкерыконтекстпроизводительностьархитектура приложений
Habr
RU

Меня подняли на смех за ответ про VIEW. Я поднял MySQL 8.4 и PostgreSQL 17 и померил

На одном собеседовании меня спросили про VIEW. Я ответил честно: в живых проектах они мне почти не попадались; для агрегатов надёжнее держать отдель…

sqlбазы данныхпроизводительностьбенчмаркингbackendhighload
Habr
RU

2,2 МБ против 128 МБ: честный бенчмарк Win32 и Tauri на живом голосовом клиенте

После статьи о выборе Tauri нас спросили, сколько памяти будет занимать программа, которая живёт в трее рядом с игрой. Мы запустили старый БОЛТУН на…

Win32Tauri 2WebView2C++Rustоперативная памятьбенчмаркпроизводительностьголосовой чатWindows
Habr
RU

Лаг растёт, консьюмеры простаивают: диагностика Kafka по трём таймерам

Лаг Kafka растёт, консьюмеры простаивают, а добавление новых экземпляров только ускоряет проблему. Разберём, как по состоянию consume…

Kafkaконсьюмерыconsumer groupлагперебалансировкапартициидиагностика Kafkaобработка сообщенийтаймаутыпроизводительность
Habr
RU

Как я сделал mmap-базу для 4 миллионов товаров и 700 тысяч посадочных страниц

Сделал mmap-базу для 4 млн товаров и получил ~35k RPS. Поиск оказался настолько быстрым, что bottleneck пришлось искать уже после базы. В итоге опти…

GommapJSONSilentJSONMakodbпроизводительностьhighloadиндексыshardingСУБД
Habr
RU

Бенчмаркая LINQ: подстава с OrderBy — одно условие и полная сортировка

Одни вызовы после OrderBy проходят набор один раз, другие приводят к полной сортировке. По коду разницы не видно. Давайте проверим счётчиком обращен…

LINQOrderByFirstсортировкаBenchmarkDotNetпроизводительность.NET 11компаратороптимизация
Habr
RU

Почему тип `numeric` в PostgreSQL такой медленный?

Три независимые попытки сделать для PostgreSQL быстрый точный десятичный тип расширением заглохли. Но не потому, что не получилось ускорить арифмети…

postgresqlnumericdecimalduckdbтипы данныхпроизводительностьвнутренности СУБДolap
Habr
RU

Бенчмаркая Span.Sort: выбрал компаратор-структуру — и получил 88 байт на вызов

Перегрузка Span.Sort с компаратором-структурой должна была работать быстрее обычной. Замер показал обратное: памяти она расходует больше всех, а вре…

Span.SortкомпараторIComparerBenchmarkDotNetаллокациибоксингпроизводительность.NET 11машинный код
Habr
RU

От struct к компиляции под схему: ускоряем RowBinary-декодер на Python

Я автор aiochlite — асинхронного клиента ClickHouse на aiohttp . Раньше мой декодер RowBinary читал каждое числовое поле отдельно. Если брать 200 ты…

pythonclickhousestructrowbinaryоптимизацияпроизводительностьбенчмаркcpythonasyncioбинарные форматы
Habr
RU

Бенчмаркая пагинацию: Where перед Skip — и метод в 1323 раза медленнее

Один Where в начале запроса — и метод медленнее в тысячу раз. Причём чем дальше страница, тем хуже: на первой разница полтора раза, на тысячной — по…

LINQпагинацияSkipTakeWhereBenchmarkDotNetNET 10производительностьбенчмаркUseSizeOptimizedLinq
Habr
RU

Заметки как чаты: почему я перестал искать папку и начал искать сообщение

Всем привет я Артур Валиев, пятничная статья, поехали. Я каждый день кидаю заметки не в специальное приложение, а в Избранное в Telegram — просто по…

TelegramUXпроизводительностьанимациирендерингC++SQLiteFTS5Reactandroid
Habr
RU

Структурированные логи в FastAPI: практический гайд от request_id до trace_id

Самая неприятная часть расследования инцидента начинается, когда нужные данные в логах вроде бы есть, но связать их между собой невоз…

JSON-логиструктурированное логированиеPythonFastAPIloggingrequest_idtrace_idобработка ошибокмониторингпроизводительность
Habr
RU

Кэш — это холодильник: TTL, инвалидация и cache stampede

Объясню кэш через холодильник, а потом покажу, где эта аналогия ломается, и что с этим делают в проде. Статья для тех, кто кэш уже ставил, но не раз…

кэшкэшированиеcache stampedesingleflightTTLинвалидация кэшаGoRedisthundering herdпроизводительность
Habr
RU

Код написали за нас. Как упростить ревью и сколько это стоит в рантайме

Последнее время я почти не пишу код руками — значительную часть реализации берут на себя AI-агенты. Но работы меньше не стало: теперь нужно задавать…

AI-агентыкодогенерацияархитектура ПОмикросервисывысоконагруженные системыпроизводительностьнакладные расходыGoC++Rust
Habr
RU

Добавили потоков, стало медленнее: разбираемся с ложным разделением кеш‑линии

Добавили потоков, а программа стала медленнее? Причина может скрываться в ложном разделении кеш‑линий: потоки работают с разными пере…

ложное разделение кеш-линииfalse sharingмногопоточностькеш процессоракеш-линиякогерентность кешапроизводительностьperfNUMAвыравнивание памяти
Habr
RU

AI SaaS разработка уперлась в CI квоту. Как я решил этот вопрос

Последние месяцы я довольно активно разрабатываю собственный AI SaaS-проект. Причём активность в случае AI-разработки имеет немного другой смысл, че…

cigithubgithub actionshetznerэкономияsaasaiai-агентыпроизводительность
Хабр — Управление
RU

[Перевод] Как потеря 17% сессий запустила цепную реакцию в инфраструктуре Discord

25 марта 2026 года голосовая и видеосвязь Discord перестала нормально работать для большинства пользователей. Причиной стал не один большой сбой, а…

распределённые системыdiscordkubernetesElixirerlangпроизводительностьмикросервисымасштабирование
Habr
RU

Книга: «Java для профи. Инструменты, фреймворки, тестирование, производительность»

Привет, Хаброжители! В книге «Java для профи. Инструменты, фреймворки, тестирование, производительность» тандем опытных Java-разработчиков проводит…

javaфреймворкиинструментытестированиепроизводительностьspringgitprometheusразработка
Habr
RU

А что по скорости печати?

Клавиатуре около 150 лет. Это один из самых старых интерфейсов, которым люди пользуются каждый день. При этом большинство людей не задумываются о то…

навыкпечать вслепуюклавиатурапроизводительностьхард-скиллытренажер клавиатуры
Habr
RU

Предзагрузил пачкой — получил N² запросов. Как expire_on_commit превращает оптимизацию в квадрат

Бывают ошибки, которые не видит ни ревью, ни тесты: код отрабатывает правильно, прогон зелёный, а запросов к базе он делает в сто раз больше прежнег…

sqlalchemyormpostgresqlpythonn+1оптимизацияпроизводительностьexpire_on_commitпрофилирование
Habr
RU

Бенчмаркая ZLinq: один IEnumerable в сигнатуре — и .NET 10 быстрее библиотеки в 3,9 раза

ZLinq — замена LINQ без аллокаций. На .NET 8 и .NET 9 время одинаковое. На .NET 10 иначе: массив тот же, но если параметр объявлен как IEnumerable,…

ZLinqLINQIEnumerableаллокациибенчмаркBenchmarkDotNetпроизводительность.NET 10JITдизассемблер
Habr
RU

Meilisearch и Manticore Search: проверяем сравнение на практике

Несколько дней назад Meilisearch опубликовал  сравнение с Manticore Search  . Мы тоже любим сравнения: в 2023 году  опубликовали своё…

meilisearchсравнение поисковых механизмовполнотекстовый поисквыбор поисковикапроизводительностьоптимизацияmysqlmysql performance
Habr
RU

Бенчмаркая System.Text.Json: те же данные, те же настройки, до ×4,3 разницы

В документации к PropertyNameCaseInsensitive есть предупреждение про накладные расходы, но не сказано, когда они появятся. Замерил на четырёх машина…

System.Text.JsonJsonSerializerOptionsPropertyNameCaseInsensitiveдесериализациякешпроизводительностьбенчмаркBenchmarkDotNet.NET 10оптимизация
Habr
RU

Что мы находим при аудите PostgreSQL: 10 распространенных ошибок

Когда приходишь на аудит СУБД к разным компаниям, картина удивительно похожа: одни и те же проблемы, одни и те же причины. Меня зовут Андрей, я DBA…

postgresqlpostgresql scalingdbaадминистрирование баз данныхсубдрезервное копированиелогирование postgresqlинформационная безопасностьмониторинг postgresqlпроизводительность
Habr