HuntingPerformanceProblemsinNode.jsDanielKhan|@dkhan
Node.js iswhattheCompanyOutlaws
usetofinally introducechange
@dkhan
Node.js iswhattheCompanyHipstersthrewin
justtobreakeverything@dkhan
Node.jsisaC++programcontrolledbyV8JavaScript
@dkhan
process.memoryUsage(){ rss: 4935680, heapTotal: 1826816, heapUsed: 650472 }
@dkhan
http://bit.ly/1PvijIy
var snap=profiler.takeSnapshot();snap.serialize();
v8-profiler
@dkhan
http://bit.ly/1jQMbBR
profiler.startProfiling(id);profiler.stopProfiling(id);
v8-profiler
@dkhan
NODE_ENV=productionNODE_ENV=development
Blog:http://bit.ly/1flz0Xm
@dkhan
get(‘/routeA’,function(){})
get(‘/routeB’,function(){})
get(‘/routeC’,function(){})
get(‘/routeD’,function(){})
get(‘/routeE’,function(){})
get(‘/routeA’,function(){})
get(‘/routeX’,function(){})
get(‘/^(route|router)\/(.+)’,function(){})
HTTPGET/routeX
get(‘/routeA’,function(){})
get(‘/routeX’,function(){})
O(n)
@dkhan
1980 20001995 2005 2010 2015
Stakeholders@dkhan
“Nomanisanisland”or…Weneedaholisticview.
MeetApplicationPerformanceMonitoring
@dkhan
#1MonitorMemoryConsumption
@dkhan