The key to ad server optimization is intelligent allocation of crucial substances. Let’s check out the tasks and demanding situations we faced when arising Enterprise:1. Ad servers process large portions of data per day. Your enterprise requires that your ad servers examine, move, store and deliver large quantities of information in a millisecond’s time.
All day, each day. It takes approximately 1KB of knowledge to monitor one ad. So, 100 million ad impressions a day means about 100 150 GB of data that need to be processed and analyzed by your ad servers. To meet this challenge Orbitscripts’ Enterprise applies a two pronged solution:· Sequential data processing2. Fault tolerant design keeps your ad servers up and running. Machines break.
That’s a fact. A successfully configured system takes that fact under consideration and builds in a work around; so the complete system doesn’t crash because one part fails. We’ve done huge load and stress checking out to isolate and identify which nodes are indispensable to high functionality, high load ad serving. We’ve built-in that knowledge into our Enterprise ad serving application to preserve, maximize and duplicate where necessary computing supplies to maintain the feature 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.
· Ensure that once the failed node comes back online data is redistributed and stored with approaches that keep the knowledge stream and your ad income. Enterprise employs a few data nodes and replicates data from a master database to a slave database to answer these demanding situations. The slave database is then used to display ads. 3. Manage peak loads for continual peak functionality.
As your ad servers interact along 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 materials. We researched a big inhabitants of web sites across a various set of variables to get a feeling of how peak loads effect an ad leadership system. Please check out 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 programs handle as much as 150 200 million ad impressions per day at peak load times. 4. Data synchronization enables replicated and uninterrupted data flow. To set up data consistency among server clusters in a dispensed system, Enterprise uses data synchronization concepts. Data from ads displayed by the Web Server Node see the 1st diagram are processed and transferred to the Slave Database Slave DB. Before that happens, the information is processed and analyzed by a Statistics Node and stored in the Master DB.
Grouped data from the Master DB may be passed to the Slave DB. Using a daemon history process to track changes in the Web Server Node, Enterprise harmonizes your data and to be sure that it’s always accessible and correct. When arising the knowledge transfer protocols in the DB nodes, we used MySQL tools for data replication. MySQL gives a brilliant, open source answer for top speed data transmission. 5.
Stay on top of operational data and stay within your clients’ budget. Client relationships are at the center of each successful online ad network. Internet advertising organizations need to keep tight keep an eye on over budgets in a worldwide that moves by the millisecond. When high loads put strain on your servers, your techniques still must 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 less than the duty, 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 aid replication to any number of slaves and one slave could be a master to another. Our research found Redis to be a highly agile method providing high functionality data availability.
6. Improve processing speed; manage high volume site visitors fast and correctly. Displaying web ads in real time reaction to user clicks and page loads across high volumes of traffic requires sophisticated ad serving technology. Running a system at the high speeds essential to satisfy the goals of your thriving business, means your ad serving program 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 each ad influence. We advocate a multi tiered strategy:· Optimize and adjust your working system.
6. Scalable servers rise to the occasion. Server scalability means your ad leadership system answers server load raises once they happen. Enterprise servers optimize your system’s structure to horizontally expand new nodes in sync with the calls for of your target audience. The key capabilities of system scalability is that you simply only need to increase computing materials nodes when your ad servers hit peak loads.
You save money on extra hardware and don’t have to change the structure of your system or nodes. Enterprise, the most recent in high performance ad serving generation:Let’s review the internal procedures that make Enterprise servers the high functionality choice in your high volume ad trafficking needs Take a examine the architecture of our high performance system above. To obtain high speed data processing for each click or ad impression on a domain 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 move shipping protocols. When there are new files, the Statistics Node techniques, 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 effortless for data management and analysis, but not for quick variety for display on websites. So the Slave DB Node steps in to monitor 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 variety and monitor. All changes to data in the Master DB Node newly grouped data from the Statistics Node are replicated in the Slave DB Node guaranteeing that information required from the Web Server Node is often actual and up to the millisecond – masking your company relationships. Replication of information from the Master DB Node to the Slave DB Node not just optimizes ad display speeds. The Slave DB Node doesn’t enter changes into the Master DB Node when displaying ads; so your system makes best use of your computational supplies when server loads are at peak demand.
When the Web Server Node is responsible for displaying ads, selection and ad displays are optimized by: decreasing the number of queries to the Web server, enhancing key phrases applicable to searches, targeted processing, lowering session cookies, optimization of defense policies, enhancing cron scripts and more.