Author |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Fri 18 Dec '15 20:42 Post subject: mod_http2 1.1.0 & nghttp2 1.6.0 VC14 available. |
|
|
Download Win32 Win64: Removed
Only for 2.4.18 VC14, copy/replace nghttp2.dll to the Apache /bin folder and copy/replace mod_http2.so to the Apache /modules folder
Change log nghttp2 1.6.0 (24 december 2015), see https://github.com/tatsuhiro-t/nghttp2/releases
Change log mod_http2 1.1.0 ( 7 Januari 2016)
*) GOAWAY will be sent when a HTTP/2 connection is shutdown, whenever the
connection still allows it. Calculation of the last stream id has been
corrected to include streams started, not only streams finished processing.
*) several issues fixed with new fuzzing tests that simulate random closes
and delays/timeouts
*) H2SessionExtraFiles are now shared between all sessions in the same process.
It now works like this:
H2MaxWorkers * H2SessionFiles is assumed to be the total number of file
handles that can be safely used for HTTP/2 transfers without other parts
of the server running out of handles. This number is shared between all
HTTP/2 connections in the same server process.
The default is set to 2. With H2MaxWorkers on most platforms/mpms
defaulting to 25 that gives a maximum of 50 handles that can be invoved in
transfers.
I think I have to write a blog post one day of how this works and affects
performance. tl;dr the more handles http2 may use, the faster static files
can be served.
*) KeepAlive is now correctly visible on the server status page for HTTP/2
connections. (Would like more info there, need to extend the scoreboard
for it.)
*) KeepAlive connections are *not* set aside in async MPMs such as event. This
is a very desirable feature, but I could not get it to work reliably with
the existing MPM interface. Will work on that for the next Apache release.
(The main problem is that event will silently close such connections and
http2 has no chance to send a last GOAWAY frame. That makes clients fail
requests which they have just started.)
Change log mod_http2 1.0.18 ( 4 Januari 2016)
* fixed race condition in connnection shutdown that could cause indefinite
hang, fixed cleanup of http2 worker threads, thanks to Yann Ylavic
Change log mod_http2 1.0.17
*) H2Timeout/H2KeepAliveTimeout now defaults to what ever is set for HTTP/1
connections via Timeout/KeepAliveTimeout
*) fixes in calculating remaining timeout values
Change log mod_http2 1.0.16
*) simplified connection shutdown and worker join for robustness
*) improved performance for small requests due to less locking
*) http2 connections work in event with normal server KeepAliveTimeout setting
Change log mod_http2 1.0.15
*) fixed busy loops on random connection errors
*) fixed connection state for event MPM that shutdown child with 'G' status
*) changed default for H2KeepAliveTimeout. For async MPMs (event), will leave
keepalive handling to the MPM. For sync (worker, prefork), will default to
whatever is set for H2Timeout.
Change log mod_http2 1.0.14
*) fixed segfault on connection shutdown
*) added support for accept-push-policy headers, see
https://tools.ietf.org/html/draft-ruellan-http-accept-push-policy-00
Change log mod_http2 1.0.13 (not released)
*) reworked connection state handling. Improved scoreboard update (server-status).
Default on H2KeepAliveTimeout same as H2Timeout, 5 seconds. After that,
connections are closed.
On asynchronous MPMs (event), keep-alive connections no longer block threads,
but exact timeout handling is then up to the MPM. In these MPMs, having a
longer H2KeepAliveTimeout may be suitable.
*) new CGI environment variables HTTP2 and H2PUSH. With former "on", the
connection uses HTTP/2. With latter "on", the request may trigger Server Push
via Link headers, as both server and clients support it.
Change log mod_http2 1.0.12 ( is 1.0.11 in 2.4.18 )
new directives:
*) H2Timeout timeout of a http/2 connection (seconds), default 5
*) H2KeepAliveTimeout timeout of an idle http/2 connection (seconds), default 300
*) StreamTimeout timeout on individual streams (seconds), default 120
you can set them to 0 in which case no timeout may apply. You may try that
for the stream timeouts if you have problems.
*) improved handling of connection closes to make a better effort on freeing worker
threads still involved in streams.
*) worker numbers are constant MaxThreadsPerChild by default
*)fixed bug on handling large input without content length
Last edited by Steffen on Wed 30 Dec '15 20:34; edited 3 times in total |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
Posted: Wed 23 Dec '15 1:23 Post subject: |
|
|
Did you retract the temporarily available v1.0.13? What was the reason? |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Wed 23 Dec '15 10:30 Post subject: |
|
|
Yep. After a few hours running suddenly it was consuming constantly huge CPU (busy loop).
Edit: solved in 1.0.14+. |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
Posted: Wed 23 Dec '15 10:38 Post subject: |
|
|
OK, thanks. I will try v1.0.13 on my dev server anyway, but will not update the production server from v1.0.12 (2.4.18 VC9) yet. |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Thu 24 Dec '15 12:07 Post subject: |
|
|
Updated Nghttp2 to version 1.6.0 (was 1.5.0). |
|
Back to top |
|
puertoblack2003
Joined: 31 Jul 2009 Posts: 121 Location: U.S
|
Posted: Fri 01 Jan '16 20:55 Post subject: |
|
|
is there a default setting config? i can't seem to find information on it. |
|
Back to top |
|
admin Site Admin
Joined: 15 Oct 2005 Posts: 692
|
|
Back to top |
|
admin Site Admin
Joined: 15 Oct 2005 Posts: 692
|
Posted: Sun 03 Jan '16 12:00 Post subject: |
|
|
Updated mod_http2 to version 1.0.16. |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
|
Back to top |
|
admin Site Admin
Joined: 15 Oct 2005 Posts: 692
|
Posted: Mon 04 Jan '16 21:19 Post subject: |
|
|
Not here.
New version 1.0.18 available. Should fix the issue. |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
Posted: Tue 05 Jan '16 6:54 Post subject: |
|
|
admin wrote: | New version 1.0.18 available. Should fix the issue. | It apparently does not:
https://github.com/icing/mod_h2/commit/3b8484a87a52a80277539a85720eb4c79a2dfd3a#commitcomment-15256751
lkraav wrote: | dot18 still has the same issue, where browsers occasionally can't make connections if navigations buttons are pressed shortly after page has finished loading. I'm not sure about quantifying it, whether it's worse or better than dot16 was. |
I am still running 1.0.14 in production and sometimes experience CPU spikes. Last Sunday I saw that httpd (VC9 x86) was consuming 33.3% of CPU. That is 1 of the 3 cores. After some time this ended as suddenly as it came. |
|
Back to top |
|
admin Site Admin
Joined: 15 Oct 2005 Posts: 692
|
Posted: Thu 07 Jan '16 20:48 Post subject: |
|
|
New nod_http2 version 1.1.0 available. |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
Posted: Thu 28 Jan '16 5:42 Post subject: |
|
|
nghttp2 has a new release v1.7.0. The releases of mod_http2 are like a waterfall. BTW: curl has a new release as well with 2 security advisories. |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Thu 28 Jan '16 9:37 Post subject: |
|
|
Jan-E wrote: | The releases of mod_http2 are like a waterfall. |
They certainly are. Trunk is at 1.3.0 and 2.4 head looks to be at 1.2.2 now.
OpenSSL 1.0.2f, 1.0.1r coming in a few hours also. |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
|
Back to top |
|
Smitty
Joined: 03 Jan 2008 Posts: 197
|
Posted: Thu 28 Jan '16 21:35 Post subject: |
|
|
Is the compiled version of mod_http2 1.2.3 available anywhere yet? |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
Posted: Fri 29 Jan '16 0:24 Post subject: |
|
|
Which one of the 6 versions? VC9, VC11, VC14 / x86, x64.
In between compiling 20 different versions of PHP I can do some extra things as well. |
|
Back to top |
|
Smitty
Joined: 03 Jan 2008 Posts: 197
|
Posted: Fri 29 Jan '16 2:32 Post subject: |
|
|
I just need VC14 x64. Do we know if Steffen is doing a new release soon? If he is updating Apache because of the new OpenSSL release, I can wait. |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
|
Back to top |
|