Load Balancing MODX. Garry Nutting, Senior Developer at MODX, LLC
|
|
|
- Prosper Foster
- 10 years ago
- Views:
Transcription
1 Load Balancing MODX Garry Nutting, Senior Developer at MODX, LLC This presentation, while remaining fairly high-level, will demonstrate how to load balance MODX. It is a setup we have rolled out to a few of our clients and I will provide a brief summary of one of them to demonstrate the level of scaling this environment can accommodate. Of course, there are many, many ways to configure a load balancing environment so please remember that this is not a de-facto standard, just one possible way to do this.
2 Distributing processing and communications activity evenly across a computer network so that no single device is overwhelmed. webopedia.com This is the simplest description of load balancing I could find and succinctly captures the purpose of load balancing. There are many more - some are great bedtime reading if you re struggling to sleep. However, there are some deeper aspects that we can derive from this explanation.
3 In more detail Optimizing resource usage Maximizing throughput Minimizing response times Avoiding overload of any one of the resources Improving reliability through redundancy There are five main facets to load balancing and it s important to realize that not all of these items have to be tackled at once. Typically, your first foray into load balancing will be because you have a need to handle the overloading of resources and dealing with increasing amounts of visitor traffic. It is sometimes better to treat load balancing as a series of layers, adding features over time (for example, transitioning from a basic load balancing environment to one that has redundancy)
4 But Load balancing a poorly performing website or codebase is not necessarily solving your problem There is always a but Load balancing a poor performing website or codebase is really not solving any of the base performance issues. It is in fact a quick way to spend your hard-earned cash as you will generally need to add more server resources to account for the performance issues.
5 So Look for problematic snippets and plugins Are snippets uncached when they could be cached? For example, getresources and Wayfinder PHPThumb? Find and fix slow running scripts and queries MySQL slow query log PHP-FPM slow log Cachegrind (beware, grind is what it will do) Look for errors and 404s in your logs Cache Custom snippets getcache microcache The items outlined on this slide should really be part of an iterative site maintenance process but sometimes once a site goes live, other priorities take over and these items slip. In addition, performance issues can sometimes only become evident once visitor traffic starts to increase. One of the main things we see in MODX support is people coming to us with problems about page loading times - in most cases, we can correlate the page loading time to uncached snippets that should actually be cached. Wayfinder is one example, it only needs to refresh when a resource is changed in the backend and should always be cached on the frontend. PHPThumb can be a server killer. A signature of PHPThumb is when a client says, I keep seeing my site periodically grinding to a halt and after a period of time it returns to normal. The problem is, PHPThumb has made us lazy and uploading large images may not seem a problem because we are offloading to PHPThumb to reduce the size for us on the frontend. However, image processing in PHP can be CPU intensive. Using the analogy of vehicles on a road, the CPU usage can be represented by how many vehicles are on the road at any one time. But CPU usage is only part of analysing server performance, another main measure is the load average. In our analogy, the load average can be illustrated by vehicles that are trying to get onto the road. In the case of PHPThumb (for example, if generating multiple thumbnails on a gallery page), PHPThumb can provide a blockage for vehicles trying to get onto the road. As we know, what can start off as a few vehicles waiting to get onto the road can quickly escalate into a
6 How we started Monitor Outside World Web/DB Server Firewall Host managed firewall Combined Web/DB Server - 8 CPU/24GB Availability and DB Monitoring Server So, this was a client s environment three months ago. We couldn t scale the number of CPUs on this one web server because the host caps their VPSes at 8 CPUs. The RAM on the server is 24Gb because of the database (PHP-FPM and NGINX use a relatively small amount of RAM in comparison). In this setup, we have a dedicated monitoring server - you may not have this but it is highly recommended if you are going to a multi-server environment. There are numerous third-party tools that can also provide this monitoring and may be a cheaper option than a dedicated server.
7 and what we wanted Monitor App Server Outside World Firewall Load Balancer App Server Database Mgr + Cache This is the environment we wanted to move to, you ll see that we have three distinct layers to the environment: 1. The database layer. 2. The application layer. 3. The load balancing layer. The main configuration of this environment actually happens in the application layer - you ll see we have a master instance that also acts as a global cache for MODX. The app servers are what will handle the visitor traffic, the master instance is where site admins and content editors will login to the manager and where any file changes (e.g. uploads) will be conducted.
8 Step 1: Separate the DB Commission the first app server: 8CPU/4GB Install NGINX and PHP-FPM and copy over configuration files from existing web server If changing the number of CPUs from the existing web server, adjust worker_processes value in nginx.conf Install PHP-FPM Memcached extension Copy over site files keeping file locations the same The first step is to separate the database. In our case, we decided to actually move the web files onto a newly-procured app server than move the database. The main reason for this is the extensive monitoring in place for the database and the fact that we implemented this environment around the live database. The app servers can be scaled down (we need CPUs but only a small amount of RAM). In most cases, the configuration files for NGINX and PHP-FPM can be copied over from the existing server with only minor changes required. As we used memcached for the global cache, it is important to ensure that the memcached PHP extension is installed. Keeping site files in the same location as the live site is also advisable (we don t want to introduce possible pain points into the implementation).
9 Monitor App Server Outside World Firewall Flow of live traffic Web/DB This is the environment once the first step has been implemented. It s important to note that, during the implementation, we kept the live traffic going to the existing website on what will become the database server.
10 Step 2: Create second app server Repeat step 1 to create the second app server Ensure configurations remain identical Use host provider s ability to create VPS images if available This is a repeat of step 1, just remember we want the app servers to be identical. Your host provider may provide tools to make this step easier by providing the ability to take an image of the first app server.
11 App Server Monitor App Server Outside World Firewall Flow of live traffic Web/DB This is the environment once the second step has been implemented.
12 Step 3: The manager instance Smaller size as will not be receiving main visitor traffic: 2CPU/2GB Complete setup of PHP-FPM and NGINX as per the app server setup Install memcached and rsync Configure memcached partitions Configure rsync to run between this server and the two app servers We are now ready to implement the master server and this step will cover implementing the global cache and rsync which is the way that we keep files synchronised between the master server and the two app servers.
13 memcached Caches to partitions stored in RAM A single cache entry is limited to 1Mb in size You can only delete individual entries or flush the entire partition Restarting memcached will flush all the partitions No dynamic resizing of partitions Memcached will use up to the memory limit specified for each partition. Once a partition is full, old entries will start to be removed to accommodate new cache entries If caching is critical to the application, consider having a script to prime the cache if a restart is required These are some pertinent points about memcached. The main thing to remember is that memcached is only resident in RAM so any restarts will clear the cache (a priming script may be an option but you will have to weigh up the consequences of this based on your specific application, priming a cache could introduce higher loads during the time it is running) To determine the size of your memcached partitions, you can look at the core/cache folder and the folder sizes inside there. The default partition size for memcached is 64Mb but it s important to remember that this is not pre-allocated so aiming high and setting partition sizes slightly higher than you may need is fine in most cases.
14 Cache Partition MODX System Setting Configuration Location Size Port(s) Default memcached_server /etc/memcached_default.conf 64M Resource resource_memcached_server /etc/memcached_resource.conf 64M Scripts & Includes scripts_memcached_server includes_memcached_server /etc/memcached_scripts.conf 64M System Settings system_settings_memcached_server /etc/memcached_system_settings.conf 32M Context Settings context_settings_memcached_server /etc/memcached_context_settings.conf 32M Custom custom_memcached_server /etc/memcached_custom.conf 384M This slide illustrates a sample memcached setup, each partition has a related MODX system setting. The partition size and ports are specified in the memcached configuration files. Just remember to check that these ports are open between your master instance and the app servers. If you don t specify a separate partition for a MODX-generated cache partition then MODX will cache that information in the default partition. For example, the action_map partition really doesn t solicit it s own partition due to it s small size.
15 The MODX system settings values are added to the MODX configuration file Ensures the cache settings are loaded before the database connection is established Each partition setting value takes the IP address and port of the master server Ensure that these ports are open between the master server and the app servers. $config_options = array ( 'cache_handler' => 'cache.xpdomemcached', 'memcached_server' => 'localhost:11211', 'resources_memcached_server' => 'localhost:11212', 'scripts_memcached_server' => 'localhost:11213', 'includes_memcached_server' => 'localhost:11213', 'system_settings_memcached_server' => 'localhost:11214', 'context_settings_memcached_server' => 'localhost:11215', 'custom_memcached_server' => localhost:11216,localhost:11217,localhost:11218,localhost: 11219,localhost:11220,localhost:11221' ); The memcached system settings are actually added to the MODX config.inc.php because we want the cache settings to take effect before a database connection is made. The settings are added to the $config_options array. With those configuration options in place, you will now have MODX caching to memcached. That s all there is to it
16 rsync rsync runs over SSH at a specified interval - for this environment, it s every 1min If you need a shorter sync interval, consider lsyncd which is a low-level wrapper for rsync Configure password-less SSH login between the master server and app servers Use ssh-keygen to create a private/public key on the master server Use ssh-copy-id to copy over the public key over to each of the app servers Test the SSH login Create bash script to run rsync and setup as a cron job to run every minute We decided that rsync was fine for the client s environment running via a cron job at 1 minute intervals (the site does not have a lot of file updates or uploads). Faster (almost instantaneous) sync times can be achieved by using lsyncd. This is a wrapper for rsync that listens to low-level directory events in Linux and so can synchronise a file across the servers as soon as it changes - the delay is in the order of a few milliseconds. In order for rsync to work, you will need to create a password-less SSH login between the master instance and the two app servers. This is not difficult to do but I would recommend you test the SSH login prior to setting up rsync in your crontab. We decided to use a simple bash script to handle the rsync command, it just provides a simple way to add in additional app servers should we need them in the future.
17 #/bin/bash APPSERVERIPS=( xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx ) for IP in ${APPSERVERIPS[*]} do rsync \ --verbose \ --progress \ --include-from /root/rsyncinclude.txt \ --exclude-from /root/rsyncexclude.txt \ --stats \ --compress \ --rsh=/usr/bin/ssh \ --recursive \ --times \ --perms \ --owner \ --group \ --links \ --delete \ -e "ssh -i /root/.ssh/id_rsa" /my/path/to/webroot/ $IP: /my/path/to/webroot/ done * * * * * /bin/bash /root/rsync_to_app_servers.sh > /dev/null 2>&1 As you can see, the bash script is essentially a simple loop, iterating over each app server IP address and running rsync. We set up a few configuration parameters for the rsync command, some are self-explanatory but these are some to bear in mind: 1. The include-from and exclude-from parameters can include additional files or directories (e.g. you have your core folder outside the web root) or exclude files or directories (e.g. the core/cache/* folders). Wildcards are accepted in the directory or file paths. 2. The perms, owner and group parameters retain the permissions, you ll need these to avoid possible access issues to synchronised files. 3. The final line includes the location of our SSH private key, the source folder and the destination folder. Remember, after creating your bash script file, you need to make it executable: chmod +x /root/rsync_to_app_servers.sh The line in red on this slide is what you would add to your crontab to have this script run at 1min intervals.
18 App Server App Server Monitor Outside World Firewall Mgr + Cache Flow of live traffic Web/DB So now, we are close to having a load balancing environment to test. The load balancer is the last piece of the load balancing stack to get in place.
19 Step 4: The load balancer Many different load balancers: zeus load appliance, NGINX Several types of load balancing algorithms Session persistance, i.e. sticky sessions How to handle IP forwarding Some load balancers have SSL termination I will discuss two load balancing options to give an idea of the differences between load balancing appliances. The Zeus load balancer has a full web UI whereas NGINX is configuration-file based, also Zeus does have more advanced options for load balancing available than the basic NGINX load balancing implementation. The next few slides will not only show the differences in those two load balancing options but will outline considerations for each of the items listed on this slide.
20 Round Robin Simplest form of load balancing Equal distribution of traffic across available app server nodes Does not take into account how busy an app server node may be Least Connections Directs traffic to the app server node with fewest connections Session persistance can work against this algorithm Fastest Response Time Directs traffic to the app server node with the fastest response time Does not take into account available server resources Perceptive Predict the most appropriate node using a combination of historical and current data Takes time to build historical data so load balancing effectiveness is reduced after restarts These are the different types of load balancing. We decided to use least connections (with session persistence) for the client. Despite session persistence (the ability to route a specific visitor to a specific app server) being used, the next slide shows a graph showing that the load balancing is actually quite well-balanced.
21 Just an example of the least connection load balancing over a 24hr period. The spike around 16:30 is actually fine, it s explainable by events in the application at the time and not a problem with the load balancing.
22 Session persistance ensures traffic from a specific visitor is always directed to the same app server Should not be an issue with database sessions but could be if using filebased sessions Numerous types of session persistance algorithms are available: IP-based: Send all requests from the same source address to the same node. Transparent session affinity: Insert a cookie into the response to track sessions. Application Cookie: Monitor a specified application cookie to identify sessions. Define what happens if the app server node is not available, e.g. choose new node or close connection Session persistence could be important to consider if you are using file-based sessions, it shouldn t be a problem if you are using database sessions. There are a couple of ways that session persistence can be handled, the simplest being that the load balancer will log the IP address of the visitor and use that to route them to a specific app server. This is the only option for session persistence that NGINX supports without requiring a commercial subscription. Transparent session affinity, although sounding complex, is really just inserting a cookie for tracking purposes. An application generated cookie can also be used on the Zeus load balancer if available. When implementing session persistence, you will need to define what happens if the app server a visitor is using becomes unavailable. In most cases, redirecting to a different app server is okay although logged in visitors may need to re-authenticate.
23 By default, the source IP address of a request hitting the app server will be the load balancer IP Use the X_FORWARDED_FOR header to pass the visitor s IP in the request Ensure your NGINX access logs are configured to log the X_FORWARDED_FOR IP address In nginx.conf, under the http section: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; IP forwarding is needed because the remote address variable passed in the request will be the load balancer IP address by the time the request hits one of the app servers. In most cases, you will want to be capturing the visitor IP address for your server access logs amongst other reasons. This can be achieved by using the X_FORWARDED_FOR header. You can tell the load balancer to populate the visitor s IP address into this header before the request is forwarded to the app server. In NGINX, you will need to make a small change to add the header assignment into the access log format which is shown at the bottom of the slide.
24 Configuring the Zeus LB Traffic Manager: This represents the physical LB appliance. Traffic IP Group: This allows a Traffic Manager to be assigned to a network interface(s), i.e. an IP address Virtual Servers: The virtual server will accept traffic on the specified port for processing: HTTP: Listens on port 80. Adds the HTTP_X_FORWARDED_PROTO header and sets it to HTTP. Sets the X_FORWARDED_FOR to the requester s IP. The request is then forwarded onto the HTTP pool. HTTPS: Listens on port 443. Decrypt SSL traffic for communication with backend app servers on port 80. Adds the HTTP_X_FORWARDED_PROTO header and sets it to HTTPS. Sets the X_FORWARDED_FOR to the requester s IP. The request is then forwarded onto the HTTP pool. Pools: One pool for HTTP. The app server IPs can easily be changed/added/removed from here. Catalogs: Catalogs contain a variety of items for the LB configuration. The only one of importance is the SSL Catalog, this is where the SSL certificate is uploaded and assigned to the HTTPS virtual server. This slide explains some of the terminology used by the Zeus load balancer. The process of setting up the Zeus load balancer in their web UI also follows this slide from top to bottom. Although each different make of load balancer will be configured in different ways, a lot of the terminology described on this slide will have direct parallels on other systems. The main thing here is HTTP_X_FORWARDED_PROTO header being added in the virtual servers. This is another custom header and identifies whether the original request was HTTPS or not. We need this as we re using SSL termination (SSL termination is discussed in detail later in the presentation)
25 Configuring the NGINX LB Not as feature packed as a dedicated load balancing appliance Many of the advanced features being introduced are for commercial subscriptions only Will need to have the NGINX Upstream module installed Will need to commission a server with NGINX installed: 2CPU/2GB NGINX can be used as a simple load balancer however it currently doesn t have a full feature set compared to dedicated load balancing appliances. The more advanced features appearing in NGINX also require a commercial subscription however the approach discussed in this presentation can be achieved with a free NGINX install (remember to check the Upstream module is compiled into NGINX). If the upstream module isn t compiled, a lot of Linux distros supply an nginx-extra package which contains all of the available modules. You will need a server to place NGINX on, I ve estimated a 2CPU/2Gb would be fine (it s what the Zeus load balancer runs on). As this server is essentially just routing traffic and not doing the processing, we shouldn t need a high specification server.
26 upstream backend { ip_hash; least_conn; server xxx.xxx.xxx.xxx max_fails=3 fail_timeout=15s weight=1; server xxx.xxx.xxx.xxx max_fails=3 fail_timeout=15s weight=2; server xxx.xxx.xxx.xxx max_fails=3 fail_timeout=15s backup; } server { listen 80; location / { proxy_pass proxy_set_header X-Forwarded-Proto http; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 443; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; location / { proxy_pass proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } This is a boiler-plate NGINX site configuration that is equivalent to the items outlined on the Zeus load balancer slide. The upstream block is the direct equivalent of the Zeus s pool definition. Here, the ip_hash command tells NGINX to use IP-based session persistence and the least_conn command tells NGINX to use the least connections method of load balancing (without this, round robin would be used). Below these two commands, the server statements provide the app server IP addresses followed by some additional configuration for each app server: 1. max_fails and fail_timeout: Maximum number of connection failures allowed within the fail_timeout. In the case of this maximum being reached, NGINX will not send any more requests to the app server for the time period, again specified by fail_timeout. 2. weight: The weight can be used to send more or less traffic to a specific app server. You may want to use this if your app servers have differing amounts of CPUs. 3. backup: The backup command signifies that that app server will only be used if one of the other app servers becomes unavailable. Not shown on the slide is the down statement which will mark an app server as being unavailable (e.g. if you need to take an app server down for maintenance), remember to reload NGINX if you add that to any of the app servers.
27 App Server SSL Termination In your nginx.conf, inside http{} definition: map $http_x_forwarded_proto $fastcgi_https { default off; https on; } In your NGINX site configuration, inside location{} definition: fastcgi_param HTTPS $fastcgi_https; This way MODX will know if the original request was HTTPS. MODX needs to know if the original request was sent over SSL or not (one example is so it can use the correct scheme when formatting link tags). As we are sending the X_FORWARDED_PROTO header in the request to the app server, we can use this in conjunction with the NGINX map function to correctly assign our HTTPS header (which will then be handed over to PHP-FPM and subsequently MODX). In the location block (where you re sending data over to PHP-FPM, we need to ensure we are passing our HTTPS header as a parameter, this may or may not already exist in your NGINX fastcgi_params configuration file.
28 App Server Load Balancer App Server Mgr + Cache Monitor Outside World Firewall Flow of live traffic Web/DB So, this is the environment prior to go-live, at this point you can test your environment. Immediately prior to go-live, remember to synchronise your web files from the existing live site (which will be decommissioned after go-live) to the master instance. This is also a good test to see if the master instance synchronises the files to the app servers.
29 And we re there Monitor App Server Outside World Firewall Load Balancer App Server Database Mgr + Cache After testing, you can go-live. This is essentially a two-step process: 1. Change your site s DNS entry to point to the load balancer IP address. 2. Remove/shutdown the website on the database server. And that s it
30 Any questions? A couple of the questions were surrounding the application layer. There was a discussion about using Redis instead of memcached for the global cache as Redis is persistent and therefore will retain the cache data on restarts. This is an interesting proposition and while we decided that memcached was okay to use for this environment, this is definitely worth further investigation to determine what would be required to implement Redis for MODX caching. Another question focussed on rsync and if there could be a problem if an rsync process took longer than a minute to synchronise (i.e. possible overlapping of file syncing) - it is to my knowledge that lsyncd would avoid this. There was a question on how to redirect the manager traffic to the manager instance. This can be handled on the load balancer, both Zeus and NGINX (and therefore I assume other load balancer appliances will too) support the ability to do a forced redirect based on the URL. Final question was on whether (to avoid the rsync) NFS could be used instead. NFS is an option for centralised file storage (mounting the storage on each of the app servers and having the web root on the NFS). This may be an option for new sites but may be difficult to implement on existing sites, MODX has had issues with file locking on NFS mounts previously too so we need to bear that in mind. Finally, it does add another component to the overall load
BASICS OF SCALING: LOAD BALANCERS
BASICS OF SCALING: LOAD BALANCERS Lately, I ve been doing a lot of work on systems that require a high degree of scalability to handle large traffic spikes. This has led to a lot of questions from friends
Running Nginx as Reverse Proxy server
Running Nginx as Reverse Proxy server October 30 2011 This is a tutorial on running Nginx as a reverse proxy server. It covers all basics of using Nginx as a reverse proxy server. By Ayodhyanath Guru www.jafaloo.com
Snapt Balancer Manual
Snapt Balancer Manual Version 1.2 pg. 1 Contents Chapter 1: Introduction... 3 Chapter 2: General Usage... 4 Configuration Default Settings... 4 Configuration Performance Tuning... 6 Configuration Snapt
Load balancing Microsoft IAG
Load balancing Microsoft IAG Using ZXTM with Microsoft IAG (Intelligent Application Gateway) Server Zeus Technology Limited Zeus Technology UK: +44 (0)1223 525000 The Jeffreys Building 1955 Landings Drive
DEPLOYMENT GUIDE Version 1.2. Deploying F5 with Microsoft Exchange Server 2007
DEPLOYMENT GUIDE Version 1.2 Deploying F5 with Microsoft Exchange Server 2007 Table of Contents Table of Contents Deploying F5 devices with Microsoft Exchange Server 2007 Client Access Servers Prerequisites
DEPLOYMENT GUIDE. Deploying the BIG-IP LTM v9.x with Microsoft Windows Server 2008 Terminal Services
DEPLOYMENT GUIDE Deploying the BIG-IP LTM v9.x with Microsoft Windows Server 2008 Terminal Services Deploying the BIG-IP LTM system and Microsoft Windows Server 2008 Terminal Services Welcome to the BIG-IP
DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5
DEPLOYMENT GUIDE Version 1.2 Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Microsoft IIS Prerequisites and configuration
DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP system v10 with Microsoft Exchange Outlook Web Access 2007
DEPLOYMENT GUIDE Version 1.2 Deploying the BIG-IP system v10 with Microsoft Exchange Outlook Web Access 2007 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Microsoft Outlook Web
How To Use Ngnix (Php) With A Php-Fpm (Php-Fmm) On A Web Server (Php5) On Your Web Browser) On An Ubuntu Web Server On A Raspberry Web 2.5 (Net
Powering Magento with Ngnix and PHP-FPM Written by: Yuri Golovko Alexey Samorukov Table of Contents INTRODUCTION WHY YOU SHOULD CONSIDER NGNIX NGNIX AND STATIC CONTENT HOW TO USE NGNIX NGNIX SYSTEM REQUIREMENTS
Configuring Nex-Gen Web Load Balancer
Configuring Nex-Gen Web Load Balancer Table of Contents Load Balancing Scenarios & Concepts Creating Load Balancer Node using Administration Service Creating Load Balancer Node using NodeCreator Connecting
Using Redis as a Cache Backend in Magento
Using Redis as a Cache Backend in Magento Written by: Alexey Samorukov Aleksandr Lozhechnik Kirill Morozov Table of Contents PROBLEMS WITH THE TWOLEVELS CACHE BACKEND CONFIRMING THE ISSUE SOLVING THE ISSUE
S y s t e m A r c h i t e c t u r e
S y s t e m A r c h i t e c t u r e V e r s i o n 5. 0 Page 1 Enterprise etime automates and streamlines the management, collection, and distribution of employee hours, and eliminates the use of manual
DEPLOYMENT GUIDE Version 1.1. Deploying F5 with IBM WebSphere 7
DEPLOYMENT GUIDE Version 1.1 Deploying F5 with IBM WebSphere 7 Table of Contents Table of Contents Deploying the BIG-IP LTM system and IBM WebSphere Servers Prerequisites and configuration notes...1-1
IERG 4080 Building Scalable Internet-based Services
Department of Information Engineering, CUHK Term 1, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 4 Load Balancing Lecturer: Albert C. M. Au Yeung 30 th September, 2015 Web Server
CumuLogic Load Balancer Overview Guide. March 2013. CumuLogic Load Balancer Overview Guide 1
CumuLogic Load Balancer Overview Guide March 2013 CumuLogic Load Balancer Overview Guide 1 Table of Contents CumuLogic Load Balancer... 3 Architectural Overview of CumuLogic Load Balancer... 4 How to Use
Cloud Based Application Architectures using Smart Computing
Cloud Based Application Architectures using Smart Computing How to Use this Guide Joyent Smart Technology represents a sophisticated evolution in cloud computing infrastructure. Most cloud computing products
DEPLOYMENT GUIDE Version 1.1. Deploying F5 with Oracle Application Server 10g
DEPLOYMENT GUIDE Version 1.1 Deploying F5 with Oracle Application Server 10g Table of Contents Table of Contents Introducing the F5 and Oracle 10g configuration Prerequisites and configuration notes...1-1
Integrating the F5 BigIP with Blackboard
Integrating the F5 BigIP with Blackboard Nick McClure [email protected] Lead Systems Programmer University of Kentucky Created August 1, 2006 Last Updated June 17, 2008 Integrating the F5 BigIP with Blackboard
CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015
CS 188/219 Scalable Internet Services Andrew Mutz October 8, 2015 For Today About PTEs Empty spots were given out If more spots open up, I will issue more PTEs You must have a group by today. More detail
DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v9.x with Microsoft IIS 7.0 and 7.5
DEPLOYMENT GUIDE Version 1.2 Deploying the BIG-IP System v9.x with Microsoft IIS 7.0 and 7.5 Deploying F5 with Microsoft IIS 7.0 and 7.5 F5's BIG-IP system can increase the existing benefits of deploying
How To Configure Apa Web Server For High Performance
DEPLOYMENT GUIDE Version 1.0 Deploying F5 with Apache Web Servers Table of Contents Table of Contents Deploying the BIG-IP LTM with the Apache web server Prerequisites and configuration notes... 1 Product
Web Load Balancing on a Budget
Web Load Balancing on a Budget Pain Hosting 60+ websites Single web server Redundant subsystems (disk, power) SPOF Inconvenient maintenance windows Clients MY TEAM! Scope Simple. Availability. Minimize/mitigate
DEPLOYMENT GUIDE CONFIGURING THE BIG-IP LTM SYSTEM WITH FIREPASS CONTROLLERS FOR LOAD BALANCING AND SSL OFFLOAD
DEPLOYMENT GUIDE CONFIGURING THE BIG-IP LTM SYSTEM WITH FIREPASS CONTROLLERS FOR LOAD BALANCING AND SSL OFFLOAD Configuring the BIG-IP LTM system for use with FirePass controllers Welcome to the Configuring
Scalability of web applications. CSCI 470: Web Science Keith Vertanen
Scalability of web applications CSCI 470: Web Science Keith Vertanen Scalability questions Overview What's important in order to build scalable web sites? High availability vs. load balancing Approaches
ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy
ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy OVERVIEW The global communication and the continuous growth of services provided through the Internet or local infrastructure require to
ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy
ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy OVERVIEW The global communication and the continuous growth of services provided through the Internet or local infrastructure require to
Deployment Guide Oracle Siebel CRM
Deployment Guide Oracle Siebel CRM DG_ OrSCRM_032013.1 TABLE OF CONTENTS 1 Introduction...4 2 Deployment Topology...4 2.1 Deployment Prerequisites...6 2.2 Siebel CRM Server Roles...7 3 Accessing the AX
DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010
DEPLOYMENT GUIDE Version 2.1 Deploying F5 with Microsoft SharePoint 2010 Table of Contents Table of Contents Introducing the F5 Deployment Guide for Microsoft SharePoint 2010 Prerequisites and configuration
DEPLOYMENT GUIDE DEPLOYING THE BIG-IP LTM SYSTEM WITH MICROSOFT WINDOWS SERVER 2008 TERMINAL SERVICES
DEPLOYMENT GUIDE DEPLOYING THE BIG-IP LTM SYSTEM WITH MICROSOFT WINDOWS SERVER 2008 TERMINAL SERVICES Deploying the BIG-IP LTM system and Microsoft Windows Server 2008 Terminal Services Welcome to the
Are You Ready for the Holiday Rush?
Are You Ready for the Holiday Rush? Five Survival Tips Written by Joseph Palumbo, Cloud Usability Team Leader Are You Ready for the Holiday Rush? Five Survival Tips Cover Table of Contents 1. Vertical
Deploying the BIG-IP System with Oracle E-Business Suite 11i
Deploying the BIG-IP System with Oracle E-Business Suite 11i Introducing the BIG-IP and Oracle 11i configuration Configuring the BIG-IP system for deployment with Oracle 11i Configuring the BIG-IP system
DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server
DEPLOYMENT GUIDE Version 1.0 Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server Table of Contents Table of Contents Deploying the BIG-IP LTM with Tomcat application servers and Apache web
Brocade Virtual Traffic Manager and Magento Deployment Guide
September 2015 Brocade Virtual Traffic Manager and Magento Deployment Guide 2015 Brocade Communications Systems, Inc. All Rights Reserved. ADX, Brocade, Brocade Assurance, the B-wing symbol, DCX, Fabric
DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5
DEPLOYMENT GUIDE Version 1.1 Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Citrix Presentation Server Prerequisites
Bricks Cluster Technical Whitepaper
1 20steps Version: December 2014 (Draft) Bricks Cluster Technical Whitepaper by Helmut Hoffer von Ankershoffen (Owner & CTO) Bastian Brodbeck (Lead Frontend Development) Zimmerstraße 26 Aufgang B 8th Floor
DEPLOYMENT GUIDE DEPLOYING F5 WITH MICROSOFT WINDOWS SERVER 2008
DEPLOYMENT GUIDE DEPLOYING F5 WITH MICROSOFT WINDOWS SERVER 2008 Table of Contents Table of Contents Deploying F5 with Microsoft Windows Server 2008 Prerequisites and configuration notes...1-1 Deploying
Barracuda Load Balancer Online Demo Guide
Barracuda Load Balancer Online Demo Guide Rev 1.3 October 04, 2012 Product Introduction The Barracuda Networks Load Balancer provides comprehensive IP load balancing capabilities to any IP-based application,
Deploying the BIG-IP System v10 with Oracle Application Server 10g R2
DEPLOYMENT GUIDE Deploying the BIG-IP System v10 with Oracle Application Server 10g R2 Version 1.1 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Oracle s Application Server 10g
Implementing Reverse Proxy Using Squid. Prepared By Visolve Squid Team
Implementing Reverse Proxy Using Squid Prepared By Visolve Squid Team Introduction What is Reverse Proxy Cache About Squid How Reverse Proxy Cache work Configuring Squid as Reverse Proxy Configuring Squid
DEPLOYMENT GUIDE Version 1.2. Deploying F5 with Oracle E-Business Suite 12
DEPLOYMENT GUIDE Version 1.2 Deploying F5 with Oracle E-Business Suite 12 Table of Contents Table of Contents Introducing the BIG-IP LTM Oracle E-Business Suite 12 configuration Prerequisites and configuration
Configuring the BIG-IP system for FirePass controllers
Deployment Guide Configuring the BIG-IP System with FirePass Controllers for Load Balancing and SSL Offload Configuring the BIG-IP system for FirePass controllers Welcome to the Configuring the BIG-IP
Reverse Proxy Guide. Version 2.0 April 2016
Version 2.0 April 2016 Reverse Proxy Guide Copyright 2016 iwebgate. All Rights Reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated
Applications Manager Best Practices document
Applications Manager Best Practices document This document will list the AdventNet ManageEngine Applications Manager best practices 1. Hardware and Software requirements 2. Configuring Applications Manager
Load Balancing. Outlook Web Access. Web Mail Using Equalizer
Load Balancing Outlook Web Access Web Mail Using Equalizer Copyright 2009 Coyote Point Systems, Inc. Printed in the USA. Publication Date: January 2009 Equalizer is a trademark of Coyote Point Systems
VMware Identity Manager Connector Installation and Configuration
VMware Identity Manager Connector Installation and Configuration VMware Identity Manager This document supports the version of each product listed and supports all subsequent versions until the document
This document will list the ManageEngine Applications Manager best practices
This document will list the ManageEngine Applications Manager best practices 1. Hardware and Software requirements 2. Configuring Applications Manager 3. Securing Applications Manager 4. Fault Management
Load Balancing Microsoft Terminal Services. Deployment Guide
Load Balancing Microsoft Terminal Services Deployment Guide rev. 1.5.7 Copyright 2002 2016 Loadbalancer.org, Inc. 1 Table of Contents About this Guide... 4 Loadbalancer.org Appliances Supported... 4 Loadbalancer.org
42goISP Documentation
42goISP Documentation 42goISP Documentation I Table of Contents General...1 1 What is 42goISP?...1 2 Terms and structure of the manual...1 3 Installation/Upgrade/Deinstallation...1 3.1 Installation...1
Deployment Guide Microsoft IIS 7.0
Deployment Guide Microsoft IIS 7.0 DG_IIS_022012.1 TABLE OF CONTENTS 1 Introduction... 4 2 Deployment Guide Overview... 4 3 Deployment Guide Prerequisites... 4 4 Accessing the AX Series Load Balancer...
Native SSL support was implemented in HAProxy 1.5.x, which was released as a stable version in June 2014.
Introduction HAProxy, which stands for High Availability Proxy, is a popular open source software TCP/HTTP Load Balancer and proxying solution which can be run on Linux, Solaris, and FreeBSD. Its most
InterWorx Clustering Guide. by InterWorx LLC
InterWorx Clustering Guide by InterWorx LLC Contents 1 What Is Clustering? 3 1.1 What Does Clustering Do? What Doesn t It Do?............................ 3 1.2 Why Cluster?...............................................
How to Install SMTPSwith Mailer on Centos Server/VPS
How to Install SMTPSwith Mailer on Centos Server/VPS SMTPSwitch Mailer User Guide V4.0 SMTPSwitch Mailer is a web based email marketing software that runs on a web server or online server. An online server
ClusterLoad ESX Virtual Appliance quick start guide v6.3
ClusterLoad ESX Virtual Appliance quick start guide v6.3 ClusterLoad terminology...2 What are your objectives?...3 What is the difference between a one-arm and a two-arm configuration?...3 What are the
Backing up the Embedded Oracle database of a Red Hat Network Satellite
Backing up the Embedded Oracle database of a Red Hat Network Satellite By Melissa Goldin and Vladimir Zlatkin Abstract This document will help you create a backup of the Oracle database of a Red Hat Network
HAProxy. Free, Fast High Availability and Load Balancing. Adam Thornton 10 September 2014
HAProxy Free, Fast High Availability and Load Balancing Adam Thornton 10 September 2014 What? HAProxy is a proxy for Layer 4 (TCP) or Layer 7 (HTTP) traffic GPLv2 http://www.haproxy.org Disclaimer: I don't
DEPLOYMENT GUIDE DEPLOYING THE BIG-IP SYSTEM WITH MICROSOFT INTERNET INFORMATION SERVICES (IIS) 7.0
DEPLOYMENT GUIDE DEPLOYING THE BIG-IP SYSTEM WITH MICROSOFT INTERNET INFORMATION SERVICES (IIS) 7.0 Deploying F5 with Microsoft IIS 7.0 F5's BIG-IP system can increase the existing benefits of deploying
1. If there is a temporary SSL certificate in your /ServerRoot/ssl/certs/ directory, move or delete it. 2. Run the following command:
C2Net Stronghold Cisco Adaptive Security Appliance (ASA) 5500 Cobalt RaQ4/XTR F5 BIG IP (version 9) F5 BIG IP (pre-version 9) F5 FirePass VPS HSphere Web Server IBM HTTP Server Java-based web server (generic)
App Orchestration 2.5
Configuring NetScaler 10.5 Load Balancing with StoreFront 2.5.2 and NetScaler Gateway for Prepared by: James Richards Last Updated: August 20, 2014 Contents Introduction... 3 Configure the NetScaler load
Introduction to the EIS Guide
Introduction to the EIS Guide The AirWatch Enterprise Integration Service (EIS) provides organizations the ability to securely integrate with back-end enterprise systems from either the AirWatch SaaS environment
DEPLOYMENT GUIDE. Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0
DEPLOYMENT GUIDE Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0 Introducing the F5 and Microsoft Dynamics CRM configuration Microsoft Dynamics CRM is a full customer relationship
Deployment Guide AX Series with Active Directory Federation Services 2.0 and Office 365
Deployment Guide AX Series with Active Directory Federation Services 2.0 and Office 365 DG_ADFS20_120907.1 TABLE OF CONTENTS 1 Overview... 4 2 Deployment Guide Overview... 4 3 Deployment Guide Prerequisites...
The QueueMetrics Uniloader User Manual. Loway
The QueueMetrics Uniloader User Manual Loway The QueueMetrics Uniloader User Manual Loway Table of Contents 1. What is Uniloader?... 1 2. Installation... 2 2.1. Running in production... 2 3. Concepts...
Microsoft Exchange Server
Deployment Guide Document Version: 4.9.2 Deploying the BIG-IP System v10 with Microsoft Welcome to the F5 and Microsoft Exchange 2010 deployment guide. This document contains guidance on configuring the
Configuring Microsoft IIS 5.0 With Pramati Server
Configuring Microsoft IIS 5.0 With Pramati Server 46 Microsoft Internet Information Services 5.0 is a built-in web server that comes with Windows 2000 operating system. An earlier version, IIS 4.0, is
Hardware Recommendations
Hardware Recommendations Alpha Anywhere is a Windows based system that will run on various Windows versions. The minimum requirement is Windows XP SP3 or Server 2003. However, it is recommended that at
Deploying the BIG-IP System v10 with SAP NetWeaver and Enterprise SOA: ERP Central Component (ECC)
DEPLOYMENT GUIDE Deploying the BIG-IP System v10 with SAP NetWeaver and Enterprise SOA: ERP Central Component (ECC) Version 1.1 Table of Contents Table of Contents Deploying the BIG-IP system v10 with
Bitrix Site Manager. Bitrix Web Cluster
Bitrix Site Manager Bitrix Web Cluster Contents Computer Clusters... 3 Introducing Bitrix Web Cluster... 4 Chapter 1. Tasks And Goals Accomplished By Bitrix Web Cluster... 5 Web Project Scalability And
Serving 4 million page requests an hour with Magento Enterprise
1 Serving 4 million page requests an hour with Magento Enterprise Introduction In order to better understand Magento Enterprise s capacity to serve the needs of some of our larger clients, Session Digital
User Manual. Onsight Management Suite Version 5.1. Another Innovation by Librestream
User Manual Onsight Management Suite Version 5.1 Another Innovation by Librestream Doc #: 400075-06 May 2012 Information in this document is subject to change without notice. Reproduction in any manner
Git - Working with Remote Repositories
Git - Working with Remote Repositories Handout New Concepts Working with remote Git repositories including setting up remote repositories, cloning remote repositories, and keeping local repositories in-sync
by [email protected] http://www.facebook.com/khoab
phpfastcache V2 by [email protected] http://www.facebook.com/khoab Website: http://www.phpfastcache.com Github: https://github.com/khoaofgod/phpfastcache 1. What s new in version 2.0? To take advantage
Microsoft Office Web Apps Server 2013 Integration with SharePoint 2013 Setting up Load Balanced Office Web Apps Farm with SSL (HTTPS)
Microsoft Office Web Apps Server 2013 Integration with SharePoint 2013 Setting up Load Balanced Office Web Apps Farm with SSL (HTTPS) December 25 th, 2015 V.1.0 Prepared by: Manoj Karunarathne MCT, MCSA,
MAGENTO HOSTING Progressive Server Performance Improvements
MAGENTO HOSTING Progressive Server Performance Improvements Simple Helix, LLC 4092 Memorial Parkway Ste 202 Huntsville, AL 35802 [email protected] 1.866.963.0424 www.simplehelix.com 2 Table of Contents
Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications
Single Pass Load Balancing with Session Persistence in IPv6 Network C. J. (Charlie) Liu Network Operations Charter Communications Load Balancer Today o Load balancing is still in use today. It is now considered
5 Mistakes to Avoid on Your Drupal Website
5 Mistakes to Avoid on Your Drupal Website Table of Contents Introduction.... 3 Architecture: Content.... 4 Architecture: Display... 5 Architecture: Site or Functionality.... 6 Security.... 8 Performance...
SiteCelerate white paper
SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance
Understanding Slow Start
Chapter 1 Load Balancing 57 Understanding Slow Start When you configure a NetScaler to use a metric-based LB method such as Least Connections, Least Response Time, Least Bandwidth, Least Packets, or Custom
FILECLOUD HIGH AVAILABILITY
FILECLOUD HIGH AVAILABILITY ARCHITECTURE VERSION 1.0 FileCloud HA Architecture... 2 Load Balancers... 3 FileCloud Component: App server node... 3 FileCloud Component: Mongo DB Replica set... 3 Instructions
PC Monitor Enterprise Server. Setup Guide
PC Monitor Enterprise Server Setup Guide Prerequisites Server Requirements - Microsoft Windows Server 2008 R2 or 2012-2GB RAM - IIS 7.5 or IIS 8.0 (with ASP.NET 4.0 installed) - Microsoft SQL Server 2008
Guide to the LBaaS plugin ver. 1.0.2 for Fuel
Guide to the LBaaS plugin ver. 1.0.2 for Fuel Load Balancing plugin for Fuel LBaaS (Load Balancing as a Service) is currently an advanced service of Neutron that provides load balancing for Neutron multi
Load Balancing McAfee Web Gateway. Deployment Guide
Load Balancing McAfee Web Gateway Deployment Guide rev. 1.1.4 Copyright 2015 Loadbalancer.org, Inc. 1 Table of Contents About this Guide... 3 Loadbalancer.org Appliances Supported...3 Loadbalancer.org
X-POS GUIDE. v3.4 INSTALLATION. 2015 SmartOSC and X-POS
GUIDE INSTALLATION X-POS v3.4 2015 SmartOSC and X-POS 1. Prerequisites for Installing and Upgrading Server has Apache/PHP 5.2.x/MySQL installed. Magento Community version 1.7.x or above already installed
WebGUI Load Balancing
WebGUI Load Balancing WebGUI User Conference October 5, 2005 Presented by: Len Kranendonk [email protected] Course Contents Introduction Example: The Royal Netherlands Football Association Scaling WebGUI
Wikimedia architecture. Mark Bergsma <[email protected]> Wikimedia Foundation Inc.
Mark Bergsma Wikimedia Foundation Inc. Overview Intro Global architecture Content Delivery Network (CDN) Application servers Persistent storage Focus on architecture, not so much on
ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG
ZingMe Practice For Building Scalable PHP Website By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG Agenda About ZingMe Scaling PHP application Scalability definition Scaling up vs
Drupal Performance Tuning
Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web
Exam : EE0-511. : F5 BIG-IP V9 Local traffic Management. Title. Ver : 12.19.05
Exam : EE0-511 Title : F5 BIG-IP V9 Local traffic Management Ver : 12.19.05 QUESTION 1 Which three methods can be used for initial access to a BIG-IP system? (Choose three.) A. serial console access B.
EZblue BusinessServer The All - In - One Server For Your Home And Business
EZblue BusinessServer The All - In - One Server For Your Home And Business Quick Start Guide Version 3.11 1 2 3 EZblue Server Overview EZblue Server Installation EZblue Server Configuration 4 EZblue Magellan
CS312 Solutions #6. March 13, 2015
CS312 Solutions #6 March 13, 2015 Solutions 1. (1pt) Define in detail what a load balancer is and what problem it s trying to solve. Give at least two examples of where using a load balancer might be useful,
AMD RAID Installation Guide
AMD RAID Installation Guide 1. AMD BIOS RAID Installation Guide.. 2 1.1 Introduction to RAID.. 2 1.2 RAID Configurations Precautions 3 1.3 Installing Windows XP / XP 64-bit / Vista / Vista 64-bit With
3/21/2011. Topics. What is load balancing? Load Balancing
Load Balancing Topics 1. What is load balancing? 2. Load balancing techniques 3. Load balancing strategies 4. Sessions 5. Elastic load balancing What is load balancing? load balancing is a technique to
1. How do I access my VPS control panel?
VPS Business FAQ Section 1: Installation...2 1. How do I access my VPS control panel?...2 2. How do I access my Windows VPS?...6 3. How do I access my Linux VPS?...8 Section 2: using a VPS...9 4. How to
Propalms TSE Deployment Guide
Propalms TSE Deployment Guide Version 7.0 Propalms Ltd. Published October 2013 Overview This guide provides instructions for deploying Propalms TSE in a production environment running Windows Server 2003,
Parallels Plesk Panel 11 for your Linux server
Getting Started Guide Parallels Plesk Panel 11 for your Linux server Getting Started Guide Page 1 Getting Started Guide: Parallels Plesk Panel 11, Linux Server Version 1.1 (11.1.2012) Copyright 2012. All
This section is intended to provide sample configurations and script examples common to long-term operation of a Jive SBS installation.
Operations Cookbook Contents Operations Cookbook...2 Enabling SSL Encryption... 2 Disabling the Local Jive System Database... 2 Changing the Configuration of an Existing Instance... 3 Performing a Jive
GoGrid Implement.com Configuring a SQL Server 2012 AlwaysOn Cluster
GoGrid Implement.com Configuring a SQL Server 2012 AlwaysOn Cluster Overview This documents the SQL Server 2012 Disaster Recovery design and deployment, calling out best practices and concerns from the
Introducing the BIG-IP and SharePoint Portal Server 2003 configuration
Deployment Guide Deploying Microsoft SharePoint Portal Server 2003 and the F5 BIG-IP System Introducing the BIG-IP and SharePoint Portal Server 2003 configuration F5 and Microsoft have collaborated on
ISPConfig Documentation
ISPConfig Documentation ISPConfig Documentation I Table of Contents General...1 1 What is ISPConfig?...1 2 Terms and structure of the manual...1 3 Installation/Upgrade/Deinstallation...1 3.1 Installation...1
