We do use dlr mysql.
I will give it a try.

We currently do not define our store-type at all. What is the default?
> On 15 Dec 2015, at 12:53, users-requ...@kannel.org wrote:
> 
> Send users mailing list submissions to
>       users@kannel.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>       http://www.kannel.org/mailman/listinfo/users
> or, via email, send a message with subject or body 'help' to
>       users-requ...@kannel.org
> 
> You can reach the person managing the list at
>       users-ow...@kannel.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of users digest..."
> 
> 
> Today's Topics:
> 
>   1. Re: SQLBOX queued messages question (spameden)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Tue, 15 Dec 2015 13:53:29 +0300
> From: spameden <spame...@gmail.com>
> To: Grant Saicom <grant.sai...@gmail.com>
> Cc: "users@kannel.org" <users@kannel.org>
> Subject: Re: SQLBOX queued messages question
> Message-ID:
>       <cahcaleyfl2mmeyouszbngfcuni7wje+5skomus2m1avgz9m...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> store-type = spool
> store-location = "/tmp/kannel-spool/"
> 
> put these 2 lines below group = core in /etc/kannel/kannel.conf
> 
> do you use for dlr MySQL as well?
> 
> worth adding index on dlr table as well: KEY `smsc_ts` (`smsc`,`ts`)
> 
> ALTER table dlr add index `smsc_ts` (`smsc`,`ts`);
> 
> 
> 
> 
> 2015-12-15 13:43 GMT+03:00 spameden <spame...@gmail.com>:
> 
>> Yes.
>> 
>> The only thing that comes to my mind is to use kannel-store = spool and
>> move your spool store to /tmp dir, this way queue will be in multiple files
>> instead of the single file and in RAM, I found this way it's very fast.
>> 
>> Let me know if it helps.
>> 
>> If you want to preserve queue (in case of hard reset or something) you can
>> rsync it's contents every 2 minutes or so in some permanent directory.
>> 
>> 2015-12-15 12:56 GMT+03:00 Grant Saicom <grant.sai...@gmail.com>:
>> 
>>> 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>:
>>> 
>>>> 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> wrote:
>>>> 
>>>> 
>>>> 
>>>> 2015-12-08 12:51 GMT+03:00 Grant Vorenberg <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) 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> 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 Visit
>>>>> our website  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>:
>>>>> 
>>>>>> <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> 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 
>>>>>> Visit
>>>>>> our website   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>:
>>>>>> 
>>>>>>> <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
>>>>>>> 
>>>>>>> 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 
>>>>>>> Visit
>>>>>>> our website   www.saicomvoice.co.za
>>>>>>> 
>>>>>>> <logo-image.png> <http://www.saicomvoice.co.za/>
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: 
> <http://www.kannel.org/pipermail/users/attachments/20151215/74415d9b/attachment.html>
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> users mailing list
> users@kannel.org
> http://www.kannel.org/mailman/listinfo/users
> 
> 
> ------------------------------
> 
> End of users Digest, Vol 112, Issue 23
> **************************************


Reply via email to