Skip to main content

Customer had a Java/Tomcat/Apache/MySQL application that was unable to absorb real-time GPS probe point data from millions of vehicles without choking. Vendor sending the real-time GPS data would get errors and stop the feed.  Lead programmer for application insisted that the only way to fix the issue was to "upgrade to 'Enterprise class' software like WebSphere and Oracle" 

Looked at reasons why application was failing and discovered too many TCP TIME_WAIT status points. Identified issue as not having unlimited keep_alive which was causing vendor to spawn additional clients. With that fix to Apache, the vendor's sending clients no longer choked. The next issue discovered was the Java application was not using persistent connections to the MySQL database and was re-opening TCP connections. Suggested moving to socket connections and/or persistent connections. Unfortunately the Java language version at that time did not support MySQL persistent connections, and so I wrote a small PHP program to replace the Java program and trained staff on it's usage and incorporation into their larger system.