Commit ec3473d8 authored by Nicolas Wavrant's avatar Nicolas Wavrant

monitor: remove mpm configuration from httpd conf

With the mpm limits, the webrunner fails often to instanciate because of the error in promise below :

2020-04-28 07:45:23 slapos[4284] INFO Checking promise monitor-httpd-listening-on-tcp.py...
2020-04-28 07:45:28 monitor-httpd-listening-on-tcp.py[4284] ERROR ERROR: HTTPSConnectionPool(host='2001:67c:1254:e:8e:66f4:0:4e9c', port=8386): Read timed out. (read timeout=5)

Checking the open connection with ss, I could find many lines like :

tcp    CLOSE-WAIT  518     0        [2001:67c:1254:e:8e:66f4:0:4e9c]:8386                           [2001:67c:1254:e:8e:66f4:0:4e9c]:49540

So apache was too slow to answer, or busy doing something. Connections
to it were getting queued, making promise fail, making another "slapos
node instance" required, creating more frozen tcp connections.

For this change, I took inspiration from the webrunner apache config,
which doesn't define these parameters at all neither.

I did a fast performance check, with this commit, when apache is started
it consumes ~40Mo. I didn't check before this commit, but I doubt it
would be much less than that.
parent f19b241c
...@@ -18,7 +18,7 @@ md5sum = 84bc2cf29e34b48c51116d93e2be7636 ...@@ -18,7 +18,7 @@ md5sum = 84bc2cf29e34b48c51116d93e2be7636
[monitor-httpd-conf] [monitor-httpd-conf]
_update_hash_filename_ = templates/monitor-httpd.conf.in _update_hash_filename_ = templates/monitor-httpd.conf.in
md5sum = 0540fc5cc439a06079e9e724a5a55a70 md5sum = 6b363dd9ec169b38aa6f70d8c767bb2a
[monitor-template-wrapper] [monitor-template-wrapper]
_update_hash_filename_ = templates/wrapper.in _update_hash_filename_ = templates/wrapper.in
......
PidFile "{{ parameter_dict.get('pid-file') }}" PidFile "{{ parameter_dict.get('pid-file') }}"
StartServers 1
ServerLimit 1
MaxRequestWorkers 4
ThreadLimit 4
ThreadsPerChild 4
ServerName example.com ServerName example.com
ServerAdmin someone@email ServerAdmin someone@email
Listen [{{ parameter_dict.get('listening-ip') }}]:{{ parameter_dict.get('port') }} Listen [{{ parameter_dict.get('listening-ip') }}]:{{ parameter_dict.get('port') }}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment