SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
We will learn how a small team at Twitter keeps up with breakneck growth, by focusing on three performance milestones completed in the last year.
First, an upgraded caching strategy. Second, our new open source message queue. Third, optimizations made to the internal cache client. Real-life graphs will be viewed along the way, and we will discuss how the lessons learned can be applied to your own projects.
We will learn how a small team at Twitter keeps up with breakneck growth, by focusing on three performance milestones completed in the last year.
First, an upgraded caching strategy. Second, our new open source message queue. Third, optimizations made to the internal cache client. Real-life graphs will be viewed along the way, and we will discuss how the lessons learned can be applied to your own projects.
19.
Simplest MQ ever:
Gives up constraints for scalability
No strict ordering of jobs
No shared state among servers
Just like memcached
Uses memcached protocol
20.
First version was written in
Ruby
Ruby is “optimization-
resistant”
Mainly due to the GC
21.
If the consumers could not
keep pace, the MQ would fill
up and crash
Ported it to Scala for this
reason
22.
Good tooling
for the Java GC:
JConsole
Yourkit
23.
Poor tooling for the Ruby
GC:
Railsbench w/patches
BleakHouse w/patches
Valgrind/Memcheck
MBARI 1.8.6 patches