Scaling the server

Deploying a cluster of servers

Scaling Adobe Media Server increases the number of supported connections and the hardware capacity for streaming and for multi-way applications. To scale Adobe Media Server, you can deploy a cluster of origin servers. With all editions except Adobe Media Server Standard, you can also set up an edge-origin server cluster.

Clustering improves the performance of a single server by maintaining assets locally for easy deployment. In a cluster, clients request a connection from a common URL, and either a hardware load balancer or a server-side script directs the connection to Adobe Media Server.

Using hardware to load balance

When clients request a connection to a Adobe Media Server application, hardware load balancers can direct the connection to the server. Hardware load balancers provide various approaches to distributing client load over multiple servers. This approach is best when clients do not need to communicate with each other (for example, as they would in a text or video chat application).

Using Server-Side ActionScript to load balance

Note:

Adobe Media Server Standard does not allow access to Server-Side ActionScript.

You can write a server-side script to redirect incoming connections to a specific server in a cluster, for example, in a multi-way application that requires connections to be routed to a specific server, or to perform load balancing. You can choose several methods of assigning clients to servers. For example, can assign clients randomly, or you can call the Administration API getServerStats() method to determine which server has the lightest load.

Deploying edge servers

Note:

Adobe Media Server Standard cannot be configured as an edge server.

Although no edition of the server has a connection or bandwidth limit, all server editions are restricted by hardware capacity. Every connection into the origin server consumes resources independent of the data flowing through the connection. As the number of connections increase, this load can become very large and adversely affect server performance.

To overcome this restriction and increase the number of simultaneous users that can connect to the server, you can configure the server to run as a reverse proxy or edgeserver. With an edge server, clients connect to the edge server rather than connecting to the origin server. The edge server aggregates requests from a large number of clients and sends them to the origin.

Edge servers are a good solution for one-way video on demand (vod), one-way live events, and one-way live 24x7 streams. Edge servers enhance security, distribute the load of connection requests, and conserve bandwidth and system resources for high-volume one-way streaming.

Edge servers manage connections, cache content, and push data to clients. Having assets cached at the edge reduces the need for the server to access storage—a process that can be a bottleneck with large-scale media delivery—and delivers video to the client faster. The content can be cached in memory and also on local storage. The server administrator can control the size of the cache by setting a limit on the amount of memory used by the cache. They can also control how the cache is cleared by configuring the least-recently-used (LRU) settings such as the number of cache files and the number of files that are cleared.

Note:

Server-Side ActionScript is executed on origin servers, not on edge servers.

For more information, see Deploying edge servers.

Deploying edge servers in geographic zones

You can deploy edge servers individually or in clusters. Edge servers can also be chained, where one edge server collects and aggregates the connection requests from other edge servers and their clients, then transmits the requests to an origin server.

To distribute the demands on network and system resources, administrators can assign clients in a geographic region to a specific edge server. For example, one edge server might aggregate and forward requests from clients in Tokyo and another might aggregate and forward requests from Paris. The edge servers in Paris and Tokyo gather the requests from their clients and forward them to the origin server located in another location, such as Chicago.

Clients in these zones always access the origin server through their assigned edge servers. These edge servers receive the responses from the origin server, then distribute them back to the clients in their respective zones: Paris or Tokyo. An edge server also stores the data received from the origin server in a cache, and makes it available to other clients that connect to the edge server. Reusing the data is one more way that edge servers use resources efficiently; caching content reduces the overall load on the origin server.

Deploying edge servers in two tiers

To further distribute the load, you can stack edge servers in two tiers, a host tier and a distribution tier. For example, you could have an origin server in London that broadcasts content all over the world. The origin would push data to a tier of host edge servers in, for example, New York, Munich, Caracas, and Tokyo. Each host edge server would be connected in series to a cluster of edges that would comprise the distribution tier.

Scaling peer-assisted networking applications

Flash Media Server 4.5 or higher

[adoberuntime]Flash Media Server 4.5 or higher[/adoberuntime]

Flash Media Server 4.5 introduced RTMFP clients to each other so the clients can connect to each other directly. This direct connection is called a peer-to-peer connection. Flash Media Server 4.0 can introduce clients to each other only if the clients are connected to a single server. Use Server-Side ActionScript APIs added in Flash Media Server 4.5 to introduces clients to each other even if the clients are connected to separate servers. Distributing introductions across servers allows you to scale peer-assisted networking applications.

See Distribute peer introductions across servers.