max-pending-submits control how many messages are "open" on any given moment. SMPP allows for asynchronous operation, so submits and responses could be "stacked" and out of order:
submit_sm 1 -> ... submit_sm 15 -> ... <- submit_sm_response 12 ... <- submit_sm_response 11 .... submit_sm 20 -> <- submit_sm_response 1 ... <- submit_sm_response 20 max-pending-submits limits how many submit_sm's can be open at the same time. A high number could rise performance (since the delay on a single message wouldn't delay many others) but also can cause more load on the SMSC side (that should cope with more messages to process). Usually the default 10 is ok, but YMMV. Anyway, if the throttling is downstream, the problem is on the aggregator's platform (he should cope with the throttling properly, IMHO). Is there any way to separate that carrier's traffic on a dedicated link? That way you could tune the throughput accordingly, and the throttling wouldn't affect the other carrier's traffic. Regards, Alejandro On Fri, Mar 21, 2008 at 11:02 AM, Dave Clarke <[EMAIL PROTECTED]> wrote: > Thanks Alejandro > > I see what you're saying, but my issue is that this throttling is > allegedly not coming from the carrier I'm connected to, but from an operator > further downstream. > > My carrier says I am allowed throughput of 50/sec. Even when I set my > end at 30/sec I still get these throttling problems. I'm confused. > > Can you clarify the effect that max-pending-submits has on the throughput? > Say I have 2000 to send, I fire off 50. Now I have 50 pending submits. When > I get a submit_sm_resp, I have 49 pending submits. Is this correct? > > Dave > On Fri, Mar 21, 2008 at 1:31 PM, Alejandro Guerrieri < > [EMAIL PROTECTED]> wrote: > > > Dave, > > > > Throttling error is usually fixed by playing with "throughput" and > > "max-pending-submits" parameters. > > > > Try lowering the output a little, if you get throttled it's obvious that > > the operator has not set the throughput as high as he's claiming. > > > > Throttling causes performance penalties (messages gets requeued and > > retried, thus reducing the overall throughput) so maybe a little lower > > throughput will get you higher performance. > > > > Hope it helps, > > > > Alejandro > > > > > > On Fri, Mar 21, 2008 at 10:13 AM, Dave Clarke <[EMAIL PROTECTED]> > > wrote: > > > > > 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 > > > > > > > > > > > > > >
