fe1d3d6a7b
Now Apache2 has 5 dedicated processes for Keystone Admin and 5 for Keystone Public. As each Apache process consumes some memory and we arbitrarly decided 5 was a good number more than 2 years ago, maybe now (with the recent memory pressure we feel) is a good time to reconcider. With 5 processes our peakmem_tracker.py script reports a max RSS size for the "wsgi:keystone-ad" and "wsgi:keystone-pu" processes of 2 (public and admin) * 5 (number of processes) * 90 Mo (RSS of each process) = 900 Mo. With 3 processes, the overall max RSS for Keystone is 2 * 3 * 90 = 540 Mo. Note that this is RSS memory, but using the "smem" linux command on my laptop, I noticed that the USS (Unique set size, i.e RSS excluding shared memory) is around 80Mo per process. So reducing the number of processes will actually reduce memory consumption. Change-Id: Iba72d94aa15ecaa87c0115ad26d6bpeakmem_tracker62d5b3bea0a
62 lines
1.8 KiB
Plaintext
62 lines
1.8 KiB
Plaintext
Listen %PUBLICPORT%
|
|
Listen %ADMINPORT%
|
|
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)" keystone_combined
|
|
|
|
<Directory %KEYSTONE_BIN%>
|
|
Require all granted
|
|
</Directory>
|
|
|
|
<VirtualHost *:%PUBLICPORT%>
|
|
WSGIDaemonProcess keystone-public processes=3 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
|
|
WSGIProcessGroup keystone-public
|
|
WSGIScriptAlias / %KEYSTONE_BIN%/keystone-wsgi-public
|
|
WSGIApplicationGroup %{GLOBAL}
|
|
WSGIPassAuthorization On
|
|
ErrorLogFormat "%M"
|
|
ErrorLog /var/log/%APACHE_NAME%/keystone.log
|
|
CustomLog /var/log/%APACHE_NAME%/keystone_access.log keystone_combined
|
|
%SSLENGINE%
|
|
%SSLCERTFILE%
|
|
%SSLKEYFILE%
|
|
</VirtualHost>
|
|
|
|
<VirtualHost *:%ADMINPORT%>
|
|
WSGIDaemonProcess keystone-admin processes=3 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
|
|
WSGIProcessGroup keystone-admin
|
|
WSGIScriptAlias / %KEYSTONE_BIN%/keystone-wsgi-admin
|
|
WSGIApplicationGroup %{GLOBAL}
|
|
WSGIPassAuthorization On
|
|
ErrorLogFormat "%M"
|
|
ErrorLog /var/log/%APACHE_NAME%/keystone.log
|
|
CustomLog /var/log/%APACHE_NAME%/keystone_access.log keystone_combined
|
|
%SSLENGINE%
|
|
%SSLCERTFILE%
|
|
%SSLKEYFILE%
|
|
</VirtualHost>
|
|
|
|
%SSLLISTEN%<VirtualHost *:443>
|
|
%SSLLISTEN% %SSLENGINE%
|
|
%SSLLISTEN% %SSLCERTFILE%
|
|
%SSLLISTEN% %SSLKEYFILE%
|
|
%SSLLISTEN%</VirtualHost>
|
|
|
|
Alias /identity %KEYSTONE_BIN%/keystone-wsgi-public
|
|
<Location /identity>
|
|
SetHandler wsgi-script
|
|
Options +ExecCGI
|
|
|
|
WSGIProcessGroup keystone-public
|
|
WSGIApplicationGroup %{GLOBAL}
|
|
WSGIPassAuthorization On
|
|
</Location>
|
|
|
|
Alias /identity_admin %KEYSTONE_BIN%/keystone-wsgi-admin
|
|
<Location /identity_admin>
|
|
SetHandler wsgi-script
|
|
Options +ExecCGI
|
|
|
|
WSGIProcessGroup keystone-admin
|
|
WSGIApplicationGroup %{GLOBAL}
|
|
WSGIPassAuthorization On
|
|
</Location>
|