Mpesa Overload? Technically impossible unless….
By Mr. Anonymous
This piece was written by someone who requested to remain anonymous
An average Mpesa transaction takes a maximum of 100 bytes. And that is a complex transaction like paying a bill. Sending money and buying airtime takes about 50-60 bytes. I am being generous here. If encryption was employed (never is) which most experts will tell you is easy to crack A5/1 stream cipher that Safaricom uses to rarely encrypt pre-paid SMSes and Mpesa Transaction – pathetic!], it would increase the size of a normal Mpesa to 105 bytes. Maximum.
So, having said the simple things above, one question really beats the me… HOW CAN MPESA HAVE OVERLOADS? It is technically impossible. Look at the example below.
– No of Mpesa Users – 10, 000, 000 [Generous again!]
– Number of transactions per day – 2 [ish…]
– Average message size – 2 way – (105 bytes * 2) [Generous]
– SMS confirmation 1 – 160 bytes [Generous]
Total Possible Traffic per 24 hours:
10, 000, 000 * 2 * (210 + 160) = 7400000000 bytes
= 6.89 GB of data
Tuko pamoja so far?
Let take an example of average Lan for Investment Bank in Kenya which a proximately has 30 to 40 employees. It would work ok with 3 IBM 3650 eSeries Srver averaging 4GB of RAM each and just a mere 512 kbps Wimax link.
Open Question 1 : How can a 3.5 G network working at a rate of 14.4 Mbps fail to handle 6.89 GB of data?
Open Question 2: Let us assume the network is configured by an expert [someone who actually knows how to optimize resources] and it operates optimally. For a vetted and tested application running on a well-mannered server [FreeBSD/Debian/Gentoo] that have Symmetric Multi Processing enabled by default, A well optimized Oracle installation does a cool 60, 000 transactions per second.
That is 4 Million Transactions per Minute. it should NEVER EVER take more than 90 seconds for you to get a response. Mpesa has a backlog of 4 Days? as i? write this. PS : We are talking about 1 server here. A service like Mpesa must have at least 10. Yes, 10 dedicated EXPENSIVE but mis-configured servers, giving them the performance of a well optimized windows 95 box.(cringe!!)
That is why Safaricom need to get out and invest in getting their network properly setup and configured. My guess is, the current network was setup with little consideration of future growth.? For example a server configured to handle 10,000,000 requests suddenly gets 100,000,000 request will definitely go on strike, demanding whatever machine would want. With fiber optic here the problem will increase tenfold unless……