[kwlug-disc] Service resource management: i.e. Mailman3 vs Mailman2
Ronald Barnes
ron at ronaldbarnes.ca
Fri Jan 31 18:53:04 EST 2025
Khalid Baheyeldin wrote on 2025-01-31 15:39:
> The memory usage I showed earlier did not include PostgreSQL, it was a
> gazillion Python interpreters and one shell.
>
>
> PostgreSQL itself will be using a lot of memory.
>
> But my guess here is that it could very well be that processes that issue
> queries to the database do it in an inefficient way.
I should look closer at the processes being run.
Mailman v2 (slightly trimmed to avoid wrapping):
Command
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=ArchRunner
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=OutgoingRunner
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=VirginRunner
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=IncomingRunner
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=BounceRunner
/usr/bin/python2 /usr/lib/mailman/bin/mailmanctl -s start
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=CommandRunner-s
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=NewsRunner
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=RetryRunners
Looks like all mail handling. No DB is used by v2.
Mailman v3:
/venv/bin/master -C /etc/mailman3/mailman.cfg
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=archive
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=bounces
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=command
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=in
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=lmtp
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=out
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=pipeline
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=retry
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=task
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=virgin
/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=digest
And all those are for mail processing except --runner=rest, which I
think is web interface.
One of those just for digests? Shouldn't that be a cron job task, not a
persistent one?
Mailman3-web:
/venv/bin/uwsgi --ini /etc/mailman3/uwsgi.ini
/venv/bin/uwsgi --ini /etc/mailman3/uwsgi.ini
/venv/bin/uwsgi --ini /etc/mailman3/uwsgi.ini
/opt/mailman/venv/bin/mailman-web qcluster"
/venv/bin/python /opt/mailman/venv/bin/mailman-web qcluster
/venv/bin/python /opt/mailman/venv/bin/mailman-web qcluster
/venv/bin/python /opt/mailman/venv/bin/mailman-web qcluster
/venv/bin/python /opt/mailman/venv/bin/mailman-web qcluster
/venv/bin/python /opt/mailman/venv/bin/mailman-web qcluster
/venv/bin/python /opt/mailman/venv/bin/mailman-web qcluster
All those uswgi are web services gateway interface stuff, as the service
name indicates.
The rest of them?
Who even knows?
I bet one (or more) of these are for querying the DB and reading /
feeding messages from mail queues / to web interface.
This all gives me a headache.
More information about the kwlug-disc
mailing list