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
The Node.js Scalability Myth
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Felix Geisendörfer
June 16, 2012
Programming
1.3k
6
Share
The Node.js Scalability Myth
Talk given at the Munich Node.js Meetup on 14.06.2012.
Felix Geisendörfer
June 16, 2012
More Decks by Felix Geisendörfer
See All by Felix Geisendörfer
tus.io - Resumable File Uploads (Lightning Talk)
felixge
2
810
Programming flying robots with JavaScript
felixge
2
1k
Programming flying robots with JavaScript
felixge
0
640
Programming an AR Drone Firmware with JS (de)
felixge
1
650
Faster than C?
felixge
1
1.3k
Flying robots over a 10.000 mile distance with JavaScript.
felixge
0
530
Faster than C?
felixge
1
690
The power of node.js (with quadcopters)
felixge
0
530
Faster than C?
felixge
0
460
Other Decks in Programming
See All in Programming
ロボットのための工場に灯りは要らない
watany
12
3.3k
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.1k
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
3.7k
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
310
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.5k
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
580
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
220
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
250
ファインチューニングせずメインコンペを解く方法
pokutuna
0
220
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
420
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
720
Rethinking API Platform Filters
vinceamstoutz
0
4.3k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
170
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.1k
The Spectacular Lies of Maps
axbom
PRO
1
670
Building an army of robots
kneath
306
46k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
Test your architecture with Archunit
thirion
1
2.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Transcript
The Node.js Scalability Myth Felix Geisendörfer 14.06.2012 at Munich node.js
user group
None
Felix Geisendörfer
transloadit.com
core contributor
npm modules
node-formidable
node-mysql
~50 modules total
(@)felixge(.de)
Background
I need to build an über-scalable web service. It will
be the next big thing!
Easy! I will use node.js and MongoDB!
Easy! I will use node.js and MongoDB!
Because node.js is “scalable”, right?
None
This Talk
#1 Consider Reality
Using node for performance reasons?
Measuring performance in production?
1000 req / s
100 req / s
10 req / s 10 req / s
~1 million requests per day
~1 million units of value
None
#2 Node Scales Vertically
Adding more resources to a single node
None
CPU
Google V8
JS -> Assembly
Crankshaft JIT
Fast
Single Threaded* * For most parts
Computers of the future will have hundreds of cores!
Node’s Multi-Core Story
Pre-fork
IPC
Like Ruby, Python, PHP, etc.
But ... shared memory?
Your problem requires shared memory?
JavaScript is not your language
Good Luck
Memory
No hard limit on 64bit (since node-0.6 / v8-3.7)
However
Avoid huge heaps
Disk
Done in thread pool
Along with DNS
No sendfile()
None
Network
None
Non-blocking I/O
tl;dr
pre-fork & non-blocking i/o
#3 Horizontal Scaling is hard
CAP
Network Partitions
Consistency
Availability
Some Tips
Shared Nothing
Messaging
Monitoring
The Node.js Scalability Myth
Threads do not scale Node.js scales
Threads do not scale Node.js scales
Node is a tool
None
None
None
If you can’t duc it F#@k it
Questions? Slides will be available at felixge.de
Thanks
Tool Demo