SMS per second

SMS per second SearchSearch
Author Message
Eric Michiels
New member
Username: Michiels

Post Number: 3
Registered: 03-2010
Posted on Tuesday, March 23, 2010 - 08:58 pm:   

Hi, I currently have a version of now sms that handles 300 sms per second, but I am only seeing about 15 sms per second being sent.
The company i am conecting to told me they have a TPS (transactions per second) of 200, so I should at least be able to send 200 sms per second.

how can i change this?

thanks,

Eric
Eric Michiels
New member
Username: Michiels

Post Number: 4
Registered: 03-2010
Posted on Tuesday, March 23, 2010 - 09:51 pm:   

Hi, i was reading about SMSGW.INI, there are three instances where the sms per second can be defined:

2WaySMSThreadCount=##
SMSCSendLimit=
SendLimit=x/y

MY SMSGW.INI, does not contain any of those parameters.
can I just add those parameters in the SMSGW.INI? if so where?

This is the file, i have right now:



#SMSAccountingURL=http://localhost/smsaccount.php
#2WayReplySameServer=Yes
ReceiveSMS=Yes
ReceiveMMS=No
ReceiveSMSCharset=windows-1252
Modem1=SMPP - 130.x.x.x:5016
ReceiveSMSCommand1=* http://IP/services/loader.php?shortCode=@@RECIP@@&sender=@@SENDER@@&SMSCAccount= @@SMSCROUTE@@&message=@@FULLSMS@@ No
ConfigurationUpdateTriggerRestart=20091222141407
Modem2=SMPP - 216.x.x.x:9975
WebAuth=No
WebMenu=Yes
WebPort=8800
SeparateUserQueues=Yes
AdminUser=*****
AdminPassword=*****
IPAddress=172.16.x.x
Modem3=SMPP - 216.184.x.x:5023
Modem4=SMPP - 216.230.x.x:3000

[SMPP - 130.x.x.x:x]
RouteName=emisoras1
SMPPVersion=v3.4
UserName=*******
Password=******
SystemType=SMSEMIUNI
SenderAddressOverride=Yes
Receive=Yes
ReceiveMMS=No
UseSSL=No
LongSMSAlt=Yes
ReceiveSingleConnection=Yes
SMSCCharset=iso-8859-1
KeepAlive=30
WindowSize=30

then the other provider information, which is very similar.
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 1959
Registered: 08-2008
Posted on Tuesday, March 23, 2010 - 11:20 pm:   

Hi Eric,

I don't know much about your configuration, but I am guessing that you are using SMPP, is that correct?

If so, you need to go into Properties/Advanced Settings and enable async mode. I'd suggest a window size of 50. After entering this setting you will need to press OK twice, then Apply, and allow the service to restart.

For more specific advice if this does not answer your question...

What is the SMSC connection type?

Are you using a single connection or multiple connections?

How are you inputting the messages to NowSMS?

-- Des NowSMS Support
Eric Michiels
New member
Username: Michiels

Post Number: 5
Registered: 03-2010
Posted on Tuesday, March 23, 2010 - 11:22 pm:   

Hi, thank you for your anser, yes we are using smpp conections with 3 mobile carriers.

The smsc conection type is smpp, for one service we use http sending.
Multiple conections 3.
for inputing messages what do you mean?

thanks,

Eric
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 1964
Registered: 08-2008
Posted on Tuesday, March 23, 2010 - 11:50 pm:   

2WaySMSThreadCount=## goes under the [SMSGW] header of SMSGW.INI.

SMSCSendLimit= goes under the [SMSC connection name] (e.g., [SMPP - server:port]) header of SMSGW.INI. Note that it is typically used to slow down a connection, not speed it up.

SendLimit=x/y ... this one is unrelated, it goes into VASP.INI for an outbound MMSC connection.

Where are you seeing the slowness? Sending out or processing the 2-way commands via HTTP?

Re inputting, I am referring to the means through which you are queueing the messages into NowSMS? Is it HTTP? SMPP client? Other?

I'm trying to determine if the delay is in the input, or if it is output.

While I did recommend an SMPP window size larger than the 30 that you are using, 30 should allow you to exceed 15 messages per second.

Give me a better idea of message flow through the system, and that should help us see the bottleneck.

Also, are you seeing any retry errors in the SMSOUT-yyyymmdd.LOG? Is the per second output consistent or does it seem to fluctuate.

Apologies in advance, but due to travel, I might be unable to respond promptly.

--
Des
NowSMS Support
Eric Michiels
New member
Username: Michiels

Post Number: 6
Registered: 03-2010
Posted on Wednesday, March 24, 2010 - 12:00 am:   

Des, the problem i am having is seen in the log:
I keep seeing these INFO --- XXX ms wait time for SMPP window size 30, when i am sending a broadcast, this causes a long delay in sending broadcast (news services). Like i said the carrier says we have 200 TPS available to us, but after each sms i keep getting this error when i send news.

010-03-05 09:49:59,System,,SMPP - 130.1.1.50:5016,Info -- 47 ms wait time for SMPP window size 30
2010-03-05 09:50:00,5E80C5DF.req,172.16.241.111,50248830506,OK -- SMPP - 130.1.1.50:5016,Sender=50541;SMSCMsgId=1d6b2ffa;Text="Ginebra: ONU alerta incremento de hambruna en Guatemala y dice, tras Estado de Calamidad situacion se agrava. Pide en donacion:34.1 millones de dolares. 89.7"
2010-03-05 09:50:00,System,,SMPP - 130.1.1.50:5016,Info -- 63 ms wait time for SMPP window size 30
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 1965
Registered: 08-2008
Posted on Wednesday, March 24, 2010 - 12:09 am:   

Hi Eric,

Those are debug messages ... which in this case, are quite helpful. These are instances where we could have submitted more messages, but we hit the window size of 30 and were waiting for acknowledgments of the 30 outstanding messages before submitting any more.

I'd suggest cranking it up to 100, and see if this makes it better or worse.

My initial reaction is that the SMSC is not prepared to accept messages at the higher speed. But, it is also possible that you need a higher window.

If the wait time numbers do not get noticeable larger at a window size of 100, but you still have some waits, then you may want to try an even larger window size, but I'd hesitate to go above 200.

--
Des
NowSMS Support
Eric Michiels
New member
Username: Michiels

Post Number: 7
Registered: 03-2010
Posted on Wednesday, March 24, 2010 - 12:12 am:   

thank you, ill test with 100.

this will impact all conections righ?
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 1966
Registered: 08-2008
Posted on Wednesday, March 24, 2010 - 12:16 am:   

The window size is set on a per-connection basis. Each SMPP connection has its own max window size for outstanding SMPP send transactions.
Keith Norris
New member
Username: Keith

Post Number: 3
Registered: 10-2002
Posted on Wednesday, March 24, 2010 - 10:05 am:   

Hi Eric,

Could you confirm your serial number and NowSMS version number?
ashot shahbazian
Frequent Contributor
Username: Animatele

Post Number: 88
Registered: 06-2004
Posted on Thursday, April 08, 2010 - 09:23 am:   

Eric,

The 40-60 ms delays seen in your log mean that in theory you should be able to submit your messages to this provider at ~50 TPS in Sync mode (with a Windowsize=0) over a single session.

One known caveat is the debug logging, especially if your traffic is dense and the disk is slow (defrag it daily.) Try disabling all debugs and stress-test it on the same connection again.

I'd not use a window size of over 30 unless your node is in the same datacentre as the provider's SMSC: with 300, IP packet loss or sudden delays at provider's SMSC would cause massive resubmits of messages. Instead:
- try using multiple sessions per bind (ask the operator to allow it if not working by default)
- check SMSdebug log for dropped connections, and if discovered decrease the enquire_link interval to 30s or less until you see it's stabilised
- use separate TX and RX sessions - 1 RX per 2 TX is usually good
- if your configuration is a complex one with hundreds of user accounts, many SMSC uplinks, hundreds of prefixes in RoutPrefOnly sections of those uplinks combined with Alloweduser=xxx routing - you won't get more than 30-50 SMS/sec from NowSMS no matter what you do. If that's the case - use a message router external to NowSMS and have simple rules set up in NowSMS, such as routing by TLV (avoid dest prefix or service_type routing rules.)

Kind regards,
Ashot