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:

29 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 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
  3. 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


  4. 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
  5. Thank you for sharing the post! It's nice to find this information.
    instagram online

    ReplyDelete
  6. 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
  7. 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
  8. This is best one article so far I have read online, I would like to appreciate you for making it very simple and easy
    Regards,
    Data Science Course Training

    ReplyDelete
  9. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.
    aws training in bangalore
    RPA Training in bangalore
    Python Training in bangalore
    Selenium Training in bangalore
    Hadoop Training in bangalore

    ReplyDelete
  10. This comment has been removed by the author.

    ReplyDelete
  11. Thanks For Sharing Your Information Please Keep UpDating Us Time Just Went On Reading The article The Information shared Is Very Helpful
    Datascience Online Training Aws Online Training Python Online Training Devops Online Training

    ReplyDelete
  12. Its a good post and keep posting good article.its very interesting to read.
    devops certification in chennai

    ReplyDelete
  13. Very nice post here and thanks for it .I always like and such a super contents of these post.
    Excellent and very cool idea and great content of different kinds of the valuable information's.
    data science with python online training

    ReplyDelete
  14. I wish to say that this post is amazing, nice written and include approximately all important infos. I would like to see more posts like this
    Regards,
    Python Training in Chennai | Python Programming Classes | Python Classes in Chennai

    ReplyDelete
  15. Amazing! I like to share it with all my friends and hope they will like this information.
    Regards,
    Python Training in Chennai | Python Programming Classes | Python Classes in Chennai

    ReplyDelete
  16. This comment has been removed by the author.

    ReplyDelete
  17. One of the biggest benefits enjoyed by small businesses that use a courier service is the delivery speed.
    https://bposttracking.com/
    bpost tracking
    bpost tracking international
    bpost track and trace
    bpost tracking number

    ReplyDelete
  18. Hey, would you mind if I share your blog with my twitter group? There’s a lot of folks that I think would enjoy your content. Please let me know. Thank you.
    IT Institute in KK Nagar| qtp training in chennai | Best QTP Training Institute in Chennai | QTP Training Institute in Chennai | best qtp training in chennai

    ReplyDelete
  19. Very informative blog and useful article thank you for sharing with us , keep posting learn more about aws with cloud computing

    AWS Online Training

    AI Training

    ReplyDelete

Note: Only a member of this blog may post a comment.