SMS Server Tools 3
 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. The forum is currently read-only, but will open soon. Mon Jul 15, 2024 02:08
SMSTools3 Community » Help and support Bottom

[answered] Performance related settings

  This topic is locked

Page:  1

Author Post
Member
Registered:
Jun 2009
Location: Russian Federation
Operating system name and version: Windows XP SP3
Version of smsd: 3.1.4
Smsd installed from: sources
Name and model of a modem / phone: Siemens MC 35
Interface: serial

Just upgraded to recent version of smsd ( 3.1.14) from 3.0.10.

I am not very sure how many settings are now affecting system perfromance.
One of the reasons for that upgarde was to increase system speed.
We have now 9-10 modems in our production setup. and 1000+ outgoing messages per peak hour.
Plus 200+ incoming messages.
Before upgrade, it has been noticed that when file queue in outgoing folder reaches 300+ , system begins to slow down. With 700+ queue system speed reduces significantly. Sometimes we had 800+ queue.
After investigation of current smsd documentation I have found the following settings affecting perfromance ( especially in Cygwin environment ):

[general]
spool_directory_order = yes
delaytime = 1
delaytime_mainprocess = 1
ignore_outgoing_priority = yes
#below setting is dangerous
#trust_outgoing = yes

[modem]
check_network = 2
trust_spool = yes

Whether my above list is correct ?
Are there another such settings ?
May be I missed something ?

Thank you in advance.

Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
The short answer is: Move to the GNU/Linux.

The filesystem under Windows and Cygwin is slow. And with few hundred files in the directory it becomes very very slow. With thousand of files it becomes terrible slow and practically is not useable.

Some settings affect to the performance, but not enough under Windows/Cygwin. Your front-end application should create less outgoing files at a time, to reduce the size of a directory.

The performance of filesystem can be tested, but in your case it is not necessary because you have already seen that the system is slow. And in any case, some hundred files is too much for Windows/Cygwin.

Member
Registered:
Jun 2009
Location: Russian Federation
Topic owner
Thank you very much,Keke.

I understand that Linux is a most powerful solution.
However we can't move right now.

Thank you for idea about creating less outgoing files.
I will try to implement it via regular_run feature.

Three simple questions:

1) What if Linux will be used in Virrtual PC inside Win XP ? Whether it solves slow file system issue?
2) How to count message files with bash and not to count LOCK files ?
3) Can I reduce excessive communication with modem via some settings? for example , disable PIN check etc.

Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
VVV wrote
I understand that Linux is a most powerful solution.
However we can't move right now.

Okay, you move later. I'll wait for that ;). It's up to you how much you want to spend your time with Windows/Cygwin. With small number of messages that platform is useable, but not with lot of messages, as you have seen...

VVV wrote
1) What if Linux will be used in Virrtual PC inside Win XP ? Whether it solves slow file system issue?

Forget the Virtual PC, it's not a solution. What you need is a real GNU/Linux machine.

VVV wrote
2) How to count message files with bash and not to count LOCK files ?

count=$(ls -1 /var/spool/sms/outgoing | grep -v LOCK | wc -l)

VVV wrote
3) Can I reduce excessive communication with modem via some settings? for example , disable PIN check etc.

Usually PIN should be disabled, it has no use in SMS servers. Could it be possible that someone may steal your SIM card? ;)

All other communication is required, and should not be disabled. For example, checking for registration, initializing modem, all is important and does not take very much time.

If you think about the size of log file, it of course grows when loglevel 7 is used. And when setting up a system, debug level is useful. After the system is up, loglevel could be changed to "notice", and smart_logging could be enabled. Later, if some errors happen, there still is enough of information in the smsd_trouble.log, but smsd.log itself does not grow.



As you are running Windows, and cannot (yet) throw it away, you are using some Windows software at the same time when you send some number of SMS, right? This causes load to the PC, and slows down it. Also, for example, when Windows uses the pagefile, the load is remarkable.

You could do the following test:

- Open first Cygwin shell.
- Create the following setup:

devices = GSM* 101-110

os_cygwin = yes

logfile = /var/log/smsd_test.log
loglevel = notice

sent = /var/spool/sms/sent

[default]
modem_disabled = yes
device = /tmp/smsd_modemname

[COMMENT]

# Your previous setup can be here...

 
'smsdconf' Syntax Highlight powered by GeSHi


- It has 10 simulated modems, but if you are running with more modems, change the value.
- Run touch /var/log/smsd_test.log and tail -100f /var/log/smsd_test.log

- Open second Cygwin shell.
- cd to the /var/spool/sms directory.
- You can later use "ls -1 checked | grep -v LOCK | wc -l", "ls -1 checked | grep LOCK | wc -l" and so on to see what and how much files are in directories.

- Open third Cygwin shell.
- Create the following script, as mksend.sh:

#!/bin/bash

LIMIT=1000
[ -n "$1" ] && LIMIT="$1"

for ((a=1; a <= LIMIT ; a++))
do
  echo "To: 10000$a" > /var/spool/sms/outgoing/-$a-.LOCK
  echo "" >> /var/spool/sms/outgoing/-$a-.LOCK
  echo "Testing." >> /var/spool/sms/outgoing/-$a-.LOCK
  mv /var/spool/sms/outgoing/-$a-.LOCK /var/spool/sms/outgoing/-$a-
done
 
'bash' Syntax Highlight powered by GeSHi


- chmod 744 mksend.sh
- Start the smsd. Check from the first shell that it is started properly.
- Start creation of files: ./mksend.sh

- Now from the first shell you can see how the spooling works. Especially notice "Took n.n seconds..." lines when the filesystem slows down.

- In the second shell you can monitor directories.

- Use Windows for some purposes, as it is usually used. From the log you can see how it affects to the spooling.

This may sound complicated, but I hope that you spend some time for testing. Count of files defaults to 1000, but with argument some other value can be used. For example, with GNU/Linux running on old P4 hardware, 10000 - 15000 files with 64 simulated modems did not cause any troubles, or performance loss...

Member
Registered:
Jun 2009
Location: Russian Federation
Topic owner
Thank you very much for such detailed explanation !

  This topic is locked

Page:  1

SMSTools3 Community » Help and support Top

 
Time in this board is UTC.  

Privacy Policy   SMS Server Tools 3 Copyright © Keijo Kasvi.