Review wsgi process/thread config

Bug #1759945 reported by Oliver Walsh
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-nova
Won't Fix
Wishlist
Oliver Walsh
tripleo
Incomplete
Wishlist
Oliver Walsh

Bug Description

Based on http://lists.openstack.org/pipermail/openstack-operators/2018-March/015044.html...

Looking at the tripleo/puppet config we appear to set procs to a function of the number of CPUs, and threads to 1 (everywhere), which may not scale well.

Oliver Walsh (owalsh)
Changed in tripleo:
importance: Undecided → High
Changed in tripleo:
milestone: none → rocky-1
status: New → Incomplete
status: Incomplete → Triaged
Revision history for this message
Alex Schultz (alex-schultz) wrote :

In the past we've been told that threads should be 1 and the process count should be tuned. It depends on the service i guess. For processes we use the os_worker fact that uses a sliding scale with a cap so folks don't end up with 48+ processes for every service running

Oliver Walsh (owalsh)
Changed in tripleo:
assignee: nobody → Oliver Walsh (owalsh)
Oliver Walsh (owalsh)
Changed in puppet-nova:
assignee: nobody → Oliver Walsh (owalsh)
Revision history for this message
Oliver Walsh (owalsh) wrote :

Ok, <sigh> so we may need to review each individual service...

Just looking at nova-placement for now:

(Chris & Sylvain, any suggestions for the defaults are much appreciated)

The current default in the RDO nova placement rpm is procs = 3, threads = 1.
The current default in puppet-nova (via puppet-openstacklib) is procs = min(max(#cpus/2, 2), 12), threads = 1.

The number of procs are perhaps a bit on the conservative side in both cases, but not ridiculous as a default IMO.

I'd be inclined to change threads to the mod_wsgi default (15) on master at least, unless we know of a very good reason not to.

Revision history for this message
Chris Dent (cdent) wrote :

I can't really comment on the defaults for anything other than placement, I wish I could but, time, energy, etc.

On placement the reason it's important to have a pretty hefty base is that every nova-compute process will talk to placement a few times per minute. Get the number of nova-computes up in the high numbers and as you might expect things will start to get crowded.

In my experiments, placement works fine when threads are available. That is: I'm not aware of it experiencing the problems that apparently keystone did at some point when it was configured to use both threads and processes.

I agree with your inclination Oliver: especially if you are able to get good feedback from people if things go sideways.

Changed in tripleo:
milestone: rocky-1 → rocky-2
Changed in tripleo:
milestone: rocky-2 → rocky-3
Changed in tripleo:
milestone: rocky-3 → rocky-rc1
Changed in tripleo:
milestone: rocky-rc1 → stein-1
Changed in tripleo:
milestone: stein-1 → stein-2
Changed in tripleo:
milestone: stein-2 → stein-3
Changed in tripleo:
milestone: stein-3 → stein-rc1
Changed in tripleo:
milestone: stein-rc1 → train-1
Changed in tripleo:
milestone: train-1 → train-2
Changed in tripleo:
milestone: train-2 → train-3
Changed in tripleo:
milestone: train-3 → ussuri-1
Changed in tripleo:
milestone: ussuri-1 → ussuri-2
wes hayutin (weshayutin)
Changed in tripleo:
milestone: ussuri-2 → ussuri-3
wes hayutin (weshayutin)
Changed in tripleo:
status: Triaged → Incomplete
wes hayutin (weshayutin)
Changed in tripleo:
milestone: ussuri-3 → ussuri-rc3
wes hayutin (weshayutin)
Changed in tripleo:
milestone: ussuri-rc3 → victoria-1
Changed in tripleo:
milestone: victoria-1 → victoria-3
Changed in tripleo:
importance: High → Wishlist
Changed in tripleo:
milestone: victoria-3 → wallaby-1
Changed in tripleo:
milestone: wallaby-1 → wallaby-2
Changed in tripleo:
milestone: wallaby-2 → wallaby-3
Revision history for this message
Marios Andreou (marios-b) wrote :

Bug status has been set to 'Incomplete' and target milestone has been removed due to inactivity. If you disagree please re-set these values and reach out to us on freenode #tripleo

Changed in tripleo:
milestone: wallaby-3 → none
Revision history for this message
Takashi Kajinami (kajinamit) wrote :

Because we haven't seen any activity about this bug for long, I'll close this as WON'T FIX.
To move this forward, we first need actual learning/feedback from real deployments.

Changed in puppet-nova:
importance: Undecided → Wishlist
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.