Haven’t really found my answer yet, but I have another question along this line 
of thought.

I see the queue in sqlbox rises quite high, but the queue in the smpp connector 
to the smsc barely goes above 0.

Is there a way to control.modify the flow of messages from sqlbox to the smpp 
queue?

Architecturally, is this correct in terms of the flow of messages:
sqlbox queue -> bearerbox sms store-> smpp queue

Regards
Grant
> On 09 Dec 2015, at 11:56, spameden <spame...@gmail.com> wrote:
> 
> 
> 
> 2015-12-09 12:43 GMT+03:00 Grant Saicom <grant.sai...@gmail.com 
> <mailto:grant.sai...@gmail.com>>:
> We process the sent_sms into another table on they fly. Maximum size the 
> sent_sms table gets is maybe 40k tops but mostly it averages around 10K. We 
> see this once 1 week maybe.
> 
> I have really made every attempt to remove any bottlenecks in terms unwieldy 
> database sizes to allow kannel to work in a favourable environment.
> 
> Is there reason to add multiple sqlboxes to feed bearer box?
> 
> Is there maybe a concurrency setting I can do for bearer box to receive the 
> messages? I did not come across documentation aside from email posts with 
> respect to the limit-per-cycle setting.
> 
> I have another question, would we be able to get faster performance if we 
> went flat file for the kannel operations?
> 
> Well you can exclude bottlenecks by simply testing same setup with fakesmsc 
> daemon and see if speed will be better.
> 
> It might be that delay is caused by your SMSC uplinks overall speed and not 
> database.
> 
> You can also try classic smsbox implementation for sending instead of sqlbox. 
> But I think sqlbox is fastest and more convinient way because of DB storage.
> 
> 
>  
> 
> Regards
> 
> 
>> On 08 Dec 2015, at 15:12, spameden <spame...@gmail.com 
>> <mailto:spame...@gmail.com>> wrote:
>> 
>> 
>> 
>> 2015-12-08 12:51 GMT+03:00 Grant Vorenberg <gr...@saicomvoice.co.za 
>> <mailto:gr...@saicomvoice.co.za>>:
>> <saicom-voice-services.gif> 
>> <https://branding.synaq.com/api/r/id/22474050/map/0>
>> 
>> Hi
>> 
>> We manage how big send_sms gets. The queue builder puts in 500 messages at a 
>> time to a total maximum of 3000 from a larger main queue which can go as big 
>> as 2M.
>> 
>> 2M is kinda big table, how big is sent_sms? 10-30M ?
>> 
>> I think your issue happens when kannel tries to move from send_sms to 
>> sent_sms table already submitted message this is where it hangs. You can try 
>> testing it yourself with simple query:
>> 
>> INSERT INTO sent_sms SELECT * from send_sms where sql_id=XXXX and measure 
>> time per query.
>> 
>> if it's instant there should be no problem.
>> 
>> Generally it's better to leave sent_sms table at around 1M records not more, 
>> old records you can move to other table daily.
>>  
>> 
>> Actual hardware is a VCenter on blades with plenty ram, cpu and hp 
>> 3PAR(144GB raid card ram for caching in total) fibre attached storage with 
>> dedicated SSD specifically for DB. Calculated IOPS are stupidly good.
>> 
>> The VMs are as follows:
>> Queuebuilder: 4 vcpu, 16Gb on SAS
>> Kannel: 4 vcpu, 8GB on SAS
>> MysqlDB-Master: 8 vcpu, 32GB on SSD
>> MysqlDB-Slave: 8 vcpu, 32GB on SSD
>> 
>> MySQL on SSDs should work just fine and you should have big number of iops. 
>> Btw, I recommend to use MariaDB instead of regular MySQL (mariadb.org 
>> <http://mariadb.org/>) it's very fast and reliable, for InnoDB it uses 
>> modified XtraDB engine which has some tweaks.
>> 
>> did you check mysqladmin status to indicate number of queries processed per 
>> second?
>> 
>> 
>> The Load on the MysqlDB-Master averages around 0.4 with max of 0.6 (single 
>> spike). Memory usage hangs around 24GB. I will need to check the process 
>> list to double check, but we generally don’t see much strain here either, 
>> but I stand to be corrected. 
>> DB optimasations as follows:
>> 
>> key_buffer              
>> = 16M
>> max_allowed_packet      
>> = 16M
>> 
>> maybe increase a bit max_allowed_packet to 64mb
>> 
>> innodb_buffer_pool_size 
>> = 12G
>>  
>> this is fine
>> 
>> query_cache_limit       
>> = 20M
>> query_cache_size        
>> = 128M
>> 
>> query_cache in kannel's case doesn't affect much, so it's ok to have it like 
>> that.
>>  
>> 
>> No extra indexes on the send_sms as we limit its size to 3000.
>> 
>> make sure both send_sms and sent_sms tables are InnoDB type.
>>  
>> 
>> All reporting is done on the slaveDB, so no extra strain on monitoring and 
>> reporting.
>> 
>> under 'reporting' do you mean your dlr_url is called to external script 
>> which is connected to slaveDB?
>>  
>> 
>> Historically, we have queued at the SMPP connector and not at the smsbox. We 
>> generally reached a top (AVG) speed of 73 msg/s but when I see the smsbox 
>> queued figure rise and the internal smpp queue drop to 0, we only hit half 
>> of this speed.
>> 
>> I did not see the limit-per-cycle setting in the sqlbox documentation 
>> (2011). I also checked the code and saw that the select limit was a variable 
>> instead of hard-limited.
>> 
>> Yeah, it was introduced some time ago alongside with other optimisations 
>> (year ago or so, can't remember now), I think it should be in new 
>> documentation. However, you need to build documentation to get more recent 
>> version of it.
>> 
>> 
>> Regards
>> G
>> 
>>> On 08 Dec 2015, at 10:52, spameden <spame...@gmail.com 
>>> <mailto:spame...@gmail.com>> wrote:
>>> 
>>> 
>>> 
>>> 
>>> Grant Vorenberg
>>> Technical Manager
>>> Office      0861 SAICOM (724 266)
>>> Direct      010 140 5012
>>> Support     010 140 5050
>>> Cell        -
>>> Fax         010 140 5001
>>> Email       gr...@saicomvoice.co.za <mailto:gr...@saicomvoice.co.za>
>>> Visit our website   www.saicomvoice.co.za <http://www.saicomvoice.co.za/>
>>> 
>>> <logo-image.png> <http://www.saicomvoice.co.za/> 
>>> 
>>> 2015-12-08 11:23 GMT+03:00 Grant Vorenberg <gr...@saicomvoice.co.za 
>>> <mailto:gr...@saicomvoice.co.za>>:
>>> <saicom-now-offers-cloud-pbx.gif> 
>>> <https://branding.synaq.com/api/r/id/22469522/map/0>
>>> 
>>> Here is my config:
>>> 
>>> group = sqlbox
>>> id = sqlbox-db
>>> smsbox-id = sqlbox
>>> #global-sender = ""
>>> 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
>>> #sqlbox optimisation GAV 20151207
>>> limit-per-cycle = 100
>>> 
>>> 
>>> Try monitoring your database workload.
>>> 
>>> Is send_sms table is big?
>>>  
>>> 
>>>> On 07 Dec 2015, at 15:06, spameden <spame...@gmail.com 
>>>> <mailto:spame...@gmail.com>> wrote:
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Grant Vorenberg
>>>> Technical Manager
>>>> Office     0861 SAICOM (724 266)
>>>> Direct     010 140 5012
>>>> Support    010 140 5050
>>>> Cell       -
>>>> Fax        010 140 5001
>>>> Email      gr...@saicomvoice.co.za <mailto:gr...@saicomvoice.co.za>
>>>> Visit our website          www.saicomvoice.co.za 
>>>> <http://www.saicomvoice.co.za/>
>>>> 
>>>> <logo-image.png> <http://www.saicomvoice.co.za/>
>>>> 2015-12-07 14:03 GMT+03:00 Grant Vorenberg <gr...@saicomvoice.co.za 
>>>> <mailto:gr...@saicomvoice.co.za>>:
>>>> <saicom-now-offers-cloud-pbx.gif> 
>>>> <https://branding.synaq.com/api/r/id/22451334/map/0>
>>>> 
>>>> Hi Guys
>>>> 
>>>> I am a new to the list subscription and am looking for a little clarity on 
>>>> the SQLBOX.
>>>> 
>>>> I have a Debian Wheezy box running:
>>>> Kannel sqlbox version 1.4.4
>>>> Libxml version 2.7.2
>>>> MySQL 5.5.43
>>>> 
>>>> The front end is custom and drops message into the send_sms table. These 
>>>> messages are terminated via smpp to another system of ours. We process and 
>>>> clean out the sent_sms table.
>>>> 
>>>> I gather stats on the performance of the system using the status page: 
>>>> http://localhost:13000/status <http://localhost:13000/status>
>>>> 
>>>> I am trying to understand the following output from the screen:
>>>> Box connections:
>>>>        smsbox:sqlbox, IP 127.0.0.1 (2532 queued), (on-line 0d 2h 48m 19s)
>>>> 
>>>> This means there is a queue on sqlbox. 
>>>> 
>>>> Queue works like this:
>>>> 
>>>> First sqlbox gets messages from DB backend, then it adds messages to own 
>>>> queue, then it sends message into bearerbox queue and bearerbox splits 
>>>> this queue over your connected SMSC/upstream operators. 
>>>> 
>>>> So if there is a huge queue on sqlbox it means there is a big amount of 
>>>> MTs in your send_sms table and sqlbox is still submitting those to 
>>>> bearerbox.
>>>> 
>>>> To optimize sqlbox I'd recommend adding this parameter into sqlbox section 
>>>> (after group = sqlbox):
>>>> limit-per-cycle = 50 this means sqlbox will get 50 bulk messages from DB 
>>>> per query at once instead of 1.
>>>> 
>>>>  
>>>> 
>>>> What I noticed is when our send speeds start dipping on the smpp 
>>>> connection (internal/default route), this smsbox:sql queue starts building 
>>>> up.
>>>> 
>>>> When the smsbox:sqlbox queue starts building up like this:
>>>> 1)What causes this?
>>>> 2) What does this signify?
>>>> 
>>>> We generally don’t see this behaviour very often, but its effect is 
>>>> detrimental to the performance of the system so I would like to know what 
>>>> causes the growth and how to combat it so our send speed is safe-guarded.
>>>> 
>>>> 
>>>> Here is an excerpt from my config files:
>>>> 
>>>> <smsbox conf>:
>>>> group = sqlbox
>>>> id = sqlbox-db
>>>> smsbox-id = sqlbox
>>>> #global-sender = ""
>>>> bearerbox-host = localhost
>>>> bearerbox-port = 13001
>>>> smsbox-port = 13005
>>>> smsbox-port-ssl = false
>>>> sql-log-table = sent_sms
>>>> sql-insert-table = send_sms
>>>> 
>>>> 
>>>> <kannel.conf>:
>>>> group = smsbox
>>>> bearerbox-host = 127.0.0.1
>>>> sendsms-port = 13013
>>>> global-sender = 13013
>>>> smsbox-id=my_smsbox
>>>> 
>>>> group=smsbox-route
>>>> smsbox-id=sqlbox
>>>> smsc-id=internal
>>>> 
>>>> 
>>>> Regards
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Grant Vorenberg
>>>> Technical Manager
>>>> Office     0861 SAICOM (724 266)
>>>> Direct     010 140 5012
>>>> Support    010 140 5050
>>>> Cell       -
>>>> Fax        010 140 5001
>>>> Email      gr...@saicomvoice.co.za <mailto:gr...@saicomvoice.co.za>
>>>> Visit our website          www.saicomvoice.co.za 
>>>> <http://www.saicomvoice.co.za/>
>>>> 
>>>> <logo-image.png> <http://www.saicomvoice.co.za/>
>> 
> 
> 

Reply via email to