Яндекс разработал и выложил в открытый доступ Перфоратор — инновационный инструмент для непрерывного мониторинга и анализа серверов и приложений в режиме реального времени.
Перфоратор помогает разработчикам выявлять наиболее ресурсозатратные участки кода и предоставляет подробную статистику для последующей оптимизации. Благодаря выявлению неэффективного кода и поддержке профильной оптимизации Перфоратор предоставляет точные данные , которые позволяют предприятиям вручную оптимизировать свои приложения и сократить расходы на инфраструктуру до 20%. В зависимости от размера компании это может привести к экономии миллионов долларов в год и более.
«Перфоратор помогает компаниям получить максимальную отдачу от своих серверов без ущерба для производительности, — рассказывает Сергей Скворцов, старший разработчик Яндекса, возглавляющий команду, которая создала этот инструмент. —С помощью Перфоратора предприятия могут оптимизировать свой код, уменьшить нагрузку на сервер и, в результате, снизить затраты на электроэнергию и оборудование».
Зачем нужен Перфоратор?
Оптимизация ресурсов имеет ключевое значение как для крупных центров обработки данных и технологических корпораций, так и для обладающих ограниченными ресурсами малых бизнесов и стартапов. Вместо того, чтобы тратить средства на дополнительное оборудование, компании могут использовать возможности Перфоратора, чтобы оптимизировать уже имеющуюся инфраструктуру без ущерба для производительности. Этот инструмент уже более года используется для профилирования во многих сервисах Яндекса, и теперь он стал доступен компаниям, разработчикам и аналитикам по всему миру.
Компании могут развёртывать Перфоратор на собственных серверах, тем самым сводя к минимуму зависимость от внешних поставщиков облачной инфраструктуры и сохраняя полный контроль над своими данными. Это делает Перфоратор идеальным решением для организаций с жесткими требованиями к безопасности данных, работающих в закрытой инфраструктуре.
«Перфоратор может быть полезен компаниям любого размера, от малых предприятий с 10–100 серверами, которым он сэкономит миллионы долларов в год, до крупных корпораций с тысячами серверов, где экономия может достигать сотен миллионов или даже миллиардов долларов в год, — отметил Сергей Скворцов. — Независимо от размера вашей компании, Перфоратор может помочь вам снизить затраты на инфраструктуру, высвободив ресурсы для дальнейших инноваций и роста».
Как работает Перфоратор
Перфоратор предоставляет подробную информацию об использовании серверных ресурсов и анализирует влияние кода на производительность, выявляя наиболее ресурсозатратные приложения. Перфоратор нативно поддерживает такие языки программирования, как C, C++, Go, Rust, Python и Java. Это решение обеспечивает углубленную аналитику и визуализацию данных с помощью Flame-графиков, тем самым значительно облегчая процесс диагностики проблем.
Пример Flame-графика, сгенерированного Перфоратором
«Перфоратор уже более года успешно тестируется в требовательной рабочей среде Яндекса и обладает широким спектром функций, которые делают его надежным и универсальным решением для мониторинга и оптимизации производительности серверов», — добавил Сергей Скворцов.
Одним из ключевых преимуществ Перфоратора является поддержка профильной оптимизации (profile-guided optimization, PGO), которая позволяет добиться автоматического улучшения до 10% в производительности программ на C++. Кроме того, Перфоратор рассчитан на бесперебойную работу на отдельных компьютерах, поэтому он подходит не только крупным компаниям, но также стартапам и компьютерным любителям. Помимо этого, Перфоратор обладает важнейшим функционалом для крупных организаций, включая функцию A/B-тестирования, позволяющую компаниям принимать решения на основе объективных данных.
Опенсорсное решение для разработчиков и бизнеса
Решение выложить исходный код Перфоратора в открытый доступ отражает стремление Яндекса поддерживать взаимодействие с сообществом в рамках совместной разработки системных технологий.
«Мы считаем, что открытие исходного кода таких фундаментальных системных технологий способствует развитию технологических инноваций во всем мире, — заявил Сергей Скворцов. — А ещё мы верим, что наша разработка будет полезной миру и может принести свою ценность как разработчикам, так и бизнесу. При этом открытость технологии позволяет принимать решения по развитию инфраструктуры профилирования вместе с сообществом».
Что дальше?
В ближайшем будущем Перфоратор будет расширен дополнительными возможностями, включая улучшенную интеграцию с Python и Java и более точный анализ событий.
Исходный код Перфоратора теперь доступен на GitHub. Там же можно скачать и исходный код других опенсорсных решений Яндекса — например, YaFSDP, инструмента, позволяющего ускорить обучение больших языковых моделей.
Перфоратор — новейшее решение в коллекции опенсорсных инструментов Яндекса. Ознакомиться со всеми опенсорсными проектами компании, включая YYaFSDP, AQLM и YTsaurus, можно на этой странице.
Яндекс купил технологию сервиса Bookmate
Бизнес в кризис: на чем можно сэкономить в сложные для рынка времена
Яндекс закрыл сделку по продаже Дзена и Новостей