Hi Ahmed
Maybe the Bearebox has emptied the its queue and the queue moves to the
smsbox? Are you sure you have enough resources to receive that much number
of SMS at the same time? The Apache web server news to spawn (create) a big
number of clients to handle the traffic, it might run out of resources for
a few seconds and the smsbox could be resending the MOs later on, based on
this configuration:

http-request-retryinteger If set, specifies how many retries should be
performed for failing HTTP requests of sms-services. Defaults to 0, which
means no retries should be performed and hence no HTTP request queuing is
done. http-queue-delayinteger If set, specifies how many seconds should
pass within the HTTP queuing thread for retrying a failed HTTP request.
Defaults to 10 sec. and is only obeyed if http-request-retry is set to a
non-zero value.

Have you tried to disable the HTTP retry and see if you loose any MO? Maybe
they are getting retried.

Please tell me where is that you see the MO Queue that you mention, are you
just checking the status by console or using a HTML page?




On Mon, Jun 9, 2014 at 11:51 AM, Ahmed BOUDHRAA <
ahmed.boudh...@inbmi.edunet.tn> wrote:

> Thinx spameden
>
> Our plateform is made for publishing mainlly baccalaureate results, and
> tow other grades this is the main use right now, all those are about 240
> 000 canditates the fact is they may look like not much, but its a very
> important event that every parents/student attends the problematic its not
> about the nember but about the ammount of incoming/outgoing sms in a short
> time, last year we have reached the 800 sms /s in the operator side so you
> can imagine how it could be stressfull for us / the operators / the
> parents-students we cant allow any unavalability or too much wait, you can
> add to that that our plateform will do other things in the future :)
>
> for the throughput between as and the operators we fixied it in
> accordance with them every operator have specific capabilities but as i
> said our plateform can manage them at ease, what we want is to prepare our
> self, and to understand all the possible problem/solutions that we may have
> in using kannel.
>
> For the web server side, i cant assure that he is far from his real
> capabilities we are using RHEL web servers from long now. for the current
> configuration our web server can serve about 4000 requests / s i ll try
> below to describe a simple test we made usining fakesms:
>
> We are launching this test from our 3 kannel server simultanisouly :
>
> ./fakesmsc -i 0.001 -m 10000 "100 200 text test 000000*00000000"  ==> this
> mean about 1000 sms /s from each kannel technically we could say that our
> portal should manage 3000 sms / s
>
> when we llaunch the test we can see on the kannel status in the box
> connections rubrique the "Queued (MO) started"  10000 x 3 and it take about
> 5 minutes to empty the three queue now what we want to understand is how
> the viewed queue is empty, the web server is far from his treatement
> capabilities and still messages are comming about 1-2 sms /s after about
> 15000 have reached the database. I dont know if i m clear normally when the
> queue is empty we have to have 30000 sms on the database side, wich mean
> there is another queue somewhere else
>
>
> this is our smskannel.conf : we are not using dlr nor internal storage:
>
>
>
> group = core
> admin-port = 13000
> smsbox-port = 2776
> admin-password = 123456
> box-deny-ip = "*.*.*.*"
> box-allow-ip = "127.0.0.1"
> log-file = /var/log/kannel/kannel.log
> log-level = 0
> access-log = /var/log/kannel/access_kannel.log
> access-log-clean = true
> access-log-format= SMS %t %l %i %p %P %b %F %I %k
> store-file =/var/log/kannel/sms.store
> dlr-storage = internal
> store-dump-freq = 5
> sms-resend-freq = 60
> sms-resend-retry = -1
>
>
> #---------------------------------------------
> # SMSC CONNECTIONS
> #
> # SMSC connections are created in bearerbox and they handle SMSC specific
> # protocol and message relying. You need these to actually receive and send
> # messages to handset, but can use GSM modems as virtual SMSCs
>
>
> group = smsc
> smsc = fake
> smsc-id = fake
> port = 10000
>
>
>
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt1.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
>
> group = smsc
> smsc = smpp
> smsc-id = TT
>
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt2.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> #service-type = 'test'
> interface-version = 34
> preferred-smsc-id = TT
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt3.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt4.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt5.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt6.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt7.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt8.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt9.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt10.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
> group = smsc
> smsc = smpp
> smsc-id = TT
> host = x.x.x.x
> port = xxxx
> log-file = /var/log/kannel/tt11.log
> log-level = 0
> transceiver-mode = 1
> receive-port = xxxx
> smsc-username = user
> smsc-password = pass
> system-type = 'VMA'
> interface-version = 34
> preferred-smsc-id = TT
>
>
> # This is a fake smsc connection, _only_ used to test the system and
> services.
> # It really cannot relay messages to actual handsets!
>
>
>
> #---------------------------------------------
> # SMSBOX SETUP
> #
> # Smsbox(es) do higher-level SMS handling after they have been received
> from
> # SMS centers by bearerbox, or before they are given to bearerbox for
> delivery
>
> group = smsbox
> bearerbox-host = 127.0.0.1
> sendsms-port = 8080
> #global-sender = 13013
> log-file = /var/log/kannel/smsbox.log
> log-level = 0
> mo-recode = true
> reply-couldnotfetch = "----------------------------------"
> reply-couldnotrepresent = "-----------"
> reply-requestfailed = "-------------------------"
> reply-emptymessage = "*---------------------*"
> max-pending-requests = 1200
> http-queue-delay = 2
> http-request-retry = 100
>
> #---------------------------------------------
> # SEND-SMS USERS
> #
> # These users are used when Kannel smsbox sendsms interface is used to
> # send PUSH sms messages, i.e. calling URL like
> #
> http://kannel.machine:13013/cgi-bin/sendsms?username=tester&password=foobar.
> ..
>
> group = sendsms-user
> username = user
> password = pass
> user-allow-ip = ".e.e.e.e"
> forced-smsc = TT
> default-sender = 111111
> max-messages = 4
> concatenation = true
>
> #---------------------------------------------
> # SERVICES
> #
> # These are 'responses' to sms PULL messages, i.e. messages arriving from
> # handsets. The response is based on message content. Only one sms-service
> is
> # applied, using the first one to match.
>
> group = sms-service
> keyword = default
> accept-x-kannel-headers = true
> catch-all = true
> max-messages =3
> get-url = "
> http://site.site.tn/default.php?phone=%p&text=%a&smsc=%i&corp=%s&time=%t&smsid=%I&drv=%d&drs=%A&shortcode=%P
> "
> concatenation = true
>
> group = sms-service
> keyword = test
> accept-x-kannel-headers = true
>
> catch-all = true
> max-messages =0
> get-url = "
> http://site.site.tn/test.php?phone=%p&text=%a&smsc=%i&corp=%s&time=%t&smsid=%I&drv=%d&drs=%A&shortcode=%P
> "
> concatenation = true
>
> group = sms-service
> keyword = bac
> accept-x-kannel-headers = true
> catch-all = true
> max-messages = 4  # it's better to put this parameter to 0 or you will
> have a lot Ack in      your network
> get-url = "
> http://site.site.tn/default.php?phone=%p&text=%a&smsc=%i&corp=%s&time=%t&smsid=%I&drv=%d&drs=%A&shortcode=%P
> "
> concatenation = true
>
> group = sms-service
> keyword = neuf
> accept-x-kannel-headers = true
> #text = "No service specified"
> catch-all = true
> max-messages = 4 # it's better to put this parameter to 0 or you will have
> a lot Ack in      your network
> get-url = "
> http://site.site.tn/default.php?phone=%p&text=%a&smsc=%i&corp=%s&time=%t&smsid=%I&drv=%d&drs=%A&shortcode=%P
> "
> concatenation = true
>
> group = sms-service
> keyword = six
> accept-x-kannel-headers = true
> #text = "No service specified"
> catch-all = true
> max-messages = 4 # it's better to put this parameter to 0 or you will have
> a lot Ack in      your network
>
> get-url = "
> http://site.site.tn/default.php?phone=%p&text=%a&smsc=%i&corp=%s&time=%t&smsid=%I&drv=%d&drs=%A&shortcode=%P
> "
> concatenation = true
>
> group = sms-service
> keyword = ent
> accept-x-kannel-headers = true
> catch-all = true
> max-messages = 4  # it's better to put this parameter to 0 or you will
> have a lot Ack in      your network
> get-url = "
> http://site.site.tn/entreceive.php?phone=%p&text=%a&smsc=%i&corp=%s&time=%t&smsid=%I&drv=%d&drs=%B&shortcode=%P
> "
> concatenation = true
>
> group = sms-service
> keyword = edu
> accept-x-kannel-headers = true
> catch-all = true
> max-messages = 5  # it's better to put this parameter to 0 or you will
> have a lot Ack in      your network
> get-url = "
> http://site.site.tn/edureceive.php?phone=%p&text=%a&smsc=%i&corp=%s&time=%t&smsid=%I&drv=%d&drs=%B&shortcode=%P
> "
> concatenation = true
>
>
>
>
>
>
>
>
> thx for your patience
>
>
>
> ----- Mail Original -----
> De: "spameden" <spame...@gmail.com>
> À: "Ahmed BOUDHRAA" <ahmed.boudh...@inbmi.edunet.tn>
> Cc: "DHC Admin" <dhcad...@gmail.com>, users@kannel.org
> Envoyé: Lundi 9 Juin 2014 14:40:50
>
> Objet: Re: Tunning up kannel
>
>
>
>
> 2014-06-09 17:08 GMT+04:00 Ahmed BOUDHRAA <ahmed.boudh...@inbmi.edunet.tn>
> :
>
>> HI
>> thx for the relpay i was wondering if someone will help :)
>> the fact is that we tunned the max-pending-requests and we ve concluded
>> that about 800 is the best value and if we go up the results go worst, but
>> the smsbox-max-pending we havent added such parametre; can you please
>> explain it, is it, the smsbox-max-pending, is the queue between the smsbox
>> and our portal?
>>
>
> I can't imagine why do you need such high rate of sending MT messages for
> university unless you're spamming your students every second ..
>
> The speed also very much depends on your SMSC upstream providers, network
> link between you and them, TCP RTT (re-transmissions), etc.
>
> The general settings for throughput between you and smsc are:
>
> 1) throughput -- limits MT/sec
> 2) max-pending-submits -- unofficial parameter, controls how many
> "outstanding" operations between you and SMSC (e.g. unacknowledged
> submit_sm packets)
>
> Try tuning these two parameters to get maximum of your upstream SMSC. Do
> it carefully to not get THROTTLED errors or MAX_QUEUE errors. Consulting
> your provider is highly recommended.
>
>
>
>
>
>> if i make it more simple:
>>
>> what is the difference between the tow variable that you gived to us : 
>> smsbox-max-pending
>> and max-pending-requests ? and where are they placed, i mean if there is
>> tow pending queue, i think one is in front of the bearerbox ( can i assume
>> it is the max-pending-requests ?) and one between the bearerbox and the
>> smsbox ? ( should it be the smsbox-max-pending ???) if my assumption are
>> right i could be the bottleneck coz we havent touch such parametre, and if
>> so the default value is about how much?
>>
>
> check user-guide, it's available on the WEB:
> http://kannel.org/download/kannel-userguide-snapshot/userguide.html
>
> bottleneck is most likely your code in DLR-url parsing script not the
> kannel itself.
>
> try testing with different conditions:
>
> 1) without DLR reports at all
> 2) with DLR but without your url hit
> 3) with DLR and your URL
>
> Also, you might want to consider switching over to sqlbox, so you won't
> need to drag web-server each time report comes.
>
>
>>
>> thinx again for the help
>>
>>
>>
>> ----- Mail Original -----
>> De: "DHC Admin" <dhcad...@gmail.com>
>> À: "Ahmed BOUDHRAA" <ahmed.boudh...@inbmi.edunet.tn>
>> Cc: users@kannel.org
>> Envoyé: Lundi 9 Juin 2014 13:50:46
>> Objet: Re: Tunning up kannel
>>
>>
>> Hi Ahmed
>> Have you tweaked the smsbox-max-pending and/or max-pending-requests?
>> Check for them on the user guide
>>
>>
>> On Wed, Jun 4, 2014 at 11:33 AM, Ahmed BOUDHRAA <
>> ahmed.boudh...@inbmi.edunet.tn> wrote:
>>
>>> Hi
>>> we are using kannel about 2 years in our institution and its woriking
>>> like a charm. we have high load traffic with 3 operators with 3 kannel
>>> gatways, our configuration is like this:
>>>
>>> - kannel 1 : Operator 1 : VM 2 x CPU 3 Ghz  8 Go Ram
>>> - kannel 2 : Operator 2 : VM 2 x CPU 3 Ghz  8 Go Ram
>>> - kannel 3 : Operator 3 : VM 2 x CPU 3 Ghz  8 Go Ram
>>> - Web Portal: for all kannel : VM 8 x CPU 3 Ghz 32 Go RAM
>>> - Postgres Database behind the web server : VM 8 x CPU 3 Ghz 32 Go RAM
>>>
>>> All those server are running under ESXi hypervisor in SAN environnement.
>>> Any way we are tunning all the plateform with several tools ( ApacheBench
>>> for web load and fakesms for kannel)
>>> we want to profit of all the hardware ressources with optimizing all
>>> componenents to reach the limits of the hardware, but still are still far
>>> behind the real capability of the hardware.
>>> The fact is we have reached 800 sms /s with the operators and its fine,
>>> but we want more not that we need it right now but just to master how every
>>> things work...
>>> The WEB/DB side tunning is "well" done due to fact that we have
>>> "mastered" it in our webs servers but the kannel side is litle different.
>>> with fakesms we are sending about 1000 sms / s from each kannel so we want
>>> to manage 3000 sms / s in our portal  but all the kannel dosent send them
>>> with the speed we want even if they are not even litle solicited, we
>>> noticed that the bottle neck is between the smsbox and the bearerbox we
>>> dont know exactly but all 1000 sms arrive instantelly to the bearerbox in
>>> each kannel and a queue is formed between the bearerbox and smsbox, the
>>> smsbox send to the web server ( the portal ) about 1200 request / s wich is
>>> far from his limit ( we have tunning it to manage 3500 request / s ) I ve
>>> talked a lot but the main question is how we remove that so called queue
>>> smsbox/bearebox? to make the kannels send more than 1200 request/s so we
>>> can reach the limits in all the equippements all the system is running far
>>> behind his capabilitys.
>>> thinx for the help
>>>
>>
>>
>

Reply via email to