Hi

As my mission to push up throughput continues, and I follow the moving
goalposts around the field, I am at the point where I have tweaked my OS,
application and DB to cater for higher volumes, have patched my code to sort
out DLR sequencing issues (thanks Ben) and have pushed my throughput setting
to 50 messages per second through the carrier.

My current issue is that I am being throttled by the carrier, but not in the
way that I expected. They have me set to 50 messages per second, and I am
presenting to them on dual binds, set at throughput of 25 each.  Sounds ok.

When I go to send say 2000 messages, I can parse my access.log, and I'll see
some sends where I'm hitting 45+ messages Sent.

But more often, I am seeing 0, or 1, or 2 being sent.

When I look at the individual bind log, I'll see,
2008-03-21 12:53:57 [32228] [13] ERROR: SMPP[smppA]: SMSC returned error
code 0x00000058 (Throttling error) in response to submit_sm.

When I talk to the carrier, they say that this throttling is being passed
back, not by them, but by the individual operator. Problem is, kannel will
then back off for X seconds, so even though it has 2000 messages to send to
multiple networks, it can't send any, as it regards the bind as throttled.

Can anyone outline for me just how throttling operates. I see from the
source that it appears to back off for 15 seconds, before re-commencing.
Would it be a mistake for me to reduce this 15 to 2 or 3 seconds.  Has
anyone seen before where an aggregator will pass back a throttling error
from an individual operator, thus gagging kannel completely?

Thanks for your thoughts,

Dave

Reply via email to