We (at University of Bologna) are working on our first project using Plone 5.2 / Python 3.
The main question is about production deployment. Is there someone with a medium/large installation in the wild that want to share their experience?
Our main questions:
Currently we have the current battle tested deployment: nginx + varnish + haproxy + multiple ZServer processes (ZEO client or RelStorage client) over multiple virtual server, for scaling and fail over.
With Plone 5.2/python3 there is WSGI, currently mandatory.
Any experience with different WSGI server in production? Waitress is enough for production or is it better to choose other options: gunicorn, uwsgi, ... ? pro/cons ?
What about blob file streaming? Is wsgi.file_wrapper the right solution here (https://www.python.org/dev/peps/pep-0333/#optional-platform-specific-file-handling)?
It is performant enough in waitress (https://docs.pylonsproject.org/projects/waitress/en/stable/filewrapper.html) or if needing performance for many/large blob files is better to choose a different wsgi server?
What about balancing?
Better following well-beaten path: multiple wsgi server http and haproxy or varnish http balancer? Or is someone experienced with specific wsgi balancer, automatic scaling, cleaver balancing, like circus or zc.resumelb or others?
What about the small gems that we had before in Plone but really closed to ZServer implementation. Like inspect running threads (kill -USR1 instance.pid) or collective.taskqueue, haufe.requestmonitoring, ... there are ready to work working alternatives?
Asko what about your work in progress on the new python 3 ZServer over Twisted?
Last but non least, what about documentation: https://docs.plone.org/manage/deploying/wsgi.html seems to me too old.
References / follow up of: