perf

  • ХабрахабрФото Как профилировать, когда perf видит не все

    Как профилировать, когда perf видит не все

    В современных системах интерпретаторы используются повсеместно. Для проверки на соответствие ожиданиям по производительности их необходимо профилировать. Но когда значительная часть логики исполняется встроенным интерпретатором, окинуть взглядом общую картину при профилировании становится крайне затруднительно, потому что существующие инструменты не способны отражать переходы между интерпретируемой и нативной частями системы.Меня зовут Максим Кокряшкин, я занимаюсь поддержкой и расширением функциональности форка LuaJIT, интегрированного в…

    Читать далее »
  • ХабрахабрФото Как мы планировали повысить версию PHP за месяц, а потратили на это год

    Как мы планировали повысить версию PHP за месяц, а потратили на это год

    Как и множество больших сервисов, Яндекс Еда основана на микросервисной архитектуре. Все сервисы написаны на C++ с использованием фреймворка userver. Также мы активно развиваем внутренний фреймворк для сервисов на Golang. При этом стараемся использовать последние версии и стандарты языков. В общей сложности у нас чуть больше 200 микросервисов. Но есть один сервис, который совсем не микро. Это легаси-монолит, доставшийся Яндекс Еде после объединения…

    Читать далее »
  • ХабрахабрФото [Перевод] Управление производительностью с Python 3.12

    [Перевод] Управление производительностью с Python 3.12

    В Python 3. 12 появилась поддержка perf profiling. В этой статье рассмотрим, как это помогает сократить время выполнения Python-скрипта с 36 секунд до 0,8. Мы рассмотрим Linux-инструмент perf, а также графики Flame Graph (добавить пояснение: способ визуализации процессорного времени, потраченного на функции), посмотрим на  дизассемблированный код и займемся поиском ошибок. Код из статьи можно посмотреть здесь. Загляните на соответствующую страницу…

    Читать далее »
  • ХабрахабрФото Профайлер Бедного Человека: первое знакомство и (приятные) последствия

    Профайлер Бедного Человека: первое знакомство и (приятные) последствия

    Если вам приходилось оптимизировать работу программ, то вы могли слышать о Профайлере Бедного Человека. Этой идее даже посвящён целый сайт. ПБЧ собирает статистику времени выполнения отдельных функций программы, «подглядывая» в процесс её исполнения с помощью дебаггера. Концепт ПБЧ хорошо прижился у нас в движке баннерной крутилки — не буду в 100 500-й раз напоминать, что у Яндекса всё высоконагруженное, ресурсоёмкое и…

    Читать далее »
  • ХабрахабрФото Entity Framework Core и высокая производительность

    Entity Framework Core и высокая производительность

    Entity Framework Core является рекомендованным и самым популярным средством взаимодействия с реляционными базами данных на платформе ASP NET Core. Это мощный инструмент который подходит для большинства сценариев, но, как и любой другой инструмент имеет свои ограничения. Долгое время бытовало мнение (и не безосновательно) что Entity Framework не подходит для высоконагруженных систем и в таких сценариях лучше использовать Dapper. Но время…

    Читать далее »
  • ХабрахабрФото Битвы на территории ZFS

    Битвы на территории ZFS

    Один из крупных клиентов нашей компании попал в грустную ситуацию: базы данных подросли, потребности тоже, купили мощные NUMA-сервера, установили любимую файловую систему ZFS (ZFS — для краткости: формально это OpenZFS), а производительность PostgreSQL стала хуже, чем до покупки. Базы нешуточные: две базы, в каждой по 180ТБ. В них сливаются данные из многих других, непостгресовых баз. А этими, огромными напрямую пользуются…

    Читать далее »
  • ХабрахабрФото [Перевод] Отслеживание пути пакета с помощью точек трассировки Linux, perf и eBPF

    [Перевод] Отслеживание пути пакета с помощью точек трассировки Linux, perf и eBPF

    Я давно искал какой-нибудь инструмент для низкоуровневой отладки сети Linux. Linux позволяет создавать сложные сети, запускаемые прямо на хосте, используя комбинацию из виртуальных интерфейсов и сетевого пространства имен. Когда что-то идет не так решение возникших проблем утомительно. Если это проблема маршрутизации L3, mtr (Matt's traceroute) имеет неплохие шансы принести пользу. Однако, если проблема на более низком уровне, обычно все заканчивается…

    Читать далее »
  • ХабрахабрФото Анализ производительности запросов в ClickHouse. Доклад Яндекса

    Анализ производительности запросов в ClickHouse. Доклад Яндекса

    Что делать, если ваш запрос к базе выполняется недостаточно быстро? Как узнать, оптимально ли запрос использует вычислительные ресурсы или его можно ускорить? На последней конференции HighLoad++ в Москве я рассказал об интроспекции производительности запросов — и о том, что даёт СУБД ClickHouse, и о возможностях ОС, которые должны быть известны каждому. Например, он работает одну секунду. Каждый раз, когда я…

    Читать далее »
  • ХабрахабрФото Perf и flamegraphs

    Perf и flamegraphs

    В этой статье мы расскажем об одном инструменте для поиска этих самых мест на примере работы блочного стека в Linux и одного случая траблшутинга работы хоста. Огромную популярность набирает тема повышения производительности операционных систем и поиска узких мест. Пример 1. Тестовый Ничего не работает Тестирование в нашем отделе ― это синтетика на продуктовом железе, а позже ― тесты прикладного ПО.…

    Читать далее »
  • ХабрахабрФото Производительность PHP: планируем, профилируем, оптимизируем

    Производительность PHP: планируем, профилируем, оптимизируем

    Два года назад мы писали о том, как перешли на PHP 7. Привет, Хабр! На нашем профиле нагрузки новая версия оказалась в два раза более эффективной по использованию CPU: ту нагрузку, которую раньше у нас обслуживали ~600 серверов, после перехода начали обслуживать ~300. 0 и сэкономили миллион долларов. В результате на протяжении двух лет у нас был запас мощностей. Количество…

    Читать далее »


Кнопка «Наверх»