Just a follow up to say I feel I've ruled out the carrier connection. I
routed everything through another bind, to a different carrier and still
found 150 messages took 82 seconds. I know this is something very basic, I'm
just not seeing it.
Dave


On 3/15/08, Alejandro Guerrieri <[EMAIL PROTECTED]> wrote:
>
> 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