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 >
