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...