petschki
(Peter Mathis)
January 25, 2023, 7:44am
1
My Projekt runs on Ubuntu 20.04 and Python 3.10.9 with Plone 6.0-latest (Classic-UI) - nginx/varnish/haproxy with 4 zeoclients - default wsgi threads 4.
After some content modifications the zeoclient(s) starts to have a CPU usage > 100%
I dumped the threads of such a zeoclients with py-spy
and got this:
Any ideas whats going on here?
alert
(Alessandro Pisa)
January 25, 2023, 8:14am
2
Yes, we also see that and reported it here:
and here:
The workaround that worked for us was to set:
[instance]
http-fast-listen = off
Let us know if this fixes your issue as well
4 Likes
petschki
(Peter Mathis)
January 25, 2023, 9:17am
4
Thanks! Looks good so far ... running now for an hour without any CPU issues. I'll keep an eye on that.
petschki
(Peter Mathis)
January 26, 2023, 6:49am
5
After one day running I can report, that there are no more clients with 100% CPU usage. I'll mark this as solved.
1 Like
yurj
(Yuri)
January 26, 2023, 7:58am
6
But maybe Zope should change the code as the waitress developer outlined?
petschki
(Peter Mathis)
January 26, 2023, 8:10am
7
Yes ... marked as "Workaround"
1 Like
petschki
(Peter Mathis)
January 27, 2023, 9:40am
8
petschki
(Peter Mathis)
January 31, 2023, 9:25pm
9
After some debugging sessions and hints (see the github issue 100% CPU on all instances when http-fast-listen is enabled · Issue #188 · plone/plone.recipe.zope2instance · GitHub ) I ended up getting rid of waitress and trying pyruvate
WSGI Server (@tschorr is the author) using this little recipe examples/plone52 · main · Thomas Schorr / pyruvate · GitLab which also works for the latest Plone 6/py3.11.