3 ms·
I would say almost half the performance problems I have seen developers and devops managers run into over the last 5-6 years could have been avoided with a bit
by motohagiography 9y ago
I would say almost half the performance problems I have seen developers and devops managers run into over the last 5-6 years could have been avoided with a bit of front loaded queueing theory.
When you are doing microservice orchestrations, using an enterprise service bus or a pubsub, or doing multiple asynchronous operations, small delays multiply through the system. Spending a day to model your solution as a queue will give you some ballpark tolerances for lag, queue size, and in particular, RTT through the service.
Doing microservice architectures takes a lot of the logic of the problems solved decades ago on the network layer and reinstantiates them at application service layers without those solutions. Request TTL, state, queue flushing, retransmission, shortest path, service availability, 'ping', 'traceroute', etc.
If one service crashes, and requests start piling up, you need to clear that queue, and oftentimes your solution isn't built to clear that queue while more requests are coming in and your cache overflows because "keeping state is a next order complexity problem that wasn't specified in the user story." There is an assumption you can just horizontally scale your way out, which has significant compute and administrative costs. I suspect AWS makes a lot of its money as a direct result of those assumptions.
Not saying someone needs to be doing new proofs, but some forethought using a handwavy abstraction might provide some insight into the needs of the system under load.
- hackermailman 9y agoThere's a good book for this if anybody is interested http://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html http://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html
- Jtsummers 9y agoIf you have access to Safari Books Online, it may be in your collection there as well. http://techbus.safaribooksonline.com/book/electrical-engineering/computer-engineering/9781139610834 http://techbus.safaribooksonline.com/book/electrical-enginee...
- mlboss 9y agoCool reference. Lot of mathematical requirements are same as Probabilistic Machine Learning.
- raister 9y agoGood book? Are you sure? This is a terrible book on performance... It begins with the classic: "this book will make readers pass the first chapter, because it contains simple explanations for performance phenomena..." --> then, by chapter 2 everybody is completely lost about the subject... again......... :( Edit: this book is currently sitting on my shelf collecting random particles of dust (for 4 years...).
- hackermailman 9y agoThere's many other books[1] on queuing theory if you want, I liked the Harchol-Balter book because of the exercises [1]https://web2.uwindsor.ca/math/hlynka/qbook.html https://web2.uwindsor.ca/math/hlynka/qbook.html