Docker-mailman: Performance issue
I am using Docker-mailman (currently Mailman version 3.2.0a1).
I have a list with 38513 subscribers and when I operate on a very large number of them (for example click Unsubscribe all), the web interface times out. The same happens if I use the REST API, one member at the time, but run from a python script i've made).
The Docker containers for both Mailman core (mostly) and mailman web (sometimes) are using 100% CPU (quart of the server's amount of CPUs). By doubleing the CPU shares that the two docker containers can use (using RHEL Cockpit) from 1024 to 2048 for each, Mailman-core had a max usage of 190% and Mailman-web about 101%.
Still, mass unsubscribing the members by clicking Unsubscribe all made theinterface time out. Using the REST API succeeded unsubscribing all, but still made the Mailman web interface inaccessible.
How can I make Docker-mailman perform better, to avoid these timeouts.
-- Henrik Rasmussen University of Copenhagen
PGRpdiBkaXI9J2F1dG8nPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIiBkaXI9ImF1dG8iPjx kaXYg Y2xhc3M9ImdtYWlsX3F1b3RlIj48YmxvY2txdW90ZSBjbGFzcz0icXVvdGUiIHN0eWxlPSJ tYXJn aW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ 6MWV4 Ij48cCBkaXI9Imx0ciI+PGJyPgoKPGJyPgpTdGlsbCwgbWFzcyB1bnN1YnNjcmliaW5nIHR oZSBt ZW1iZXJzIGJ5IGNsaWNraW5nIFVuc3Vic2NyaWJlIGFsbCBtYWRlIHRoZWludGVyZmFjZSB 0aW1l IG91dC4gVXNpbmcgdGhlIFJFU1QgQVBJIHN1Y2NlZWRlZCB1bnN1YnNjcmliaW5nIGFsbCw gYnV0 IHN0aWxsIG1hZGUgdGhlIE1haWxtYW4gd2ViIGludGVyZmFjZSBpbmFjY2Vzc2libGUuCjx icj4K Cjxicj4KSG93IGNhbiBJIG1ha2UgRG9ja2VyLW1haWxtYW4gcGVyZm9ybSBiZXR0ZXIsIHR vIGF2 b2lkIHRoZXNlIHRpbWVvdXRzLgo8YnI+PC9wPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj4 8ZGl2 IGRpcj0iYXV0byI+WW91IChjdXJyZW50bHkpIGNhbid0LiBUaGUgaXNzdWUgaXMgdGhhdCB 0aGUg cmVzdCBBUEkgZG9lc24ndCBleHBvc2UgZW5kcG9pbnRzIHRvIGRvIGJ1bGsgb3BlcmF0aW9 ucy4g U28gdGhlIEZyb250ZW5kIGhhcyB0byBkbyBhIHJlcXVlc3QgcGVyIHN1YnNjcmlwdGlvbi4 mbmJz cDs8L2Rpdj48ZGl2IGRpcj0iYXV0byI+PGJyPjwvZGl2PjxkaXYgZGlyPSJhdXRvIj5JZiB 5b3Ug d2FudCBhIHBlcmZvbWFudCAoYnVsaykgb3BlcmF0aW9uLCB5b3UgY3VycmVudGx5IGhhdmU gdG8g Z28gdGhyb3VnaCB0aGUgbWFpbG1hbiBzaGVsbC48L2Rpdj48ZGl2IGRpcj0iYXV0byI+PGJ yPjwv ZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIiBkaXI9ImF1dG8iPjxkaXYgY2xhc3M9Imd tYWls X3F1b3RlIj48YmxvY2txdW90ZSBjbGFzcz0icXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDA gLjhl eDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48cCBkaXI 9Imx0 ciI+PC9wPjwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj4=
Not sure what happened to that email. I used the gmail android app to send it... it somehow ended up being base64 encoded...
Still, mass unsubscribing the members by clicking Unsubscribe all made theinterface time out. Using the REST API succeeded unsubscribing all, but still made the Mailman web interface inaccessible.
How can I make Docker-mailman perform better, to avoid these timeouts.
You (currently) can't. The issue is that the rest API doesn't expose endpoints to do bulk operations. So the Frontend has to do a request per subscription.
If you want a perfomant (bulk) operation, you currently have to go through the mailman shell.
participants (2)
-
Henrik Rasmussen
-
Simon Hanna