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

Post on 18-Jul-2015

182 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Руководитель группы разработки интерфейсов

Профилирование Node.js или как мы разогналисьЧистяков Денис

«Преждевременная оптимизация — корень всех зол»

3 Дональд Кнут

Мало держите

Больше RPS!

Сервера не казенные

Вы какая-то промка Джанга и та

больше держитА если ДЦ упадет?

Сейчас средняя нагрузка за сутки — 80rps (≈7 000 000 просмотров)

9

Для примера на Е1 ≈3 200 000 просмотров

10

Во время коллапсов может подниматься до 800rps

11

Как назвать переменную???

Когда инвалидировать кэш???

Нет удобного инструмента для замера времени выполнения функций

14

С помощью 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

Спасибо! Вопросы?

Чистяков Денис

top related