[1] https://people.freebsd.org/~lstewart/articles/cpumemory.pdf
10,790 karma · joined February 27, 2013
blog: https://blog.r4um.net
[ my public key: https://keybase.io/r4um; my proof: https://keybase.io/r4um/sigs/5PMmFocRMv45OxLv3ml3Akp2y5K6VRRr13cvQCUxz-Y ]
[1] https://people.freebsd.org/~lstewart/articles/cpumemory.pdf
Some more pictures and animations.
https://www.instagram.com/p/Csc-QilOJ7j/ https://www.instagram.com/p/CsdEX8HMEID/ https://www.instagram.com/reel/CsdmaY0g4yS/ https://www.astrobin.com/7jvafm/0/ https://www.astrobin.com/uokdzt/
https://www.goodreads.com/book/show/43722897-the-art-of-stat...
[1] https://press.uchicago.edu/ucp/books/book/chicago/I/bo353393...
How to Lie with Statistics by Darrell Huff https://en.wikipedia.org/wiki/How_to_Lie_with_Statistics
For more pragmatic treatment found "Fundamentals of Queueing Theory"[1] really good.
Setting up each one becomes a lot of work fast, so we wrote a LD_PRELOAD[1] hook that overrides sysconf[1] _NC_PROCESSORS* call to get number of processors availabale/online to a certain specified value and is baked in the docker image by default during builds.
It can do DNS resolution at runtime, additionally you can override bunch of options as to how DNS resolution behaves in terms of TTL, Failures etc
These are not necessarily container centric.
We have had to force keep alive and even forcefully turn it off in some cases :(.
> Binary logging is a must, because even something like string formatting is simply way too slow, by an order of magnitude.
true, string processing takes most of the resources.
Whats working for us now is local docker json logs -> heka -> kafka -> graylog -> ES. We even dockerized graylog to scale the processing up and down on demand.
Does 250k messages/sec at peak easily, More details in this presentation https://www.youtube.com/watch?v=PB8dBnpaP8s