One of the biggest mistakes I find during Play code reviews is a fundamental misunderstanding of what async means, and without the proper use of .async , Play can suffer from worse performance than a synchronous, servlet-based framework.