Friday, June 24, 2016

H2O HTTP/2 server 2.0.1 / 2.1.0-beta1 released, with new features and performance optimizations

Today I am happy to announce the release of H2O HTTP/2 server version 2.0.1 and 2.1.0-beta1.

Version 2.0.1 is a bug-fix release of the 2.0 series. Existing users can upgrade to the new version to avoid the issues listed in the changeling.

Version 2.1.0-beta1 is the first beta release of 2.1, with a new throttle-response handler for per-response bandwidth throttling, and an enhancement to the status handler (pull #893). It also includes two new features that improve HTTP/2 performance: TCP latency optimization and support for link: rel=preload headers in informational response (pull #916).

With TCP latency optimization, users can expect 1 RTT or more reduction in time-to-render if the main resource (i.e. HTML) is much larger INITCWND (typically ~15KB).

The reduction comes from the fact that with the optimization enabled, H2O tries to keep the amount of HTTP/2 frames kept unsent in the TCP send buffer very small (to just two packets) during the slow-start phase. Since the amount of data unsent is kept small, the server can switch to sending a resource that blocks the rendering path (e.g. CSS) immediately when it receives a request for such resource, instead of pushing the HTML body stored in the TCP send buffer. As CWND grows, the connection handling switches to bandwidth-optimization mode, that pre-fills more data into the send buffer so that the kernel can send additional data immediately after receiving ACKs without user-space intervention.

Support for link: rel=preload headers in informational response helps web developers utilize HTTP/2 push. Use of the link header is becoming the standard way to instruct HTTP/2 servers to start pushing assets. The downside of the approach is that application servers typically cannot send the header until it generates the final response. Generation of the final response often involves time-consuming operations such as access to the database, keeping the HTTP/2 connection idle for that period.

Use of informational response lets us use the time slot for pushing asset files. Application servers can now send an informational response with link rel=preload headers to H2O to start pushing the asset files, then perform heavy tasks, and send the final response. Use of 1xx response will not cause interoperability issues, since only the final response is sent to the client connected to H2O.

Details of the two optimizations were covered in my presentation at Tokyo RubyKaigi 11. The slides are shown below:

27 comments:

  1. H2O seems to be a promising alternative to nginx. Does it have an equivalent to the nignx "limit_req" module for flood protection?

    ReplyDelete
  2. Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing.
    monkey go happy| yahtzee with buddies| | mahjong | | defendyournuts 2| superfighters 2 |

    ReplyDelete

  3. Thanks you for sharing the unique content. you have done a great job. thank you for sharing such a unique content.
    Informatica Training in Chennai Thiruvanmiyur

    ReplyDelete
  4. Thats superb! I really appreciate your effort. Want to know the customer care numbers of some of the leading brands all over the world, just check
    Aircel customer care number

    ReplyDelete

  5. The blog or and best that is extremely useful to keep I can share the ideas
    of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.
    tanki online | 2048 game |
    tanki online game

    ReplyDelete
  6. The blog or and best that is extremely useful to keep I can share the ideas of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.
    animal jam | five nights at freddy's | hotmail login

    ReplyDelete
  7. Interesting article! Thank you for sharing them! I hope you will continue to have similar posts to share with everyone! I believe a lot of people will be surprised to read this article!
    abcya

    ReplyDelete


  8. The share your really gives us excitement. Thanks for your sharing. If you feel tired at work or study try to participate in our games to bring the most exciting feeling. Thank you!
    hotmail login | red ball | 192.168.1.1

    ReplyDelete
  9. Thank you for sharing the post! It's nice to find this information.
    instagram online

    ReplyDelete
  10. Through your pen I found the problem up interesting! I believe there are many other people who are interested in them just like me! How long does it take to complete this article? I hope you continue to have such quality articles to share with everyone! I believe a lot of people will be surprised to read this article! Thanks for your post!
    happy wheels

    ReplyDelete
  11. Most kids like to play games online at school.Thousand of students had access to computers at school and want to play single or 2 player unblocked games.
    This website has more than twenty categories to discover.Ofcourse you can play offline a lot of quality video mario games.
    I prefer online as these are free and most of them can be played in full screen.
    Many businesses and schools had restricted access to malicious or otherwise inappropriate websites on their networks. Anyway, a variety of proxy sites offer access to hard websites like flash or unity games.
    Many of these sites advertise specifically to children as a free and fun way to play kizi games at school.
    Although these games are normally blocked on the network by the operating system, the proxy server acts as an intermediary in that, to the network, it appears that the user is simply browsing the proxy site when he or she is actually playing games or are surfing on i8napropiate websites for adults or other.
    So using our proxy server you are able to play at work or at school and nobody know.
    No matter what you play puzzle, action, dressup,skill or solitaire card you can load all at any time.
    The website offer the oportunity to discover new or popular many flash, unity or html5 math games.If you like bookworm popcap game you can play it here on pc, tablet or ipad.
    To play it on smartphone you will be redirected to the mobile version where you play also unic games in single or 2 player and in full screen.
    Still there are available brain games who will help your brain to stay young and healthy keeping you away of disease.
    Most played are 2 player where you can chose to play it even in single player vs computer.
    No need to remember the mobile version adress ,just remember only the top domain and based on your device dimensions you will be redirected by browser.
    More links:Math playground games Pogo games

    ReplyDelete
  12. a pride for me to be able to discuss on a quality website because I just learned to make an article on
    cara menggugurkan kandungan

    ReplyDelete
  13. I want you to thank for your time of this wonderful read!!! I definately enjoy every little bit of it and I have you bookmarked to check out new stuff of your blog a must read blog!
    gmail sign up

    ReplyDelete
  14. that as it may, a payday advance is not a viable alternative for long haul budgetary arranging. This loan should just be taken to meet earnest money related requirements until your next payday. Payday Loans

    ReplyDelete
  15. I have read through other blogs, but they are cumbersome and confusing more than your post. I hope you continue to have such quality articles to share with everyone! I believe a lot of people will be like to read this article!
    devast io

    ReplyDelete
  16. I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. In fact your creative writing abilities has inspired me to start my own BlogEngine blog now. Really the blogging is spreading its wings rapidly. Your write up is a fine example of it.
    online Python training
    python training in chennai

    ReplyDelete