Skip to content

Instantly share code, notes, and snippets.

@rondy
Last active January 29, 2021 14:22
Show Gist options
  • Save rondy/8ce359266a1c5c8d5ff55add9f39efc6 to your computer and use it in GitHub Desktop.
Save rondy/8ce359266a1c5c8d5ff55add9f39efc6 to your computer and use it in GitHub Desktop.
Queueing Theory references

Queueing Theory references

General content

http://www.shmula.com/queueing-theory/
http://ferd.ca/queues-don-t-fix-overload.html
https://news.ycombinator.com/item?id=8632043
https://thetechsolo.wordpress.com/2015/01/25/queueing-theory-explained/
http://people.revoledu.com/kardi/tutorial/Queuing/index.html
http://setosa.io/blog/2014/09/02/gridlock/index.html
https://www.vividcortex.com/resources/queueing-theory

Use cases

http://sorentwo.com/2016/06/28/effectively-scaling-sidekiq-workers.html
http://marcio.io/2015/07/handling-1-million-requests-per-minute-with-golang/

IEEE

http://ieeexplore.ieee.org/document/7158897/?reload=true
http://ieeexplore.ieee.org/document/7219477/

Books

https://www.amazon.com/Art-Computer-Systems-Performance-Analysis/dp/0471503363
https://www.amazon.com/Performance-Modeling-Design-Computer-Systems/dp/1107027500
Designing for Scalability with Erlang/OTP

Papers

http://sld.cs.columbia.edu/pubs/carloni_fmgals05.pdf
http://irh.inf.unideb.hu/~jsztrik/education/16/SOR_Main_Angol.pdf

Videos

Zach Tellman - Everything Will Flow - https://youtu.be/1bNOO3xxMc0

Comentário do João Britto:

as métricas default do sidekiq não eram muito legais da ultima vez que vi
eu começaria medindo a porra toda
tamanho de fila ao longo do dia
pra cada uma das filas
e throughput + transaction time via new relic
foi assim +- que a gente fez no walmart

Comentário do José Valim:

tamanho da fila, taxa de chegada, taxa de saida, e tempo de sojourn (quanto tempo fica na fila)
as vezes a solução é ter mais workers. mas se os jobs foram dependentes,
tem que achar jeito de particionar, e aí é mais trampo
se for realtime, aí vc tem que pensar em técnicas de load shedding
para funcionar em caso de overload
(tipo, vc conclui que vc nao conseguir processar a tempo,
aí vc descarta uns elementos de cara para não empacar a parada toda)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment