SMS Server Tools 3
This site is hosted by Kekekasvi.com
 Menu
Basic information:
Additional information:
Support:
Get SMS Server Tools 3:
Additional Options

 Sponsored links

 Search
Custom Search

 Visitor locations
 
 SMS Server Tools 3 Community
Welcome, Guest. Please login or register. Thu Oct 29, 2020 04:07
SMSTools3 Community » Help and support Bottom

[answered] Sending speed ?? confused

Login and Post Reply

Page:  1

Author Post
Member
Registered:
May 2017
Location: Horsens, Denmark
Operating system name and version: Raspbian Jessie kernel 4.9.24-v7+
Version of smsd: 3.1.21
Smsd installed from: sources
Name and model of a modem / phone: Huawei E3372
Interface: USB

When i use 2 modems i takes just as long to send 300 sms as it does with 6 modems. i use the ALL spool queue.
What confuses me is why it takes just as long with 6 modems as with 2 ??
Do i have to round robin through the queues instead of using ALL queue ?

Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
When you use 6 modems, I think that all modems are not working properly. To find out the problem and performance, here are some settings which may help:

Modem setting logfile = /var/log/modemname.log. When each modem is logging into it's own file, it is easier to see how the modem works.

Modem setting max_continuous_sending = 60. This setting defaults to 5 minutes. With this setting modem process will write to the log "Sent n messages in n sec. Average time for one message: n.n sec." once per minute.

Enable statistics. Global settings:
stats = /var/spool/sms/stats
stats_no_zeroes = yes
stats_interval = 0


Watch the status and counters for example in this way:
# while true; do clear; cat /var/spool/sms/stats/status; sleep 1; done

Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
I have actually tried a few things.

If i stop smsd, put 25 sms in each of GSM1-GSM8, and start it again, it is a lot(a lot a lot) faster than putting 200 sms in the ALL queue.
Is the ALL queue processing in threats ?
Is there a processing threat per modem ?

I will setup the per modem log and stats as you wrote and see what happens with the modems.

Thanks for the quick replys :-)

Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
BTW this is my config file:

# /etc/smsd.conf
#
devices= GSM* 1-7
#
logfile = /var/log/smstools/smsd.log
loglevel = 5
delaytime = 0
delaytime_mainprocess = 0
internal_combine = yes
receive_before_send = no
logtime_ms = 1
max_continuous_sending = 200
incoming_utf8 = yes
umask = 111
#
trust_outgoing = no
stats = /var/log/sms/stats
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
incoming = /var/spool/sms/incoming
sent = /var/spool/sms/sent
#
autosplit = 3
#
#Timers for errors (specify how many seconds stop on error)
blocktime = 3
errorsleeptime = 3
#
#MODEM PROPERTIES
[GSM1]
device = /dev/gsmmodem
ignore_unexpected_input = yes
detect_unexpected_input = no
report = no
sending_disabled = no
memory_start = 0
send_delay = 0
check_network = 0
voicecall_hangup_ath = yes
hangup_incoming_call = yes
voicecall_ignore_modem_response = yes
regular_run_interval = 60
regular_run_cmd = AT+CSQ
regular_run_logfile = /var/ramlog/smsd_run_GSM1.log
regular_run_loglevel = 7
init2 = at+cmms=2
pin = ignore
status_signal_quality = no
pre_init = no
incoming = 2
mode = new
queues = ALL,GSM1
baudrate = 921600
rtscts = yes
cs_convert = yes
decode_unicode_text = yes
internal_combine = yes
eventhandler = /etc/sms/scripts/eventhandlerGSM1
#
#Specify PIN
#pin = 0000
#
#
[GSM2]
device = /dev/gsmmodem2
ignore_unexpected_input = yes
detect_unexpected_input = no
report = no
sending_disabled = no
memory_start = 0
send_delay = 0
check_network = 0
voicecall_hangup_ath = yes
hangup_incoming_call = yes
voicecall_ignore_modem_response = yes
regular_run_interval = 60
regular_run_cmd = AT+CSQ
regular_run_logfile = /var/ramlog/smsd_run_GSM2.log
regular_run_loglevel = 7
init2 = at+cmms=2
pin = ignore
status_signal_quality = no
pre_init = no
incoming = 2
mode = new
queues = ALL,GSM2
baudrate = 921600
rtscts = yes
cs_convert = yes
decode_unicode_text = yes
internal_combine = yes
eventhandler = /etc/sms/scripts/eventhandlerGSM1
#
#Specify PIN
#pin = 0000
#
#
[GSM3]
device = /dev/gsmmodem3
ignore_unexpected_input = yes
detect_unexpected_input = no
report = no
sending_disabled = no
memory_start = 0
send_delay = 0
check_network = 0
voicecall_hangup_ath = yes
hangup_incoming_call = yes
voicecall_ignore_modem_response = yes
regular_run_interval = 60
regular_run_cmd = AT+CSQ
regular_run_logfile = /var/ramlog/smsd_run_GSM3.log
regular_run_loglevel = 7
init2 = at+cmms=2
pin = ignore
status_signal_quality = no
pre_init = no
incoming = 2
mode = new
queues = ALL,GSM3
baudrate = 921600
rtscts = yes
cs_convert = yes
decode_unicode_text = yes
internal_combine = yes
eventhandler = /etc/sms/scripts/eventhandlerGSM1
#
#Specify PIN
#pin = 0000
#
#
[GSM4]
device = /dev/gsmmodem4
ignore_unexpected_input = yes
detect_unexpected_input = no
report = no
sending_disabled = no
memory_start = 0
send_delay = 0
check_network = 0
voicecall_hangup_ath = yes
hangup_incoming_call = yes
voicecall_ignore_modem_response = yes
regular_run_interval = 60
regular_run_cmd = AT+CSQ
regular_run_logfile = /var/ramlog/smsd_run_GSM4.log
regular_run_loglevel = 7
init2 = at+cmms=2
pin = ignore
status_signal_quality = no
pre_init = no
incoming = 2
mode = new
queues = ALL,GSM4
baudrate = 921600
rtscts = yes
cs_convert = yes
decode_unicode_text = yes
internal_combine = yes
eventhandler = /etc/sms/scripts/eventhandlerGSM1
#
#Specify PIN
#pin = 0000
#
#
[GSM5]
device = /dev/gsmmodem5
ignore_unexpected_input = yes
detect_unexpected_input = no
report = no
sending_disabled = no
memory_start = 0
send_delay = 0
check_network = 0
voicecall_hangup_ath = yes
hangup_incoming_call = yes
voicecall_ignore_modem_response = yes
regular_run_interval = 60
regular_run_cmd = AT+CSQ
regular_run_logfile = /var/ramlog/smsd_run_GSM5.log
regular_run_loglevel = 7
init2 = at+cmms=2
pin = ignore
status_signal_quality = no
pre_init = no
incoming = 2
mode = new
queues = ALL,GSM5
baudrate = 921600
rtscts = yes
cs_convert = yes
decode_unicode_text = yes
internal_combine = yes
eventhandler = /etc/sms/scripts/eventhandlerGSM1
#
#Specify PIN
#pin = 0000
#
#
[GSM6]
device = /dev/gsmmodem6
ignore_unexpected_input = yes
detect_unexpected_input = no
report = no
sending_disabled = no
memory_start = 0
send_delay = 0
check_network = 0
voicecall_hangup_ath = yes
hangup_incoming_call = yes
voicecall_ignore_modem_response = yes
regular_run_interval = 60
regular_run_cmd = AT+CSQ
regular_run_logfile = /var/ramlog/smsd_run_GSM6.log
regular_run_loglevel = 7
init2 = at+cmms=2
pin = ignore
status_signal_quality = no
pre_init = no
incoming = 2
mode = new
queues = ALL,GSM6
baudrate = 921600
rtscts = yes
cs_convert = yes
decode_unicode_text = yes
internal_combine = yes
eventhandler = /etc/sms/scripts/eventhandlerGSM1
#
#Specify PIN
#pin = 0000
#
#
[GSM7]
device = /dev/gsmmodem7
ignore_unexpected_input = yes
detect_unexpected_input = no
report = no
sending_disabled = no
memory_start = 0
send_delay = 0
check_network = 0
voicecall_hangup_ath = yes
hangup_incoming_call = yes
voicecall_ignore_modem_response = yes
regular_run_interval = 60
regular_run_cmd = AT+CSQ
regular_run_logfile = /var/ramlog/smsd_run_GSM7.log
regular_run_loglevel = 7
init2 = at+cmms=2
pin = ignore
status_signal_quality = no
pre_init = no
incoming = 2
mode = new
queues = ALL,GSM7
baudrate = 921600
rtscts = yes
cs_convert = yes
decode_unicode_text = yes
internal_combine = yes
eventhandler = /etc/sms/scripts/eventhandlerGSM1
#
#Specify PIN
#pin = 0000
#
#
[queues]
ALL = /mnt/flash/spool/all
GSM1 = /mnt/flash/spool/GSM1
GSM2 = /mnt/flash/spool/GSM2
GSM3 = /mnt/flash/spool/GSM3
GSM4 = /mnt/flash/spool/GSM4
GSM5 = /mnt/flash/spool/GSM5
GSM6 = /mnt/flash/spool/GSM6
GSM7 = /mnt/flash/spool/GSM7
#
[provider]
ALL = 0,1,2,3,4,5,6,7,8,9,s
GSM1 = 0
GSM2 = 0
GSM3 = 0
GSM4 = 0
GSM5 = 0
GSM6 = 0
GSM7 = 0
 
'smsdconf' Syntax Highlight powered by GeSHi


Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
It sounds like the /mnt/flash is slow. What filesystem it is using?

Have you seen any "Took n.n seconds to get a file xxx, lost n times, n SMS files and n LOCK files seen." in the logs?

While testing, you could change loglevel to 7. With the current value slow spooling is logged only if it takes five seconds or more to get a file.

Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
i only get these:
SMS sent, Message_id: 54, To: xxxxxxxxxxx, sending time 1 sec.

Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
i use a sd card ultra from sandisk

Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
and the partition is ext4

Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
is there a lot of handling time from when sms arrives in outgoing till it lands in the ALL queue
and then some handling again in the ALL queue, cause again if i just round robin deliver
the sms'es directly to GSM1-GSM6 queues it takes 20 sec to send 100 sms
and if i deliver 100 sms to outgoing queue it takes around 60 sec ?

Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
just to see the diff i sent you log with test to Outgoing queue and log sent to GSM1-6 queues:
Outgoing:



Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
GSM1-6 queues directly(21 sec 100 sms):



Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
You have trust_outgoing = no setting in your configuration, perhaps you have tested it?

This setting is the key at this time. By default (= no), outgoing directory is not trusted, and smsd has to check and wait if the file still grows. This may happen if a file is created slowly. By default smsd spools 1.5 - 2 messages per second, and in your case the ALL queue goes empty and modems need to wait for new messages to send.

A setting trust_outgoing = yes can be used when it is sure that when a new outgoing file exists, it is complete and ready for sending. There are several ways to create outgoing file properly, so it can be trusted. One way is to create a file into the outgoing directory using the extension .LOCK, write and close the file and rename the .LOCK extension away. Alternatively the name can begin with LOCKED, or a dot.

When outgoing directory is trusted, smsd spools about 50 messages per second, depending on the speed of a computer. This should resolve your current problem.

The next thing you may face is that the number of files in the spooler may grow too high. More than 500 files or near to 1000, depending on the server, causes that the file system goes slow. When the delay is remarkable, "Took n.n seconds to get a file ..." is logged and then you have to limit the number of messages. For example, if the number of messages in spooler is already very high, wait some time and check the situation again.

Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
i will try with trust_outging = yes

Member
Registered:
May 2017
Location: Horsens, Denmark
Topic owner
super... huge diffrence.. :D

Login and Post Reply

Page:  1

SMSTools3 Community » Help and support Top

 
Time in this board is UTC.  

Privacy Policy   SMS Server Tools 3 Copyright © Keijo Kasvi.