I just wrapped up High Performance Browser Networking by Ilya Grigorik (O’Reilly, 2013) and it just may be the best technical book I read in 2013. I first encountered Grigorik and his work about a year ago when I was researching web performance and HAR tools in particular1; it wasn’t long after that that I heard he was working on this book. I looked forward to it ever since, and I wasn’t let down.
If you are working where the web is your deployment platform, then HPBN has strong coverage of the protocols, networks, and APIs that you’re using every day. Grigorik asserts that latency is the true performance problem of the web, and goes on to tell a compelling end-to-end story, looking at TCP, UDP, and TLS, then then different kinds of wireless networks between you and your users, and finally going deep on HTTP, XHR, SSE, WebSockets, and WebRTC. He presents some great data to back up his statements, and the book winds up feeling like a comprehensive report on the fundamental building blocks of networked applications. Whether you work primarily in the back- or front-end of the web stack, HPBN is essential reading and will provide you with a strong foundation in how to perform performance profiles of your applications and how to optimize for different scenarios (and the trade-offs you may be forced to make).
I learned a great deal from this book, and I suspect I’ll be re-reading it to pick up what I missed the first time. I would highly recommend HPBN — it’s a great reference, and should be considered required reading for anyone deploying applications to the web. I don’t know of any other books quite like this one.
Disclosure: I received an electronic copy of this book from the publisher in exchange for writing this review.