tornado_http2
tornado_http2 copied to clipboard
Pypi Ready? - Question (not so much an issue)
Hello @bdarnell
So I been using this for some time..I wish publicly, but in a undisclosed location I've been using this in production for a little bit now, and I have to say that its working really well. I use websockets, I do cookie authorization, I have RESTful APIs, and I have OAUTH2 backed services it hosts & one that it interacts with. all in all, its going well man.
Is there anything you would like me to report? Test? Try? I haven't had to dig into the code because its been rock solid so far.
I think at least it could go up on pypi as a late stage alpha or early beta if you don't want to slap production ready on it.
Great, I'm glad it's working well for you. That's really all I've been waiting for before posting this is for someone other than me to report some success with it. Although now that there's been some bit rot between this and the main tornado repo, I think I need to get the tests passing again before I upload this to pypi.
One specific concern I have is around performance - I've thought that things like hpack would need to be rewritten in C or cython to get acceptable performance, but I haven't gotten around to doing any measurements. Have you done any performance measurements?
@bdarnell I can absolutely do that. Do you have any particular types of things you would like me to test with? E.g. is there a test suite that is preferable? What I can say is I have had hundreds of concurrent connections without issue thus far, but it is load balanced behind nginx if that means anything. What I can do is run it straight without nginx and see how it performs. I never done something like this before so any way I can do that I shall. I won't be able to test till Tuesday but I'm happy to do this.
Also: if you are looking for some fast c bindings for parsing http2 protocols the nghttp2 project is doing a wonderful job on this. I think there is some real potential here. I've toyed with their python bindings and they're pretty solid.
I'm just looking for some basic QPS numbers - how many "hello world" pages can it serve per second compared to the HTTP/1 version? Something like this, but with a load generator that supports both http/1 and /2.
I know there are C (and rust, etc) libraries out there for this that I could be wrapping and probably get better performance. I wanted to implement everything by hand in python first for fun :)
I apologize I agent been able to test this week I’m hoping early next week I been so busy unexpectedly but I have not forgotten