Dave,

It certainly looks like a bottleneck on the link, but there are so many
variables involved that it's quit difficult to pinpoint the problem without
a lot of analysis and tests.

One more question: if you access the http interface on kannel, the store and
queued values gets higher and higher? Could you please post some figures on
what's showing on the admin interface?

Regards,

Alejandro

On Fri, Mar 14, 2008 at 9:56 PM, Dave Clarke <[EMAIL PROTECTED]> wrote:

> Thanks for this Alejandro
>
> I'll look at trying the fake smsc.  The carrier has given me a throughput
> of 50, and advised that I split this across 2 binds, which I have done,
> setting the throughput figures at 25 and 25. I never see any throttling
> erors.
>
> The reason I set the max-pending-submits to 100 was that, with log level
> 0, and max-pending-submits set to 10,  I was able to see that I was only
> able to send 10 submit_sm, and would then have to wait for a submit_sm_resp
> before I could submit another message. I thought that increasing to 100
> would give me a better window, as sometimes my submit_sm_resp seem to take
> forever. Maybe I need to talk to the carrier about the length of time it
> takes to get the submit_sm_resp back from them.
>
> Thank for your input. I think I'll open a ticket with the carrier in case
> it's simply a misconfig on their side.
>
> Dave
>
> On 3/15/08, *Alejandro* Guerrieri <[EMAIL PROTECTED]> wrote:
> >
> > Dave,
> >
> > I can't make a 100% accurate diagnostic without further tests, but looks
> > like the bottleneck is on the links with the carrier.
> >
> > You can try using the fake smsc module instead of your links, and queue
> > a fair amount of traffic. If the bottleneck is on those links, you'll get
> > much better performance when using the fake smsc.
> >
> > Probably, what it's happening is that the smsc is only accepting a small
> > amount of traffic, and maybe you should lower the throughput values to avoid
> > retries and throttling on the other side.
> >
> > What I'd try:
> >
> > * Try reducing max-pending-submits to 10. Experiment with other values
> > also. 100 looks rather high imho.
> > * Check on your logfiles if there's any "throttling errors".
> > * Also ask your smsc what's the maximum accepted rate and set the
> > thorughput value to that value.
> >
> > Hope it helps,
> >
> > Alejandro
> >
> > On Fri, Mar 14, 2008 at 9:14 PM, Dave Clarke <[EMAIL PROTECTED]> wrote:
> >
> > > Hi,
> > >
> > > Having used kannel for a couple of years, I am now at a point where I
> > > need to start ramping up my throughput, but I am finding that I can't
> > > sustain any more than 2-3 messages a second through my 2x25 SMPP binds.
> > >
> > > If I walk through my application:
> > >
> > > - PHP/Apache/Postgresql application presents messages to smsbox.  On
> > > this occasion I try to send 2200 messages through. They are delivered to
> > > smsbox in blocks of 25 numbers.  If I study smsbox.log, I see the
> > > entire process of passing the messages to smsbox takes 26 seconds.
> > >
> > > - smsbox then chops these up into individual messages and queues them.
> > > If I study smsbox-access.log, again I see all 2200 send-SMS requests
> > > added in about 26 seconds. So far so good.
> > >
> > > - If I now go to access.log, I see that I'm taking 22 MINUTES to do
> > > the 2200 transmits.
> > >
> > > Because this is so long, more customers come along with big sends, and
> > > soon I have 10,000 messages queued and waiting.  Result is a system 
> > > churning
> > > through 2-3 messages per second.
> > >
> > > I'm guessing this is a simple matter of my not understanding the
> > > correct settings for my max-pendings etc.
> > >
> > > What I'm hoping is to kick off a slightly high-level discussion on the
> > > factors I need to look at to achieve X messages per second, and sustain 
> > > this
> > > level of trafic before I get a snowball effect with queued messages and a
> > > flood of DLRs.  My thinking, which seems to have been wrong, was that if I
> > > have a through put to SMSC of 50msgs per second, and an ACK takes say 3
> > > seconds to come back, then I should handle 3x50=150 pending messages, so I
> > > set max-pending-submits = 100 on both binds. Doesn't seem to have done the
> > > trick.
> > >
> > > I'd appreciate any views or suggestions on how I scale this thing. Let
> > > me know if you need more info.
> > >
> > > Thanks,
> > > Dave
> > >
> > > Points to note:
> > > - This is CVS today (20080314)
> > > - using file as store
> > > - All messages have DLR mask 31, so lots of DLRs coming in.
> > > - using mysql for dlrs
> > > - everything currently on a single Dual P4 IBM Netfinity, 4GB RAM. Not
> > > cutting edge, but a good solid system, RAID array etc.
> > >
> > > Config:
> > >
> > > # CORE
> > > group = core
> > > admin-port = 13000
> > > smsbox-port = 13001
> > > admin-password = bar
> > > status-password = foo
> > > log-file = "/logs/kannel1/kannel.log"
> > > access-log = "/logs/kannel1/access.log"
> > > dlr-storage = mysql
> > > store-type = file
> > > store-location = "/logs/kannel1.store"
> > > log-level = 1
> > >
> > > group = mysql-connection
> > > id = mydlr
> > > host = localhost
> > > username = xx
> > > password = xx
> > > database = kannel_dlr
> > > max-connections = 1
> > >
> > > # SMSC SMPP A 1
> > > group = smsc
> > > smsc = smpp
> > > smsc-id = smpp_A
> > > host = xxx
> > > port = 6700
> > > receive-port = 6700
> > > system-type = ""
> > > service-type = CMT
> > > dest-addr-ton = 1
> > > dest-addr-npi = 1
> > > enquire-link-interval = 60
> > > address-range = ""
> > > throughput = 25
> > > log-file = "/logs/kannel1/smppA1.log"
> > > log-level = 1
> > > max-pending-submits = 100
> > >
> > > # SMSC SMPP A 2
> > > group = smsc
> > > smsc = smpp
> > > smsc-id = smpp_A
> > > host = xxx
> > > port = 6700
> > > receive-port = 6700
> > > system-type = ""
> > > service-type = CMT
> > > dest-addr-ton = 1
> > > dest-addr-npi = 1
> > > enquire-link-interval = 60
> > > address-range = ""
> > > throughput = 25
> > > log-file = "/logs/kannel1/smppA2.log"
> > > log-level = 1
> > > max-pending-submits = 100
> > >
> > > # SMSBOX SETUP
> > > group = smsbox
> > > bearerbox-host = localhost
> > > sendsms-port = 13013
> > > smsbox-id = wtsmsbox
> > > sendsms-chars = "0123456789 +-"
> > > log-file = "/logs/kannel1/smsbox.log"
> > > log-level = 1
> > > access-log = "/logs/kannel1/smsbox-access.log"
> > > mo-recode = 1
> > > max-pending-requests = 1024
> > >
> > >
> > >
> >
> >
>

Reply via email to