Growing W3CounterLike every year since spinning off W3Counter from Website Goodies in 2004, it’s exceeded its hardware capacity once again in December. Initially the service shared a Celeron 2.4/512MB server with all of my websites. It then grew into its own Pentium 4 3.0GHz/1GB server, then into a 2-processor 4-core Opteron/4GB setup. This time it’s outgrown the hard drive IO capacity of a single server, evidenced by maxing the IO wait stat on `top` and the daily afternoon site slow downs.
While some type of RAID-10 SCSI setup might buy more time, I decided it’s finally time to grow the architecture outwards instead of upwards. Yesterday afternoon I rolled out the beta code base to the live site — W3Counter is now officially a multi-server application. I added another layer to the data layer classes to provide them a connection based on a lookup table which identifies which database server a website’s data is on. That means W3Counter can grow without code changes by simply adding more database servers to a configuration file. An overloaded schedule put W3Counter’s improvements on the backburner the past two months, but I’m back on it now. This weekend’s update includes a lot of the requested changes from the blog and the survey that ran a few months after login — fixes to the Google maps and upgrade process, improved referrers reports, better search engine referral detection, interface improvements, and increased time span in the new referrers/new searches/recent visitors reports. What’s not included are the widgets or new plan types. I still need to finish the interfaces for customizing the widgets, the coding needed to offer private label instances, and the coding needed for some different billing options (like paying yearly instead of monthly).
Tags: afternoon site, database server, Google, RAID, SCSI, search engine, search engine referral detection
|
Self-promotionRecent Comments
Activity Stream
Popular Posts
|





[…] the web and database servers), and another to expand the database server count to 3. Since I rearchitected the software to a database partitioned over multiple servers during the last upgrade, all I need to do is plug […]