S
S
soupdawgie2018-02-19 14:20:33
Exim
soupdawgie, 2018-02-19 14:20:33

Why is Exim running slower in a Docker container than on a regular server?

Gentlemen, situation.
I am writing a bicycle for email marketing, it has become too expensive to pay for third-party solutions for a 350K+ base. It works (or rather, it worked) like this: a Ruby script goes through subscribers, renders HTML with links and text substituted for a particular subscriber, and sends letters through Exim. A configured Exim with DNS cache enabled sends 15-20 emails per second. But this is not enough.
Our goal is to send emails 2-3 times faster. To do this, I deployed four Docker containers with Exim inside. The script now divides all subscribers into four chunks and asynchronously sends messages to each of the containers.
But pretty soon it turned out that four MTAs simultaneously send letters more slowly than one on the host. Even a single Exim in a container is slower.
I checked the network, disks, monitored htop, iotop and nload under load (the server copes, it's far from full load), switched Docker from loopback to thinpool, put spool in tmpfs - all in vain. Obviously there is a bottleneck somewhere that I don't know about.
What could it be?

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question