If you administrate a system that receives a large volume of online ad traffic or you plan to grow your business and increase your web traffic, then you need ad serving software that can handle the demands of your business. As you reach for your target market and that audience responds, the load on your ad servers increases proportionally.
Unfortunately, simply adding more servers won’t resolve this issue. You need ad serving technology with the brains and brawn to:
1. Increases your computational resources
2. Create a scalable, intelligent, allocated system
To answer the call of high volume ad trafficking, OrbitScripts created Enterprise, a peak performance ad serving solution for high load systems. Enterprise ad serving software is built to handle heavy loads of 100 million or more ad impressions a day.
The intelligent architecture of our high performance system:
The key to ad server optimization is intelligent allocation of critical resources. Let’s take a look at the tasks and challenges we faced when developing Enterprise:
1. Ad servers process large quantities of data per day.
Your business requires that your ad servers analyze, move, store and deliver large amounts of data in a millisecond’s time. All day, every day.
It takes approximately 1KB of data to display one ad. So, 100 million ad impressions a day means about 100-150 GB of data that must be processed and analyzed by your ad servers. To meet this challenge Orbitscripts’ Enterprise applies a two-pronged solution:
· Sequential data processing
· Data distribution across multiple statistics nodes (blocks, units)
2. Fault-tolerant design keeps your ad servers up and running.
Machines break. That’s a fact. A successfully configured system takes that fact into account and builds in a work around; so the entire system doesn’t crash because one component fails.
We’ve done extensive load and stress testing to isolate and identify which nodes are critical to high performance, high load ad serving. We’ve integrated that knowledge into our Enterprise ad serving software to conserve, maximize and duplicate (where necessary) computing resources to preserve the function of the whole in the event of part’s malfunction.
Our research shows a fault-tolerant system must:
· Duplicate system nodes to ensure data continuity and integrity.
· Execute data storage methods that retain data without loss when one node fails.
· Ensure that when the failed node comes back online data is redistributed and stored with processes that preserve the data stream and your ad revenue.
Enterprise employs several statistics nodes and replicates data from a master database to a slave database to answer these challenges. The slave database is then used to display ads.
3. Manage peak loads for continuous peak performance.
As your ad servers interact with your user base, your ad serving system allocates server loads asynchronously. That is: some dayparts take a heavier toll on your ad servers performance and computation resources. We researched a large population of web sites across a diverse set of variables to get a sense of how peak loads effect an ad management system.
Please take a look at the diagram below:
The diagram illustrates that ad server loads are allocated asynchronously with peak loads clocking in at 1.5 to 2 times higher than the average system load. High peformance, high availability ad serving systems handle as much as 150- 200 million ad impressions per day at peak load times.
4. Data synchronization allows for replicated and uninterrupted data flow.
To establish data consistency between server clusters in a distributed system, Enterprise uses data synchronization techniques. Data from ads displayed by the Web Server Node (see the first diagram) are processed and transferred to the Slave Database (Slave DB). Before that happens, the data is processed and analyzed by a Statistics Node and stored in the Master DB. Grouped data from the Master DB will be passed to the Slave DB.
Using a daemon (background process) to track changes in the Web Server Node, Enterprise harmonizes your data and to ensure that it’s always available and accurate.
When developing the data transfer protocols in the DB nodes, we used MySQL tools for data replication. MySQL provides an excellent, open source solution for high speed data transmission..
5. Stay on top of operational data and stay within your clients’ budget.
Client relationships are at the heart of every successful online ad network. Internet advertising agencies need to keep tight control over budgets in a world that moves by the millisecond. When high loads put strain on your servers, your systems still needs to track ad display data; so as not to exceed your advertisers’ budget.
Under high load pressures your ad servers must take split second readings on the state of your advertisers’ budget limits and monitor the changes that occur with each click or ad impression. Our stress test data indicates that disk storage is not up to the task, so we decided to store data in RAM using the Redis archive.
Redis is an open-source, networked, key-value data store solution that achieves data persistance by holding data in RAM. Redis supports master-slave data replication and transfers datasets from memory to disk asynchronously. Redis can support replication to any number of slaves and one slave can be a master to another. Our research found Redis to be a highly agile method offering high performance data availability.
6. Improve processing speed; manage high volume traffic fast and efficiently.
Displaying web ads in real time response to user clicks and page loads across high volumes of traffic requires advanced ad serving technology. Running a system at the high speeds necessary to meet the goals of your thriving business, means your ad serving software must intelligently distribute tasks across system nodes. Every node and server and the system as a whole must be optimized to run at peak performance with each and every ad impression.
We recommend a multi-tiered approach:
· Optimize and adjust your operating system.
· Optimize and adjust Web Server Node settings.
· Optimize and adjust DB Node settings.
· Use archives and data caching.
6. Scalable servers rise to the occasion.
Server scalability means your ad management system answers server load increases when they happen. Enterprise servers optimize your system’s architecture to horizontally expand new nodes in sync with the demands of your target audience.
The key advantage of system scalability is that you only need to increase computing resources (nodes) when your ad servers hit peak loads. You save money on additional hardware and don’t have to change the architecture of your system or nodes.
Enterprise, the latest in high performance ad serving technology:
Let’s review the internal processes that make Enterprise servers the high performance choice for your high volume ad trafficking needs (Take a look at the architecture of our high performance system above).
To achieve high speed data processing for each click or ad impression on a website in your system, Enterprise saves that data as a file on the Web Server Node.
A Statistics Node queries the Web Server Node for new files using synchronized data transfer transport protocols. When there are new files, the Statistics Node processes, groups and saves them to the Master Database Node.
The grouped data received from Web Server Node moves to the Master DB Node. The Master DB Node saves data in a format convenient for data management and analysis, but not for quick selection for display on websites. So the Slave DB Node steps in to display ads. All information from the Master DB Node is replicated to the Slave DB Node where it is converted into a format that facilitates quick selection and display.
All changes to data in the Master DB Node (newly grouped data from the Statistics Node) are replicated in the Slave DB Node ensuring that information required from the Web Server Node is always actual and up to the millisecond – protecting your business relationships. Replication of data from the Master DB Node to the Slave DB Node not only optimizes ad display speeds. The Slave DB Node doesn’t enter changes into the Master DB Node when displaying ads; so your system makes optimal use of your computational resources when server loads are at peak demand.
When the Web Server Node is responsible for displaying ads, selection and ad displays are optimized by: reducing the number of queries to the Web server, modifying keywords relevant to searches, targeted processing, reducing session cookies, optimization of security policies, modifying cron scripts and more.
Enterprise delivers a powerful ad serving solution that gives your business a competitive edge:
· High performance system architecture
· Cutting edge ad serving technology
· Your system scales to deliver billions of ads per month without breaking a sweat.
· Rapid ad display captures your core audience.
· Operate within your own domain (using first party cookies). You own all of your data with no need to resort to third-party cookies.
· Deploy your data assets to your advantage and reach customized audience segments with geo-targeting, content-targeting, and behavioral targeting strategies right on your own ad servers.
· Optimize delivery of your ad campaigns with real-time prioritization and reporting.
· Optimize fraud protection and more…
Enterprise is built to handle the high performance needs of heavy load websites such as large Internet stores, high traffic fora, social networks etc..
Enterprise will be available soon on www.orbitscripts.com! Stay Tuned!