wsgi.simple_server in a mono threaded process that can handle only 5 requests at a time. Even the doc recommands to setup Ceilometer through an other WSGI services like Apache 'mod_wsgi', we can provide a better testing API server. So this patch changes the default HTTP server to the werkzeug one with a autodiscovery of number of workers that we can use. The client queue of werkzeug is 128, so on a 4 cpus machine, ceilometer-api can now handle 512 connections instead of 5. Also the change adds references of how to deploy pecan application in the documentation. The config option enable_reverse_dns_lookup can be safely removed, because werkzeug doesn't do any reverse dns lookup. DocImpact: configuration options changed: enable_reverse_dns_lookup removed, api_workers added Change-Id: If7450b393ea88bc185e5c82b706ace9c38ce350e
2.4 KiB
Installing the API Behind mod_wsgi
Ceilometer comes with a few example files for configuring the API
service to run behind Apache with mod_wsgi
.
app.wsgi
The file ceilometer/api/app.wsgi
sets up the V2 API WSGI
application. The file is installed with the rest of the ceilometer
application code, and should not need to be modified.
etc/apache2/ceilometer
The etc/apache2/ceilometer
file contains example
settings that work with a copy of ceilometer installed via devstack.
../../../etc/apache2/ceilometer
Copy or symlink the file to
/etc/apache2/sites-avilable
.Modify the
VirtualHost
directive, setting a hostname or IP for the service. The default settings assume that the ceilometer API is the only service running on the local Apache instance, which conflicts with Horizon's default configuration.Modify the
WSGIDaemonProcess
directive to set theuser
andgroup
values to a user available on your server.Modify the
APACHE_RUN_USER
andAPACHE_RUN_GROUP
values to the name of a user and group available on your server.Enable the ceilometer site.
$ a2ensite ceilometer $ service apache2 reload
Limitation
As Ceilometer is using Pecan and Pecan's DebugMiddleware doesn't
support multiple processes, there is no way to set debug mode in the
multiprocessing case. To allow multiple processes the DebugMiddleware
may be turned off by setting pecan_debug
to
False
in the api
section of
ceilometer.conf
.
For other WSGI setup you can refer to the pecan deployement documentation. .. _`pecan deployement`: http://pecan.readthedocs.org/en/latest/deployment.html#deployment