OptiBiz1
Active Member
We reached 7 million messages per hour on our dedicated server today (see attached image with the server HW config, not that it matters for the performance but there are actually 6 * 2 TB SATA RAID10 disks, instead of 6 * 1 TB. It's the SSD disks that are interesting since the database is stored there). We use an external delivery server supplier.
A pretty small message, but still 168 MM/24 hours (extrapolated speed, 7 * 24), which is amazing. Still the CPU and RAM is not that much utilized. RAM is only peaking at 21% and CPU at 60% (the server CPUs are to my knowledge E5-2670 V2, pretty old that is) so it doesn't seem that we can fry bacon on the server.
(and I am fully aware of that these speeds will not happen when we have multiple customers on the server running multiple campaigns. Of course things will slow down per server)
I have this wild theory that the IP stack might be a bottleneck here. This is waaaaaaaaay out of the borders of my Linux skills, which is why I post this here:
The question is whether the IP stack can be "crowded" when pushing data on one IP address.
Each of servers have five IP addresses and IF IP gets "crowded" (e.g. that a certain amount of RAM is allocated, or a max amount of messages in the queue is reached etc), then it might be an idea to try to send data over the extra IP addresses that the server has. I mean it's still the same NIC, and that can take some 1 Gbps (in theory) and the extra IP addresses still belong to that same NIC, so it's not a question of capacity of the NIC, rather the capacity of IP.
Another idea is that we might become more efficient if we use a more efficient queue handler on our side, something that gathers all the outgoing messages and funnels them into existing connections that totally bursts the delivery server using a preconfigured amount of connections on our side.
1) Any ideas on the matter of the IP stack, anyone?
2) Is there some queue that handles this very efficiently? We use SwiftMailer, which I think uses Postfix and then there is a queue handling built in. Maybe there is something better or some super efficient config setting that we can do?
3) Could it be that if we store the PHP files too on the SSD, that we gain some significant speed advantage there?
Thank you!
A pretty small message, but still 168 MM/24 hours (extrapolated speed, 7 * 24), which is amazing. Still the CPU and RAM is not that much utilized. RAM is only peaking at 21% and CPU at 60% (the server CPUs are to my knowledge E5-2670 V2, pretty old that is) so it doesn't seem that we can fry bacon on the server.
(and I am fully aware of that these speeds will not happen when we have multiple customers on the server running multiple campaigns. Of course things will slow down per server)
I have this wild theory that the IP stack might be a bottleneck here. This is waaaaaaaaay out of the borders of my Linux skills, which is why I post this here:
The question is whether the IP stack can be "crowded" when pushing data on one IP address.
Each of servers have five IP addresses and IF IP gets "crowded" (e.g. that a certain amount of RAM is allocated, or a max amount of messages in the queue is reached etc), then it might be an idea to try to send data over the extra IP addresses that the server has. I mean it's still the same NIC, and that can take some 1 Gbps (in theory) and the extra IP addresses still belong to that same NIC, so it's not a question of capacity of the NIC, rather the capacity of IP.
Another idea is that we might become more efficient if we use a more efficient queue handler on our side, something that gathers all the outgoing messages and funnels them into existing connections that totally bursts the delivery server using a preconfigured amount of connections on our side.
1) Any ideas on the matter of the IP stack, anyone?
2) Is there some queue that handles this very efficiently? We use SwiftMailer, which I think uses Postfix and then there is a queue handling built in. Maybe there is something better or some super efficient config setting that we can do?
3) Could it be that if we store the PHP files too on the SSD, that we gain some significant speed advantage there?
Thank you!
Attachments
Last edited: