Hi Rinor,
Thanks for the reply,,, to be more specific my setup is as follows

Receiving SMS,

SMSC (over smpp)-->  bearerbox --> sms service --> PHP (scripting)


Sending SMS,

cron job (php) -->  SQLBOX --> BEARERBOX --> SMSC ( over smpp)



The services I am running are basic subscription services where by I send
out SMS to subscibers at set times during the day (via a cron job). We
expect that we might have over 100,000 subscribers min per service
(keyword) meaning at one go, we should send 100,000 sms e.g. at 13:00hrs
100,000 sms at 14:00 another 100,000 sms at 14:30 another 100,000 sms.

Since I have many keywords ( 53 ) two shortcodes, I have set them up in a
mysql database and don't use keyword in the receive url (sms service), I
use PHP to extract the first word of receive texted and query database
(using sound like) to detect if keyword is correct and then processing
continues ( I will be changing this to XML or text file to reduce mysql
queries)


As it stands Linux (ubuntu), Apache, PHP and Kannel are all set on default
values and that is were my worry lies probably i'm supposed to tweak
something to get optimum performance. my Kannel conf is below everything
works except for dlr (i will do more digging into that). Probably there are
some config values which I may remove (has no effect) others which I need
to optimise but generally speaking I will like to know the best practices
so that I get it right the first time,,, we are launching in 3 weeks time


##### KANNEL.CONF ######


group = core
admin-port = 13050
smsbox-port = 13001
admin-password = XXXXX
log-file = "/var/log/kannel/pm_bearebox.log"
log-level = 0
box-deny-ip = "*.*.*.*"
box-allow-ip = "127.0.0.1"
dlr-storage = mysql
smsbox-max-pending = 50000



group = smsc
smsc = smpp
smsc-id = SMSC1
host = XXXXX
port = XXXXX
smsc-username = XXXXX
smsc-password = stk4
system-type = 'VMA'
interface-version = 34
transceiver-mode = 1
reconnect-delay = 20
enquire-link-interval = 20
log-level = 0
log-file = "/var/log/kannel/pm_smpp.log"


group = smsbox
smsbox-id = SMSBOX1
bearerbox-host = 127.0.0.1
sendsms-port = 13013
log-file = "/var/log/kannel/pm_smsbox.log"
log-level = 0
access-log = "/var/log/kannel/pm_access.log"


group = smsbox-route
smsbox-id = SMSBOX1
smsc-id = SMSC1


group = sendsms-user
username = XXXXX
password = XXXXX
user-allow-ip = XX.XX.XX.XX




group = mysql-connection
id = mydlr
host = localhost
username = XXXXX
password = XXXXX
database = XXXXX


group = dlr-db
id = mydlr
table = dlr
field-smsc = smsc
field-timestamp = ts
field-destination = destination
field-source = source
field-service = service
field-url = url
field-mask = mask
field-status = status
field-boxc-id = boxc





group = sms-service
keyword-regex = .*
catch-all = yes
concatenation = true
max-messages = 0
get-url = "
http://127.0.0.1/kannel/inbound.php?timestamp=%t&sender=%p&recipient=%P&text=%a&smsc_id=%i
"




####### SQLBOX.CONF ######


group = sqlbox
id = sqlbox-db
bearerbox-host = localhost
bearerbox-port = 13001
smsbox-port = 13005
smsbox-port-ssl = false
sql-log-table = sent_sms
sql-insert-table = send_sms
log-file = "/var/log/kannel/kannel-sqlbox.log"
log-level = 0


group = mysql-connection
id = sqlbox-db
host = localhost
username = XXXXX
password = XXXXX
database = XXXXX



















On Sat, Jun 15, 2013 at 2:39 PM, Rinor Hoxha <[email protected]> wrote:

> Hi,
> there are many variables involved.
>
> 1) For example based on you expected traffic amount what is the expected
> time distribution of the service? Some approx. avg. calculations (which
> may differ from live traffic):
>
> TOT_SMS | TOT_HOURS | SMSxHOUR | SMSxMIN | SMSxSEC
> 1000000  | 24                 | 41666         | 694.4       | 11.6
> 1000000  | 20                 | 50000         | 833.3       | 13.9
> 1000000  | 16                 | 62500         | 1041.7     | 17.4
> 1000000  | 12                 | 83333         | 1388.9     | 23.1
> 1000000  | 08                 | 125000       | 2083.3     | 34.7
> 1000000  | 04                 | 250000       | 4166.7     | 69.4
>
> However those figures depend on your smpp connection(s) throughput.
> As for kannel itself there is no problem to process (send/receive) at
> those speeds.
>
> 2) Depending on the type of services, their response time, their
> distribution among shortcodes (if you have more than one shortcode
> and/or more than one operator) multiple smsboxes/sqlboxes may help.
>
> 3) To be avoided are large queues on bearerbox (when possible)
>
> If you care/can/want to share more specific details, we may ( or may not
> :) )  give different other advices.
>
> However the best way to test your system is to perform some benchmarks
> with smpp simulators (using the real actual sms-services) and check how
> your system behave with different configuration types.
>
> Most of the times kannel is NOT the bottleneck. php/perl/shell...
> services, sql queries, etc.. ,if not properly implemented, may "kill"
> your system performance.
>
> Br, Rinor
>
>
> On 06/15/2013 08:36 AM, Eric Beda wrote:
> > Hi guys,
> >
> > I have a setup where by I am connected via smpp to mobile operator,
> > receive messages via sms-service get-url, process it with php and send
> > replies via sqlbox (inserting into send_sms)
> >
> > This setup goes all fine and well during testing ( low traffic ) phase
> > except for a few niggles (not the point of this email). But I expect
> > to get huge amounts of traffic approx 1 million sms's a day, so my
> > question is what is the most efficient/best practice to setup kannel ??
> >
> > Cheers
>

Reply via email to