Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update en.json - SMTP Max. connections info #2133

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

MaximilianKohler
Copy link
Contributor

Addresses #2069

@@ -426,7 +426,7 @@
"settings.mailserver.idleTimeout": "Idle timeout",
"settings.mailserver.idleTimeoutHelp": "Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).",
"settings.mailserver.maxConns": "Max. connections",
"settings.mailserver.maxConnsHelp": "Maximum concurrent connections to the server.",
"settings.mailserver.maxConnsHelp": "Maximum concurrent connections to the server. Should = Message rate x Concurrency.",
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't correct. Max conns can be anything and don't need to be message_rate x concurrency.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I based it on your comment here #2069 (comment)

your SMTP pool's max conns is set to 10, which means at max, you can only send 10 messages concurrently

You should reduce concurrency to something like 5-10 (given you've sent max messages to 2) and increase SMTP max conns to match.

Would it be more accurate to say SMTP Max. connections should = the Performance -> Concurrency number?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your last comment in that issue also makes it sound like this current help text is incorrect:

If concurrency = 10 and message_rate = 10, then up to 10x10=100 messages may be pushed out every second

Per your comment, it sounds like "Message rate" is the actual limit, and "Concurrency" just enables it.

So I think the help text for each of the performance settings needs some tweaking/clarification.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should change the setting's label to Max message rate instead of Message rate.

Copy link
Contributor Author

@MaximilianKohler MaximilianKohler Nov 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How would you be getting 50k/minute with

Concurrency: 250
Message rate: 50

50/s x 60 seconds = 3k/minute.

To get 50k/minute you'd need something like

Concurrency: 2500
Message rate: 830
SMTP Max. connections 830??

Maximum number of messages to be sent out per second per worker in a second

This also doesn't make sense based on what you've said recently. Message Rate seems to be a hard limit, not a per-worker (concurrency) rate.

EDIT:

I just confirmed (#2069 (comment)) that "Message rate" is not "max message rate" since I had message rate at 10 and I was sending at 20/s.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the instance of the settings I shared (which keep getting tweaked based on campaigns) 250 workers with each worker doing a max of 50/sec = 12.5k/sec max. For larger campaigns, we spawn and add multiple SMTP servers and raise the limits accordingly.

hm, sending 20/sec with 10 in settings, I'll have to investigate that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

250 workers with each worker doing a max of 50/sec = 12.5k/sec max

Ok, I guess there's a communication issue because this indicates that the If concurrency = 10 and message_rate = 10, then up to 10x10=100 messages may be pushed out every second help text is correct, even though it sounded like you contradicted that recently.

Yet my own experiments indicate that help text is wrong.

  • You're sending at 50,000 per minute
  • 12500 per second is 750,000 per minute

None of this is making sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants