The key to ad server optimization is clever allocation of critical materials. Let’s check out the tasks and demanding situations we faced when developing Enterprise:1. Ad servers procedure large quantities of data per day. Your enterprise requires that your ad servers analyze, move, store and deliver large quantities of data in a millisecond’s time.
All day, daily. It takes about 1KB of data to reveal 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 answer:· 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 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 determine which nodes are necessary to high functionality, high load ad serving. We’ve integrated that information into our Enterprise ad serving software to preserve, maximize and duplicate where necessary computing materials to keep the characteristic of the complete 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 when the failed node comes back online data is redistributed and stored with approaches that preserve the data stream and your ad revenue. Enterprise employs a couple of data nodes and replicates data from a master database to a slave database to answer these challenges. The slave database is then used to exhibit ads. 3. Manage peak loads for continuous peak performance.
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 functionality and computation supplies. We researched a huge population of web sites across a various set of variables to get a feeling of how peak loads effect an ad management system. Please check out the diagram below:The diagram illustrates that ad server loads are allotted asynchronously with peak loads clocking in at 1. 5 to 2 times higher than the common system load. High peformance, high availability ad serving methods 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 determine data consistency between server clusters in a dispensed system, Enterprise uses data synchronization ideas. Data from ads displayed by the Web Server Node see the primary diagram are processed and transferred to the Slave Database Slave DB. Before that occurs, the data is processed and analyzed by a Statistics Node and stored in the Master DB. Grouped data from the Master DB can be passed to the Slave DB.
Using a daemon historical past 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 information transfer protocols in the DB nodes, we used MySQL tools for data replication. MySQL provides a superb, open source answer for prime speed data transmission. 5. Stay on top of operational data and stay within your clients’ budget. Client relationships are at the guts of every a success online ad network.
Internet advertising agencies are looking to keep tight manage over budgets in a worldwide that moves by the millisecond. When high loads put strain on your servers, your techniques still must track ad demonstrate 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 display screen the adjustments that occur with each click or ad influence. Our stress test data indicates that disk storage is not up to the task, so we determined 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 conserving data in RAM.
Redis helps master slave data replication and transfers datasets from memory to disk asynchronously. Redis can help replication to any number of slaves and one slave could be a master to an alternate. Our research found Redis to be a highly agile method offering high functionality data availability. 6. Improve processing speed; manage high volume site visitors fast and effectively.
Displaying web ads in real time response to user clicks and page loads across high volumes of site visitors calls for sophisticated ad serving technology. Running a system at the high speeds essential to fulfill the goals of your thriving enterprise, means your ad serving software must intelligently distribute tasks across system nodes. Every node and server and the system as a whole should be optimized to run at peak performance with each and each ad impact. We recommend a multi tiered approach:· Optimize and adjust your operating system. 6. Scalable servers rise to the instance.
Server scalability means your ad control system solutions server load raises after 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 knowledge of system scalability is that you only are looking to increase computing supplies nodes when your ad servers hit peak loads. You economize on additional hardware and don’t should change the architecture of your system or nodes. Enterprise, the newest in high functionality ad serving technology:Let’s review the internal methods that make Enterprise servers the high functionality choice on your high volume ad trafficking needs Take a look at the structure of our high functionality system above.
To achieve high speed data processing for each click or ad impact 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 move transport protocols. When there are new files, the Statistics Node techniques, groups and saves them to the Master Database Node. The grouped data bought from Web Server Node moves to the Master DB Node. The Master DB Node saves data in a format handy for data management and evaluation, but not for speedy selection for show on internet sites.
So the Slave DB Node steps in to demonstrate ads. All suggestions from the Master DB Node is replicated to the Slave DB Node where it is transformed into a format that enables quick selection and demonstrate. All changes to data in the Master DB Node newly grouped data from the Statistics Node are replicated in the Slave DB Node making certain that counsel required from the Web Server Node is often actual and up to the millisecond – protecting your business relationships. Replication of information from the Master DB Node to the Slave DB Node not just optimizes ad reveal speeds. The Slave DB Node doesn’t enter adjustments into the Master DB Node when displaying ads; so your system makes premier use of your computational components when server loads are at peak demand.
When the Web Server Node is liable for displaying ads, choice and ad displays are optimized by: decreasing the variety of queries to the Web server, editing key phrases relevant to searches, targeted processing, lowering consultation cookies, optimization of security guidelines, enhancing cron scripts and more.