Submission: test/fakesmpp.c

"Nikos Balkanas" <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <044BDA0AC1A14E93BEC63D16E13AE3F4@drwho>
Hi,

test/fakesmpp is a Fake SMPP smsc with extensive benchmarking abilities, component isolation, as well as general SMPP configuration and MO & MT testing. It is inspired by test/drive_smpp.c developed by Lars Wirzenius. Unfortunately when Lars did it, some 10 yrs ago, kannel was just starting on SMS and didn't have yet storage or ACKs, and the SMPP spec was incomplete, result being that it is mostly incompatible with today's gateway. So I prompted to write it from the beginning.

Benchmarks are very reproducible, yet sensitive enough to discriminate between day and night operation, DLR storage (DB or memory) or even file system to use for storage.

Until it is commited to svn, you can try it by untarring it from the gateway directory, and then making kannel as usual. It uses the main gateway configuration file, that needs an added SMPP smsc to 127.0.0.1 to tell kannel to connect to fakesmpp. It has an detailed online help, and features comprehensive configuration checking. It is better than fakesmsc for benchmarks, since it is external to kannel, and rate the whole setup including sms-services. It features 4 modes (testing and operation):

A) test/fakesmpp ~/etc/kannel.conf


This is normal MO operation. You can type messages in the console and they will be routed through sms-service, back to fakesmpp. To activate benchmarks include "-n 10000" in the command line. After the test, fakesmpp will return to normal smsc operation. You can rate performance of individual sms-services by providing for custom SMS during tests with the "-m" option. 

B) test/fakesmpp -b ~/etc/kannel.conf


This is another MO operation with bearerbox isolation. During tests it will isolate and measure bearerbox performance.

C) test/fakesmpp -t ~/etc/kannel.conf


This is an end-2-end MT layout. Console input is switched to the sendsms smsbox interface.

D) test/fakesms -t -b ~/etc/kannel.conf


This is MT mode with bearerbox isolation. By subtracting the previous performance from this one, one can get the smsbox contribution to MT overhead.

Typical results (-n 10000) from a low-end 64bit Solaris 10 with a dual-core AMD Opteron CPU @1218 uHz.

A) 1216 SMS/s (default text sms-service)
B) 1400 SMS/s
C) 684 SMS/s
    -f 0 714 SMS/s
    -f 10 50 SMS/s
D) 935 SMS/s
    -f 0 974 SMS/s
    -f 10 50 SMS/s

-f introduces 20% DLR failures, of which 10% is on submission and rest on delivery. Submission failures can be further adjusted to permanent (Rejection - 0) or Temporary (throttle - 10) or in between.

If accepted will provide documentation for it.

BR,
Nikos
fakesmpp A.gif (image/gif, 10.3 KB) - not displayed
fakesmpp B.gif (image/gif, 6.7 KB) - not displayed
fakesmpp D.gif (image/gif, 7.7 KB) - not displayed
fakesmpp C.gif (image/gif, 6.7 KB) - not displayed
fakesmpp.tgz (application/x-compressed, 10.9 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.