I seems Tornado is trying to get the entire response body before passing it on to the client.
have a look at @gen.coroutine or @web.asynchronous .