Yandex for Backend
Канал для бэкендеров от Яндекса. Рассказываем про события по Python, Go, Java и C++ и не только, делимся экспертизой, обсуждаем технологии и поддерживаем бэкенд-комьюнити. Другие каналы Яндекса по стекам разработки: https://t.me/addlist/Hrq31w2p1vUyOGZi
Show more📈 Analytical overview of Telegram channel Yandex for Backend
Channel Yandex for Backend (@yandexforbackend) in the Russian language segment is an active participant. Currently, the community unites 10 173 subscribers, ranking 11 524 in the Technologies & Applications category and 62 106 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 10 173 subscribers.
According to the latest data from 30 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 88 over the last 30 days and by 5 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 21.19%. Within the first 24 hours after publication, content typically collects 10.90% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 155 views. Within the first day, a publication typically gains 1 109 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 11.
- Thematic interests: Content is focused on key topics such as yandex, c++, бэкенд, архитектура, хабре.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Канал для бэкендеров от Яндекса. Рассказываем про события по Python, Go, Java и C++ и не только, делимся экспертизой, обсуждаем технологии и поддерживаем бэкенд-комьюнити.
Другие каналы Яндекса по стекам разработки: https://t.me/addlist/Hrq31w2p1vUy...”
Thanks to the high frequency of updates (latest data received on 01 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
zend_execute_ex.
Хорошая новость: коллеги как раз допиливали поддержку PHP в Perforator, но пока не вмержили её в основную ветку. Однако нам залили на одну из хост-машин, где крутился инстанс PHP-монолита, специально собранную версию с поддержкой PHP. И я сразу же увидел пожирателя CPU.
Им оказалась функция getRoutePattern для атрибута http.route. Изначально никто не заметил, что getRouteCollection не возвращает готовый закешированный список роутов, а каждый раз собирает его заново: проходит по всем YAML-файлам и читает аннотации в PHP-файлах.
🦾 Исправление оказалось элементарным: теперь роуты читаются и сохраняются один раз на этапе сборки контейнера, а в рантайме берутся из кеша.
➖ Результат: потребление CPU в 99-м процентиле снизилось почти на 30%.
❇️ Инфраструктурные полтергейсты
На стороне PHP очевидных тормозов больше не было. Но я обратил внимание, что теперь топ потребления CPU выглядит так:
🟢 PHP: 20%
🟢 HAProxy: 19%
🟢 psql: 17%
🔍 Внутри psql мы увидели странный call stack. Оказалось, что в Debian psql по историческим причинам запускается через Perl-обёртку. Она выбирает нужную версию клиента, потому что в системе может быть установлено сразу несколько версий PostgreSQL (этой возможности уже больше 20 лет).
Также монолит на PHP не использует postgres-специфичные connection string, чтобы подключаться к primary-ноде БД — это решение вынесено на уровень HAProxy. А он не умеет делать это нативно, только проверять tcp connectivity. Так что для проверки были написаны специальные скрипты, которые и вызывали psql. В итоге один только запуск Perl-обёртки начал заметно потреблять ресурсы.
🦾 Проблему решили довольно просто: добавили agent-check в HAProxy. Передаём проверку состояния бэкенда отдельному агенту, который может делать то, чего HAProxy не умеет.
➖ Результат: строки с описанием бэкенда теперь длиннее, но зато работа стала быстрее и стабильнее. И после выкатки этого изменения на тестинге Perl пропал в профилях.
🔶 Читайте больше подробностей в статье на Хабре. Там я рассказал, почему HAProxy продолжал расходовать много CPU даже после наших изменений. А ещё поделился, как мы увеличили выделенную под APCu память и реализовали динамическую балансировку.
Подписывайтесь:
💬 @Yandex4Backend
📹 @YandexforBackendЕсли у вас много команд, неизбежно возникнет ситуация, что разные люди будут параллельно работать над одними и теми же проблемами. И у нас так было: каждая команда выбирала свой стек инструментов и самостоятельно его поддерживала. А если взять общие технологии под контроль и развивать их централизованно, то продукты смогут сосредоточиться на продуктовых задачах.Я считаю, что расти можно даже в условиях неопределённости. Во многом благодаря этому у нас появился техрадар — инструмент для мониторинга и управления технологиями. Мы считаем его показателем здоровья продуктов. Он помогает понять, где появляются проблемы, что устаревает и нужно ли обратить внимание на безопасность и подумать о переменах. 👩⚕️ В карточках делюсь, как сложился мой карьерный путь и почему рост до руководителя просто один из способов делать больше интересного. 🔶 Подробнее читайте в блоге о работе в Яндексе. А познакомиться с нашим техрадаром поближе можно в демоверсии для внешних пользователей. Подписывайтесь: 💬 @Yandex4Backend 📹 @YandexforBackend
