Re: [Mailman-Developers] Multiple REST servers

2017-05-19 Thread Aurelien Bompard
> Could you open an issue on Core for this?

There you go: https://gitlab.com/mailman/mailman/issues/327

> Have you done any other analysis on where the bottlenecks are?  Is it CPU, db,
> I/O?

I haven't investigated properly but it seems to be the database (which
is on another host).

> Currently the REST server uses Python's stdlib wsgiref WSGIServer which I'm
> positive is not performant enough for your lists.  There are a couple of
> options that would be worth investigating.  I played with trying to use
> gunicorn, but deleted the branch a while ago (IIRC, there were problems and I
> didn't have time to investigate further).  At the very least, I want to look
> into asyncio-based REST server (e.g. aiohttp, uvloop), but maybe there are
> other parts of the stack we need to look at too.

Interesting. I wonder if we can have SQLAlchemy play well with
asyncio, I haven't tried that before.
There is still a gunicorn.py file in the contrib directory, but I
haven't tested it either.


Aurélien
___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Multiple REST servers

2017-05-19 Thread Barry Warsaw
On May 18, 2017, at 07:01 PM, Aurelien Bompard wrote:

>We now have enough lists and activity that Mailman's REST API is
>becoming a bottleneck, since it only answers one request at a time.
>Is there a way to start mutiple REST runners? Or to make the REST
>runner multithreaded?

Thanks for identifying this Aurelien.  Could you open an issue on Core for
this?

Have you done any other analysis on where the bottlenecks are?  Is it CPU, db,
I/O?

Currently the REST server uses Python's stdlib wsgiref WSGIServer which I'm
positive is not performant enough for your lists.  There are a couple of
options that would be worth investigating.  I played with trying to use
gunicorn, but deleted the branch a while ago (IIRC, there were problems and I
didn't have time to investigate further).  At the very least, I want to look
into asyncio-based REST server (e.g. aiohttp, uvloop), but maybe there are
other parts of the stack we need to look at too.

-Barry
___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9