Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NodeJS in Production
Search
Mark Wolfe
October 22, 2014
Technology
0
140
NodeJS in Production
Talk I gave at NodeJS meetup in Melbourne about running and monitoring applications in production.
Mark Wolfe
October 22, 2014
Tweet
Share
More Decks by Mark Wolfe
See All by Mark Wolfe
IP Networking in AWS
wolfeidau
0
56
Getting Into Vue.js
wolfeidau
0
180
AWS Automation With Lambda
wolfeidau
1
85
Ansible and Cloudformation
wolfeidau
1
220
Docker Security
wolfeidau
0
180
Building a Proxy in Go
wolfeidau
2
350
Using JWT to Authenticate Microservices
wolfeidau
1
240
Managing Secrets IN AWS
wolfeidau
0
130
ESPlant Workshop Firmware Overview and Demos
wolfeidau
0
110
Other Decks in Technology
See All in Technology
All your memory are belong to… whom?
ennael
PRO
0
370
山手線一周のパフォーマンス改善
suzukahr
0
110
PREEMPT_RT over the years
ennael
PRO
0
250
XPを始める新人に伝えたい近道の鍵
nakasho
1
190
【shownet.conf_】放送局とShowNetが共創する、未来の放送システム ~Media over IP 特別企画の裏側~
shownet
PRO
0
240
ITエンジニアとして知っておいてほしい、電子メールという大きな穴
logica0419
1
260
XP matsuri 2024 - 銀河英雄伝説に学ぶ
kawaguti
PRO
3
440
クロージング / MIERUNE JCT - Tokyo 2024
mierune
PRO
0
290
Making Linux sucks less
ennael
PRO
0
410
【swonet.conf_】NOCメンバーが語るSTMの実態!! ~ShowNetから若者への贈り物~
shownet
PRO
0
200
Vista FinderMx
jtes
0
160
【ログ分析勉強会】EDR ログで内部不正を検出できるのか、Copilot に聞いてみた
hssh2_bin
2
250
Featured
See All Featured
Statistics for Hackers
jakevdp
795
220k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
124
18k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
30
2.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
59k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Thoughts on Productivity
jonyablonski
67
4.2k
Speed Design
sergeychernyshev
22
460
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
No one is an island. Learnings from fostering a developers community.
thoeni
19
2.9k
Transcript
NodeJS In Production
Some Background Ninjablocks has been using NodeJS for ~3 years
Used in a range of web and realtime services Running on Heroku and AWS Also running on 1000s ARM devices
Operational Visibility Add graphs for things business metrics! Add graphs
for key system performance metrics Tune logging to remove noise Simple deterministic deployment process Error Monitoring
Operational Visibility cont. Get a chat room for ops events,
Engineering hipchat slack All events go to this room commits + deploys + badness + gifs
Graphs Business Metrics! Orders, Payments and Signups CPU Usage /
Load Memory Usage RSS (Resident Set Size) and V8 Heap Total / Used Event Loop Delay
Logging What happened? When did this happen? Where in our
codebase did this happen? File and Line Number Visible from anywhere and searchable
Health Checks Health Checks SQL server connection status Redis connection
status Anything your app depends on to operate
Monitoring Suite Pager Duty Pingdom Librato Bugsnag
Demo Code!
Memory Leaks Every production node app I have seen has
them V8 Memory leaks Buffer leaks (fragmentation) Everything is Lazy
Eliminating Leaks v8 profiler, learn to use it node-tick (more
links in readme) Watch the v8 tuning presentations! Why bother?
Questions CTO at Ninja Blocks http://ninjablocks.com/ @wolfeidau on twitter github.com/wolfeidau