OpenX Blog

Serving billions of ads each month using distributed statistics

Tags: OpenX
by Oliver George on October 8th, 2007

OpenX can now serve billions of ads each month by distributing the work among a group of servers. This new functionality, called distributed statistics, provides a robust and scalable way to share ad serving load among a group of servers.

We’ve been getting a lot of interest from the OpenX Community about distributed statistics so here’s a quick high level overview.

OpenX - Building Scalability using Distributed Statistics

Architecture
The basic architecture is shown above. As you can see the architecture is based around a series of delivery servers reporting back to a central database.

Performance
The performance of each of the delivery servers is almost exactly the same as a stand alone ad server.

Scalability
The server farm can be scaled to greater ad serving volumes by adding more delivery servers. This assumes that the central database can handle the extra reporting load which should be taken into account when choosing the central database hardware.

Redundancy
The architecture provides good redundancy as a failure of any single server will not disable the system. The load balancer will handle a delivery server outage by distributing the extra load across the other delivery servers, and the delivery servers will continue to serve ads in the event that the central database cannot be contacted.

Conclusion
This new functionality takes the headache out of coordinating the delivery of ads across several servers. It’s a proven system used by OpenX publishers serving billions of ads each month.

With this basic architecture you will be able to scale to serve billions of impressions each month but you can scale even further. This architecture will both eliminate most single points of failure, and allow almost unlimited scalability.

For more information, please contact us here at OpenX.


Related Links:
Technical Whitepaper: Implementing Distributed Statistics

10 Comments »

  1. We mainly use trackers which are write intensive and with the Distributed Statistics we are balancing the writes across the web servers using Innodb as storage engine.

    Also to have full High Availability and Redundancy we are using a Master-Master replication at the Admin/Central Database.

    Comment by Ernesto Vargas — October 9, 2007 @ 5:35 pm

  2. Also see more information at:
    http://www.openx.org/docs/2.4/whitepapers/distributed-statistics

    Comment by Arlen Coupland — October 16, 2007 @ 12:21 pm

  3. [...] distributed statistics to scale to serve billions of ads using server [...]

    Pingback by Ad Serving for publishers who are serious about making money | Php Scripts World — May 18, 2008 @ 9:55 am

  4. I recently requested some information about the load balancer, and the answer that i got was that why was I concern about it because that’s for big boys. I’m actually working on a big project similar to adbrie and I really need your help about the structure, I have 4 new dell server available to make the structure, and I would like to know how to set it up and get it up and running. I’m very curious about the load balancer, is it a piece of equipment or a software. thank you for your time and looking forward for an answer.

    Comment by kenny cuevas — June 3, 2008 @ 8:26 pm

  5. Regarding the load balancer, we can have both software based and hardware based load balancers.

    based on our purpose (requirement of our application) , flexibility of available features, load balancer deployment/management skills, kind of traffic to be handled currently and what are immediate future expectations etc, last but not least, the budget allocation, will help choose a load balancer whichever type and what capacity they choose.

    all the best with your project

    Comment by Raghu Veer — June 12, 2008 @ 1:47 pm

  6. [...] With the right system it can serve around 100 million impressions a month on a single server. And if you want go to by the billions then you can choose a server farm to do the job (because the software can scale). For more details see here http://blog.openx.org/10/serving-billions-of-ads-using-openads/ [...]

    Pingback by OpenX - open source ad server software solution | MyTestBox.com - web software reviews — July 3, 2008 @ 9:30 am

  7. [...] distributed statistics to scale to serve billions of ads using server [...]

    Pingback by Features and Benefits of Openx 2.6.0 | Adslang Blogger — August 4, 2008 @ 8:15 am

  8. [...] distributed statistics to scale to serve billions of ads using server [...]

    Pingback by Features and Benefits - Your Ads Depot — August 25, 2008 @ 11:24 pm

  9. Document for 2.6:
    http://www.openx.org/en/docs/2.6/adminguide/Distributed+statistics

    Comment by Arlen Coupland — September 25, 2008 @ 12:39 pm

  10. i only see one DB, can you have more than one MySQL with some form of logical split at the app level ?

    Comment by bob — October 20, 2008 @ 9:21 am

RSS feed for comments on this post. TrackBack URL

Leave a comment