W3Counter logs and aggregates hundreds of website visits each second — a system that required a multitude of technologies to scale effectively on a budget.

W3Counter provides hosted real-time web stats for websites and blogs. Spun off from Website Goodies‘ hit counter in 2004, W3Counter now tracks millions of visitors per day across over 40,000 user websites, reporting on their activity in real-time and in aggregate, with free and paid subscriptions available.

At the time, free web stats services were extremely basic offerings, with anything beyond an overview of recent visits and a daily hit count only available through paid services. It wasn’t until 2005 that Google had opened Google Analytics to the public and a year later many were still waiting for an invitation to the service.

I set out to create something free that would satiate my desire to know what was happening on my websites in real-time yet also provide the analytical reports needed to identify trends and areas for improvement. I evolved the service over the course of three years (2004-2007) until it finally realized that vision — live monitoring of site activity, detailed reports, customizable tracking images, and a scalable code base that serves tens of thousands of users.

The current version of W3Counter is a PHP application built on top of the Symfony PHP5 framework. It has multiple front end servers handling the tracking code on over 40,000 websites, recording and reporting millions of page views per day as they happen.

The database is sharded across multiple MySQL 5 servers running on Amazon Elastic Compute Cloud nodes. Every database query has been hand written and fine tuned, along with server configurations and MySQL settings, in order to get as much performance out of each node as possible.

I designed the public website and the application’s user interface myself, but the logo was created by a professional graphic designer.

Release Date:

March 2004

My Role:

Technologies Used:

Current Status:

Tracking tens of millions of visitors per month for over 40,000 users