We've been using HandlerSocket in our infrastructure for 2 years here at Badoo. Badoo has extensive experience running HS in production. More and more teams in our company use HandlerSocket for their projects.
We're currently using HandlerSocket as a Memcached replacement in some cases, as a search engine in some other cases and as a primary key-value storage for mobile & desktop applications. Our HS installation has more than 30 servers serving max. ~ 8000 RPS per server. I have written a custom HS client library for PHP including a couple of tricks and optimizations I'm going to show you.
I'm going to speak on:
- Brief HS introduction.
- What HS is and what it is not. The benefits it provides.
- HS internals.
- Common use cases, a detailed description of one or two use cases @ Badoo with figures.
- Performance issues, speeding it up:
- HS with Percona Server
- Using HS with persistent connections. Pros and cons, problems, solutions.
- Tips & tricks: pipelining, lazy open_index, etc.
- Useful links: HS client libraries, articles, Percona Server Handlersocket page.
This will not be an introductory talk but a summary of my practical experience including graphs, numbers and pitfalls.