logo
Apache Lounge
Webmasters

 

About Forum Index Downloads Search Register Log in RSS X


Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

A donation makes a contribution towards the costs, the time and effort that's going in this site and building.

Thank You! Steffen

Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
Post new topic   Forum Index -> Apache View previous topic :: View next topic
Reply to topic   Topic: mod_http2 1.1.0 & nghttp2 1.6.0 VC14 available. Page 1, 2  Next
Author
Steffen
Moderator


Joined: 15 Oct 2005
Posts: 3049
Location: Hilversum, NL, EU

PostPosted: Fri 18 Dec '15 20:42    Post subject: mod_http2 1.1.0 & nghttp2 1.6.0 VC14 available. Reply with quote

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: 1248
Location: Amsterdam, NL, EU

PostPosted: Wed 23 Dec '15 1:23    Post subject: Reply with quote

Did you retract the temporarily available v1.0.13? What was the reason?
Back to top
Steffen
Moderator


Joined: 15 Oct 2005
Posts: 3049
Location: Hilversum, NL, EU

PostPosted: Wed 23 Dec '15 10:30    Post subject: Reply with quote

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: 1248
Location: Amsterdam, NL, EU

PostPosted: Wed 23 Dec '15 10:38    Post subject: Reply with quote

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: 3049
Location: Hilversum, NL, EU

PostPosted: Thu 24 Dec '15 12:07    Post subject: Reply with quote

Updated Nghttp2 to version 1.6.0 (was 1.5.0).
Back to top
puertoblack2003



Joined: 31 Jul 2009
Posts: 118
Location: U.S

PostPosted: Fri 01 Jan '16 20:55    Post subject: Reply with quote

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: 677

PostPosted: Fri 01 Jan '16 20:58    Post subject: Reply with quote

http://httpd.apache.org/docs/trunk/mod/mod_http2.html

and

https://www.apachelounge.com/viewtopic.php?t=6804
Back to top
admin
Site Admin


Joined: 15 Oct 2005
Posts: 677

PostPosted: Sun 03 Jan '16 12:00    Post subject: Reply with quote

Updated mod_http2 to version 1.0.16.
Back to top
Jan-E



Joined: 09 Mar 2012
Posts: 1248
Location: Amsterdam, NL, EU

PostPosted: Mon 04 Jan '16 0:57    Post subject: Reply with quote

Is anybody experiencing the same problems with 1.0.15 and 1.0.16 as Leho Kraav?

https://github.com/icing/mod_h2/commit/526a39f6ec8a1b6023a8a85cc3c1e7b0270399ff#commitcomment-15231233

For the moment he went back to 1.0.14:

https://github.com/icing/mod_h2/commit/f608b6bcab3766121ed8827c51c3fb2d70f6f3ab#commitcomment-15235192
Back to top
admin
Site Admin


Joined: 15 Oct 2005
Posts: 677

PostPosted: Mon 04 Jan '16 21:19    Post subject: Reply with quote

Not here.

New version 1.0.18 available. Should fix the issue.
Back to top
Jan-E



Joined: 09 Mar 2012
Posts: 1248
Location: Amsterdam, NL, EU

PostPosted: Tue 05 Jan '16 6:54    Post subject: Reply with quote

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: 677

PostPosted: Thu 07 Jan '16 20:48    Post subject: Reply with quote

New nod_http2 version 1.1.0 available.
Back to top
Jan-E



Joined: 09 Mar 2012
Posts: 1248
Location: Amsterdam, NL, EU

PostPosted: Thu 28 Jan '16 5:42    Post subject: Reply with quote

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

PostPosted: Thu 28 Jan '16 9:37    Post subject: Reply with quote

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: 1248
Location: Amsterdam, NL, EU

PostPosted: Thu 28 Jan '16 10:19    Post subject: Reply with quote

glsmith wrote:
Trunk is at 1.3.0 and 2.4 head looks to be at 1.2.2 now.
On github mod_http2 is at v1.2.3: https://github.com/icing/mod_h2/releases
Back to top
Jan-E



Joined: 09 Mar 2012
Posts: 1248
Location: Amsterdam, NL, EU

PostPosted: Thu 28 Jan '16 17:36    Post subject: Reply with quote

https://test.sessionportal.net
https://www.ssllabs.com/ssltest/analyze.html?d=test.sessionportal.net

Apache 2.4.18 x86 VC9
OpenSSL 1.0.2f FIPS
mod_http2 v1.2.3
nghttp2 v1.7.0-dev (git head)

Easy upgrade. All tests passed in OpenSSL and the subversion test suite is running now.
Back to top
Smitty



Joined: 03 Jan 2008
Posts: 197

PostPosted: Thu 28 Jan '16 21:35    Post subject: Reply with quote

Is the compiled version of mod_http2 1.2.3 available anywhere yet?
Back to top
Jan-E



Joined: 09 Mar 2012
Posts: 1248
Location: Amsterdam, NL, EU

PostPosted: Fri 29 Jan '16 0:24    Post subject: Reply with quote

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

PostPosted: Fri 29 Jan '16 2:32    Post subject: Reply with quote

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: 1248
Location: Amsterdam, NL, EU

PostPosted: Fri 29 Jan '16 6:45    Post subject: Reply with quote

I guess Steffen will compile upgrades, but in the mean time you can play around with
https://phpdev.toolsforresearch.com/openssl-1.0.2f-fips-2.4.18-x64-vc14.zip

The mod_http2.so in there is v1.2.3 with nghttp2 git-head (1.7.0+) compiled into it. No need for a separate nghttp2.dll
Back to top


Reply to topic   Topic: mod_http2 1.1.0 & nghttp2 1.6.0 VC14 available. View previous topic :: View next topic
Post new topic   Forum Index -> Apache Page 1, 2  Next