SlideShare a Scribd company logo
Профилирование Node.js
Руководитель группы разработки интерфейсов
Профилирование
Node.js или как
мы разогнались
Чистяков Денис
«Преждевременная
оптимизация — корень всех
зол»
3
Дональд Кнут
Мало держите
Больше RPS!
Сервера не
казенные
Вы какая-то
промка Джанга и та
больше держит
А если ДЦ упадет?
Профилирование Node.js
Профилирование Node.js
Профилирование Node.js
Профилирование Node.js
Сейчас средняя нагрузка
за сутки — 80rps
(≈7 000 000 просмотров)
9
Для примера на Е1
≈3 200 000 просмотров
10
Во время коллапсов может
подниматься до 800rps
11
Как назвать переменную???
Когда инвалидировать кэш???
Профилирование Node.js
Нет удобного инструмента
для замера времени
выполнения функций
14
Профилирование Node.js
С помощью Theseus удобно
искать «горячие» места
16
Тормозила функция
printf и мы устроили
челендж
«Напиши свой printf
с блэкджеком»
Максимально избегайте
синхронного кода
18
Переносите хождение за
общими данными в
отдельный процесс
19
Node WebKit Agent
Node WebKit Agent
vm.runInNewContext() vs
new Function()
22
node --trace_opt
--trace_deopt
--allow-natives-syntax test.js
23
try / catch
24
require
25
console.log
26
Кладезь полезных ссылок
• How to debug Node.js applications
• The node.js Profiling Guide that Hasn’t Existed
• Optimization Killers
• Node WebKit Agent
• Theseus
• microtime
27
Руководитель группы разработки
интерфейсов
dench@yandex-team.ru
@denchistyakov
Спасибо!
Вопросы?
Чистяков Денис

More Related Content

PDF
SphinxSearch Meetup - Tips&tricks
PDF
AVITO. Решардинг Redis без даунтайма. DevConf 2012
PDF
Хранение данных на виниле / Константин Осипов (tarantool.org)
PPTX
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
PPTX
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
PDF
Anton Turetckii "What does it take to build a host?"
PDF
Л9: Взаимодействие веб-приложений
PPTX
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
SphinxSearch Meetup - Tips&tricks
AVITO. Решардинг Redis без даунтайма. DevConf 2012
Хранение данных на виниле / Константин Осипов (tarantool.org)
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
Anton Turetckii "What does it take to build a host?"
Л9: Взаимодействие веб-приложений
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)

What's hot (20)

PDF
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
PDF
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
PPTX
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
PDF
Инфраструктура хранения для KADME Whereoil
PDF
HPC file systems (160761)
PPTX
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
PDF
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
PPTX
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
PDF
Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...
PDF
Современная операционная система: что надо знать разработчику / Александр Кри...
PDF
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
PDF
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
PDF
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
PPTX
Поиск наизнанку
PDF
Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)
PDF
Загрузка больших объемов данных для бизнес-аналитики
PDF
Дмитрий Новиков - Tarantool в Badoo
PDF
Программно-технические комплексы для работы с геолого-геофизическими данными
PPTX
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
PDF
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Инфраструктура хранения для KADME Whereoil
HPC file systems (160761)
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Реалтайм статистика скорости работы нативных и веб-приложений у реальных поль...
Современная операционная система: что надо знать разработчику / Александр Кри...
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Поиск наизнанку
Осваиваем Tarantool 1.6 / Евгений Шадрин (Sberbank Digital Ventures)
Загрузка больших объемов данных для бизнес-аналитики
Дмитрий Новиков - Tarantool в Badoo
Программно-технические комплексы для работы с геолого-геофизическими данными
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Ad

Viewers also liked (9)

PDF
Системы контроля версий
ODP
Сравнение AMQP и ZeroMQ
PPT
Golden rice
PPTX
Elite crop (golden rice)
PPT
Golden rice
PPTX
Golden rice
PDF
Golden Rice – A Humanitarian Biotechnology Project
PPT
Golden rice
PPT
Golden rice ppt
Системы контроля версий
Сравнение AMQP и ZeroMQ
Golden rice
Elite crop (golden rice)
Golden rice
Golden rice
Golden Rice – A Humanitarian Biotechnology Project
Golden rice
Golden rice ppt
Ad

Профилирование Node.js