Рубрика «latency»

Я однажды примерно за сутки сжег около $100 на голосовом агенте.

Не на большом запуске. Не на огромной базе. Не на хитрой рекламной кампании. Просто на небольшом пуле холодных контактов, где агент периодически попадал на voicemail, IVR, секретарей и других ботов.

В какой-то момент два не очень умных голосовых процесса могли довольно долго вежливо говорить друг другу что-то в духе:

  • Здравствуйте.

  • Здравствуйте, чем могу помочь?

  • Я звоню, чтобы…

  • Здравствуйте, чем могу помочь?

  • Конечно, подскажите, пожалуйста…

Я хочу показать вам, как одна буква в ассемблере может стоить 3× производительности. Не в теории — на живых замерах. По дороге мы заглянем внутрь процессора: Register Alias Table, partial register merge, scheduler, latency vs throughput, и даже обнаружим, что делитель выдаёт остаток раньше частного.

Но начнём с основ. Приготовьтесь: кроличья нора окажется глубже, чем кажется.

Немного контекста

Процессор x86-64 работает с регистрами — быстрыми ячейками прямо внутри CPU. Их немного (16 основных), зато доступ к ним — за доли такта, в отличие от оперативной памяти, где задержка может достигать сотен тактов.

Главный нюанс: у каждого регистра есть Читать полностью »

Всю профессиональную карьеру я так или иначе жил рядом с базами данных: начинал с Oracle, потом надолго перешёл на MS SQL Server и PostgreSQL (думаю, я здесь не один такой).

Обычно мы используем СУБД как инструмент: учитываем нюансы синтаксиса, оптимизатора, утилит и поведения движка — и решаем прикладные задачи. Но недавно, разворачивая очередной PostgreSQL‑кластер для продакшена, я поймал себя на мысли: не слишком ли много всего нужно поднять вокруг PostgreSQL, чтобы система работала одновременно безопасно и предсказуемо по производительности?

Читать полностью »

Иногда инцидент начинается не с 5xx и не с красного графика

Он начинается с одной стойки

И с одного таймаута

09:12 - alert: db-replica-02 connection timeout

HAProxy зелёный
HTTP 5xx = 0.2%
p50 = 38–42ms

Минимальная схема

Минимальная схема

2 стойки
В каждом свой ToR
Primary и app в rack-1
Replica-01 в rack-1
Replica-02 в rack-2

Читать полностью »

Привет! В каждой компании есть люди, которые не пишут код каждый день, но почти каждый день принимают решения, от которых этот код либо спокойно живёт под нагрузкой, либо превращается в источник инцидентов и срочных созвонов. Думаю они согласятся, что масштабируемые IT-продукты строятся не только на технологиях, а ещё и на умении мыслить вероятностно.

Когда в команде спорят о фичах, производительности или надёжности, я редко слышу принципиально разные аргументы. Чаще это разные формы одного и того же:

-Мне кажется, пользователям понравится.
-Я уверен, что система выдержит.
-Читать полностью »

Мы стабилизировали QUIC на реальных RU↔EU трассах: jitter <1 мс PoP↔PoPP50 ~20–21 мс RU↔EU (end-to-end). Помогли BBRv3 с динамическим pacing, HTTP/3 Datagrams/MASQUE (RFC 9297/9298/9484) и экспериментальный FEC. На профиле 5% потерь при включенном FEC видим ~+10% goodput (recovery валидируем group-aligned тестом). Ниже - методика, цифры и репликация. Замеры - для наших RU↔EU путей (октябрь 2025), на других трассах цифры могут отличаться. Все тесты проводились на реальных Edge PoP узлах CloudBridge (Moscow, Frankfurt, Amsterdam) с использованием собственного инструмента quic-test.

1. Введение

Читать полностью »

Повышение эффективности и производительности через инновационные стратегии маршрутизации.

Источник

Что такое LLM Routing?

  • В стремительно развивающемся мире искусственного интеллекта большие языковые модели (LLM)Читать полностью »

Конвейеризация: универсальный способ повышения пропускной способности - 1

Что общего между стиральной машиной, CPU и микросервисами? Все они выигрывают от «конвейеризации» (англ. pipelining).

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js