Threads vs. Processes
Threads share memory and state!
Processes share nothing
Slide 10
Slide 10 text
Threads vs. Processes in MRI
Threads share memory and state!
Processes share nothing!
Threads are concurrent, not parallel, due to the GIL
(Global Interpreter Lock)!
Processes operate in true parallel
Slide 11
Slide 11 text
Parallelism Concurrency
Processes Multi-Core System Single-Core System
Threads
JRuby, Rubinius,
Nonblocking IO
Standard Calculations
in MRI
The Bottom Line
Slide 12
Slide 12 text
Implication: Sidekiq Concurrency
For a server running only Sidekiq on MRI:!
1 Sidekiq process per core!
Concurrency (number of threads) = 1 / CPU Time!
Example: 8-core machine with 75% IO, 25% CPU:!
8 Sidekiq processes!
Sidekiq concurrency of 1/(25%) = 4
Slide 13
Slide 13 text
Thank You For Listening!
amcaplan.ninja!
@amcaplan!
↑!
Questions