Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Queuing theory for programmers?

After being burnt several times on things that seemed "obviously fast enough" but sucked performance-wise under load, I'm starting to think that my "gut feeling" might be not enough when doing capacity planning, and some theoretical background is necessary.

So - community, can you point me to good resources on applications of queuing theory to programming?

Whatever - articles, case studies, books.

I found a couple of books that seem to be relevant so far; I'd be happy to hear your opinions on them, if you're familiar:

  • Software Performance and Scalability: A Quantitative Approach
  • The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling
  • Performance by Design: Computer Capacity Planning By Example
like image 433
jkff Avatar asked Nov 29 '10 21:11

jkff


2 Answers

"The Art of Computer Systems Performance Analysis: ..." by Raj Jain is excellent and the Bible of software performance testing. (But then I my be biased as I was one of it's (minor) internal reviewers).

However, if you really want to understand this stuff ("The Art..." is more of a survey of methods and principles), then the standards are:

  1. Quantitative Systems Performance..., Lazowska, et. al.: The classic standard introduction for Capacity Planning and QNA (Queueing Network Analysis) for whole-systems performance modelling and prediction.

and

  1. Performance Solutions: A practical guide..., Smith, etc. Which explains SPE (Software Performance Engineering), which is really what you are trying to do.

I have found both of these to be easy to read and understand, and they are considered the standards of these two practices.

like image 68
RBarryYoung Avatar answered Oct 24 '22 10:10

RBarryYoung


Jain is classic, but there's some good modern stuff too. Assuming you're a mathie, anything by Neil Gunther is good: Guerrilla Capacity Planning is his most recent, preceded by Analyzing Computer System Performance with Perl::PDQ

Bob Sneed and I are working on a more engineering-oriented one, but I'm moving a little slow (;-))

--dave

like image 38
David Collier-Brown Avatar answered Oct 24 '22 10:10

David Collier-Brown