Yandex for Backend
Канал для бэкендеров от Яндекса. Рассказываем про события по Python, Go, Java и C++ и не только, делимся экспертизой, обсуждаем технологии и поддерживаем бэкенд-комьюнити. Другие каналы Яндекса по стекам разработки: https://t.me/addlist/Hrq31w2p1vUyOGZi
Ko'proq ko'rsatish📈 Telegram kanali Yandex for Backend analitikasi
Yandex for Backend (@yandexforbackend) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 174 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 524-o'rinni va Rossiya mintaqasida 62 106-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 174 obunachiga ega bo‘ldi.
30 Sentabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 88 ga, so‘nggi 24 soatda esa 5 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 21.19% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 10.90% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 2 155 marta ko‘riladi; birinchi sutkada odatda 1 109 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 11 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent yandex, c++, бэкенд, архитектура, хабре kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Канал для бэкендеров от Яндекса. Рассказываем про события по Python, Go, Java и C++ и не только, делимся экспертизой, обсуждаем технологии и поддерживаем бэкенд-комьюнити.
Другие каналы Яндекса по стекам разработки: https://t.me/addlist/Hrq31w2p1vUy...”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 01 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
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
