Increase the SMS transfer rate of HTTP REST SMS Client connections
HTTP SMS connections are not the best choice for high performance messaging, since HTTP transactions carry a lot of communication overhead. The HTTP headers in the HTTP request / response can increase the data payload by a 10-15 times. If you can choose go for SMPP or CIMD2 or UCP/EMI SMS connection for high speed traffic. If you are stuck with HTTP or HTTPS, read the following article to increase performance.
How can you increase the SMS transfer rate on HTTP and HTTPS connections
To increase the performance, there are a two things you can do:
First, you can create multiple HTTP connections simultaneously and let Ozeki SMS Gateway distribute the SMS messages between the connections. In the Ozeki configuration form, this can be achieved by increasing the Window size. The window size setting of X means, that Ozeki Will send X SMS messages out before waiting for the response for the first. In the algorithm this means, that X number of simultaneous HTTP requests are executed.
Second, you can configure Ozeki to use the "Keepalive" option of HTTP/1.1, to keep existing connections alive, and reuse them to send messages. This setting will eliminate the need of setting up a new process on the receiving end to accept each incoming request. Basically one TCP/IP (and optionally TLS) will be created and all HTTP requests will be sent through this single link.
How to increase the SMS transfer rate of HTTP REST SMS Client connections (Quick Steps)
- Add a new connection
- Install REST client
- Configure connection details
- Enable the connection
- Add and install Tester user
- Send 100 test messages
- Increase window size, Enable keepalive
- Send 100 test messages again
How to increase the SMS transfer rate of HTTP REST SMS Client connections (Video tutorial)
In this video, you will learn how to boost the SMS sending performance of your HTTP REST SMS Client connections in Ozeki SMS Gateway. The tutorial shows you how to create and configure a REST client connection, set up a Tester user to send 100 test messages, and measure the initial performance. Then, you’ll discover how to significantly increase the throughput by adjusting two key settings: increasing the Window size to allow multiple simultaneous HTTP requests and enabling HTTP Keepalive to reuse existing connections. By the end of the video, you'll see a clear improvement in transfer speed, ensuring more efficient and faster SMS delivery even over HTTP or HTTPS.
Step 1 - Add new connection
Open Ozeki SMS Gateway and navigate to the Connections page. Click "Add new connection..." to start setting up a new REST SMS Client connection (Figure 1).
Step 2 - Install REST client
From the available connection types, locate and select "HTTP REST client", then click "Install" to proceed with the setup (Figure 2).
Step 3 - Configure connection details
Enter the necessary REST API details, such as the URL of SMS service (e.g. http://127.0.0.1/sms/incoming.php). Save your settings (Figure 3).
Step 4 - Enable connection
After configuring the connection, toggle the connection status to enabled so that it becomes active and ready to use (Figure 4).
Step 5 - Add new user
Go to the Users and applications menu and click "Add new user/application..." to create a new user profile for sending test messages (Figure 5).
Step 6 - Install Tester user
Choose "Tester user" from the list and install it. This special user type allows easy testing of SMS sending performance (Figure 6).
Step 7 - Send 100 test message
Use the Tester user to send out 100 test SMS messages through the newly created REST connection to measure the baseline performance (Figure 7).
Step 8 - Test finnished
After sending, check the report to see the test results, including total time and message throughput (Figure 8).
Step 9 - Open REST client
Return to the HTTP_REST_client_1 connection settings to start optimizing the connection for better speed (Figure 9).
Step 10 - Increase window size
Increase the "Window size" parameter to allow multiple HTTP requests to be sent simultaneously, improving throughput significantly (Figure 10).
Step 11 - Enable keepalive
Check the "Send keepalive" option to reuse existing connections instead of creating new ones for each message, reducing overhead (Figure 11).
Step 12 - Send 100 test message again
Repeat the test by sending another 100 SMS messages to evaluate the performance improvements (Figure 12).
Step 13 - Test finnished
Review the second test results. You should now see a significant reduction in sending time and an increased transfer rate (Figure 13).