LeagueStat
Posted on Apr 01, 2007
Nov. 2005 - Feb. 2008 Technologies: PHP 4/5, XML, MySQL (including replication), Javascript, CSS 2, AJAX, Apache 2, CentOS Linux, NFS ![]() The software was originally written in PHP 3 and had grown incrementally based on client requests for several years before I started working at Commercial Design. The product was simply outgrowing the original intention of the software and was rapidly becoming unmaintainable and even unstable during high-traffic periods. In addition to this, SQL statements used to calculate important stats were often duplicated in several areas of the site, making updates tedious and tracking down slow queries nearly impossible. As part of a major upgrade to the site, I was tasked with centralizing stats calculations into object oriented classes. This allowed us to be sure that all areas of the site were showing the same correct statistics, as well as to track performance issues more easily. To further improve performance, I worked with our system administrator to reorganize our network structure, including moving the frontend SQL server to its own dedicated box (gathering data from the backend scorekeeper server by MySQL replication). I also designed an output-caching system to rebuild static HTML pages whenever stats were updated in order to reduce load on pages being hammered during game time. As a result of the new features and improved performance, we were able to attract several new leagues, most notably the ECHL. The number of support calls we had to field reduced significantly and once frequent system crashes were a thing of the past. blog comments powered by Disqus |
![]() |