An SMPP connection's submit speedThis document is created for the users of high performance SMS messageing systems. It help to understand the time it takes for a message submission to occur. It also gives information about the "windowing" technology that can be used to increase performance, and it provides a table of network bandwidth requirements for various Ozeki SMS licenses. By reading this document you will understand where a performance issue can come from, and it might help in resolving these issues.
1. The time it takes to send the messageThe time it takes to submit an SMS messages consist of 5 steps (Figure 1). Step 1 is the encoding time of the message (T1). Step 2 is the network "upload" time (T2), when the encoded SMPP PDU is sent through the network and reaches the SMSC Step 3 happens, which is the processing time in the SMSC. The SMSC decodes the PDU, it generates a response and encodes the response. (T3), than the response is downloaded through the network (T4), and finally the response is processed (T5).
Figure 1 - SMS message transmit speed
2. Slow network connectionThe time it takes to transmit an SMS message on a slow network link, is determined by the network bandwidth (Figure 2). The upload or download speed can vary. On a server hosted at a hosting facility usually, the bandwidth that allows data to "leave" the data center is significantly slower than the speed that allwos data to get to the data center. Data centers host many computers, and most of them provide content for download. Your throughput in this direction is expected to be worse.
Figure 2 - SMS message transmit speed on a slow network link
3. Fast network connectionIf you have a fast network link, the time is determined by the processing power of the computers. In this case most of the time the network is not used (Figure 3). A fast network can significantly increase the message throughput. The processing time of the messages encoding/decoding is significantly harder to modify than it is to get a faster network link.
Figure 3 - SMS message transmit speed on a fast network link
4. Slow SMSC performanceAt Ozeki we often meet slow SMSC systems. For these systems it takes a lot of time to return a response to the submitted SMS messages. This increases T3 in the message transmission procedure, which results in slow performance.
Figure 4 - It takes a lot of time for the SMSC to return a response to the submitted message.
5. Inefficient network usage (window size 1)In most SMSC connections the communication is handled in a synchronous way. This means that one sms messages is submitted, than the system waits for a response from the SMSC before submitting the next message. In these systems, the network "uplink" (Figure 5) to the SMSC is not used most of the time. In these systems it is very crucial to have a fast network uplink, because during the time it is used it is essential to get the message through it as quickly as possible.
Figure 5 - The SMPP network uplink is not used all the time.
Figure 5/2 - Synchronized SMS transfer using windows size 1 (default setup).
6. More efficient network usage (window size 3)A technology called windowing is introduced in Ozeki 10 in order increase throughput. If windowing is enabled, the processing time and the network transmit times for each message can overlap. This way the network can be used more efficiently. Note however, that windowing must be supported by the SMSC. The way windowing works, is that we do not wait for a response for an SMS before submitting the next message to the SMSC. If the window size is set to 3, we always have 3 outstanding messages waiting for a response.
Figure 6 - The SMPP network uplink is used more efficiently if the window size is greater.
7. How to configure windowing in Ozeki 10To configure windowing in Ozeki 10, you need to open the configuration form of the smpp connection, than select advanced, open the throttling groupbox and edit the window size field.
Figure 7 - Open the smpp details page.
Figure 8 - Select the configuration tab.
Figure 9 - Open the advanced settings.
Figure 10 - Edit the window size.
8. How to calculate the pure network bandwidth requirementYou may be interested in calculating the pure network bandwidth requirement of the SMPP traffic. Note that
Step 1 - Use wireshark to capture an SMPP PDU
Step 2 - Find out the number of bytes of this PDU
Step 3 - Multiply the number of bytes by the number of messages you wish to send per second
Note: when you calculate network bandwidth requirement you need to add the following bytes together: IP packet header bytes + TCP packet header bytes + SMPP PDU bytes. For a standard SMPP SUBMIT SM message sending PDU, that carries 160 latin characters this is 265 bytes. Every SMPP SUBMIT SM triggers an SUBMIT SM RESP, which is 81 bytes. Network speeds are given in bits. This means an SMS messages takes up (265+81)*8 = 2768 bits. This means to transmit 1 SMS message per secon you need 2.768 kbit/second bandwidth.
Figure 10 - SMPP PDUs in wireshark
Required network speed calculation:
MPM = Messages Per Minute
MPS = Messages Per Second
Figure 12 - SMPP PDU headers