Switch static.openstack.org to worker MPM

We are seeing in the static.openstack.org logs the problem metioned in
[1] which is leadning to dropped connections.

  This mpm showed some scalability bottlenecks in the past leading to
  the following error: "scoreboard is full, not at MaxRequestWorkers".
  ...
  From 2.4.24 onward, mpm-event is smarter and it is able to handle
  graceful terminations in a much better way

I don't think we want to go outside the packages provided by Trusty,
and it seems that even upping the number of servers/threads is not a
reliable work-around to this problem.

It seems like the simplest thing to do is avoid the problem all
together by switching to the woker MPM, which is very simliar but not
optimised for HTTP keep-alive.  Since this is not an ajax-y type
interactive server with a lot of long-lived clients, I think this will
work fine.

[1] https://httpd.apache.org/docs/2.4/mod/event.html

Change-Id: I064b81076bcfcb200e0990627fc1aa0be8bbf058
This commit is contained in:
Ian Wienand 2017-01-30 14:35:45 +11:00
parent 73359edd2d
commit 5216b02904
1 changed files with 16 additions and 0 deletions

View File

@ -428,4 +428,20 @@ class openstack_project::static (
group => 'jenkins',
require => User['jenkins'],
}
# Until Apache 2.4.24 the event MPM has some issues scalability
# bottlenecks that were seen to drop connections, especially on
# larger files; see
# https://httpd.apache.org/docs/2.4/mod/event.html
#
# The main advantage of event MPM is for keep-alive requests which
# are not really a big issue on this static file server. Therefore
# we switch to the threaded worker MPM as a workaround. This can be
# reconsidered when the apache version running is sufficient to
# avoid these problems.
httpd::mod { 'mpm_event': ensure => 'absent' }
httpd::mod { 'mpm_worker': ensure => 'present' }
}