Practical Load Balancing: Ride the Performance Tiger

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

The emergence of the cloud and modern, fast corporate networks demands that you perform judicious balancing of computational loads. Practical Load Balancing presents an entire analytical framework to increase performance not just of one machine, but of your entire infrastructure.

Practical Load Balancing starts by introducing key concepts and the tools you'll need to tackle your load-balancing issues. You'll travel through the IP layers and learn how they can create increased network traffic for you. You'll see how to account for persistence and state, and how you can judge the performance of scheduling algorithms.

You'll then learn how to avoid performance degradation and any risk of the sudden disappearance of a service on a server. If you're concerned with running your load balancer for an entire network, you'll find out how to set up your network topography, and condense each topographical variety into recipes that will serve you in different situations. You'll also learn about individual servers, and load balancers that can perform cookie insertion or improve your SSL throughput. 

You'll also explore load balancing in the modern context of the cloud. While load balancers need to be configured for high availability once the conditions on the network have been created, modern load balancing has found its way into the cloud, where good balancing is vital for the very functioning of the cloud, and where IPv6 is becoming ever more important.

You can read Practical Load Balancing from end to end or out of sequence, and indeed, if there are individual topics that interest you, you can pick up this book and work through it once you have read the first three chapters.

What you’ll learn

  • Judge network load balancing algorithms and when to use them
  • Plan your network for optimal load balancing performance
  • Configure single servers to take advantage of modern load balancing software
  • Learning to use load balancing software like HAproxy, STunnel etc.
  • Become familiar with implications of IPv6 and the cloud
  • Improve SSL throughput and seamless application cookie insertion

Who this book is for

Network engineers, developers and IT managers.

Table of Contents


Part I: Getting Started

1. Introduction
2. How websites work: what makes them slow
3. Content Caching: keeping the load light
4. DNS based load balancing
5. Content Delivery Networks
6. Planning for Performance and Reliability

Part II: Load Balancing Essentials

7. Essential concepts you need to know
8. HTTP load balancing
9. Database load balancing
10. Load balancing your network connection
11. SSL Load Balancing

Part III: Load balancing situations

12. Clustering the Load Balancers for High Availability
13. Load balancing in the cloud
14. IPv6: Implications and concepts
15. Where to go next...

Appendix 1: Common Terms and Concepts

Author(s): Peter Membrey, Eelco Plugge, David Hows
Edition: 1
Publisher: Apress
Year: 2012

Language: English
Pages: 272
Tags: Библиотека;Компьютерная литература;Компьютерные сети;

Cover
......Page 250
Contents at a Glance
......Page 3
Contents
......Page 253
About the Authors
......Page 265
About the Technical Reviewers
......Page 266
Special Thanks to serverlove
......Page 267
Acknowledgments
......Page 268
Preface
......Page 269
The Problem......Page 4
The Solution......Page 5
Scaling Up......Page 6
What Makes the Web Tick?......Page 7
Content Delivery Networks......Page 8
Load Balancing Your Database......Page 9
IPv6: Implementation and Concepts......Page 10
Summary......Page 11
How Web Sites Work......Page 12
Kicking Off the Process......Page 13
Connecting to the Server (Finally!)......Page 14
Talking to the Database......Page 15
Taking a Closer Look......Page 16
TCP......Page 17
DNS......Page 19
Speed, Bandwidth, and Latency......Page 20
HTML and the Web......Page 23
Why is Text-Based Important?......Page 24
Why is Linking Important?......Page 25
HTML Summary......Page 26
Web Content......Page 27
Creating Dynamic Content......Page 28
Summary......Page 30
Content Caching: Keeping the Load Light......Page 32
Whistle Stop Tour......Page 33
Web Accelerators......Page 34
Web Proxies......Page 35
Transparent Web Proxies......Page 36
Platform Caching......Page 38
Application Caching......Page 39
Caching Theory: Why Is It so Hard?......Page 40
HTTP 1.1 Enhanced Caching Support......Page 41
The Solution......Page 42
Web Proxies......Page 43
Getting Started......Page 44
Transparent Proxies......Page 46
What's Going On......Page 47
Getting a Helping Hand......Page 48
Edge-based Caching: Introducing Varnish......Page 49
Sane Caching by Default......Page 50
Installing Varnish......Page 51
Getting Up and Running......Page 52
Summary......Page 54
The IP Address......Page 55
The Solution......Page 56
DNS in Depth......Page 57
Querying Yourself......Page 58
Advanced DNS Queries......Page 59
DNS Caching......Page 60
Querying your DNS Cache......Page 61
The Real Stuff......Page 62
BIND9......Page 63
DNS DB Header......Page 64
DNS Database Entries......Page 65
Checking the Config......Page 67
Testing your DNS......Page 68
Advantages of DNS Load Balancing......Page 69
Issues with DNS Load Balancing......Page 70
Summary......Page 71
Content Delivery Networks......Page 72
Getting Started with Rackspace......Page 73
Adding Content to Your CDN Account......Page 75
Integrating the API into PHP......Page 78
Connecting and Disconnecting......Page 79
Working with Containers......Page 80
Working with Files......Page 86
Other Useful Functions......Page 92
Summary......Page 93
Planning for Performance and Reliability......Page 94
yoU......Page 95
DInner......Page 98
In......Page 99
TiME......Page 101
The Importance of Planning......Page 102
There May Be Trouble Ahead......Page 104
Automation is a Must......Page 105
Strategic Backups......Page 106
Summary......Page 107
What Is Load Balancing?......Page 109
Processor (CPU)......Page 110
Checking Performance of CPU and RAM with top......Page 111
Network......Page 113
Load Balancing in Practice......Page 114
Understand Your System......Page 115
Summary......Page 116
Measuring Web Server Performance......Page 117
Disabling Unneeded Modules......Page 120
Using Compression......Page 121
Accelerating nginx......Page 123
worker_processes and worker_cpu_affinity......Page 124
Gzip Compression......Page 125
Load Balancing Your Web Server......Page 126
The Setup......Page 127
Preparing the Server......Page 128
Preparing the Workers......Page 130
Testing the Load Balancer......Page 131
Best of Both Worlds......Page 132
Summary......Page 134
Setting up the MySQL Cluster......Page 135
Installing the Management Software......Page 137
Configuring the Management Software......Page 138
Preparing the Cluster’s Data Nodes......Page 140
Installing the MySQL Server and NDB Daemon......Page 141
Configuring the NDB Daemon......Page 142
Starting the Cluster Node’s Services......Page 143
Updating MySQL’s Root User......Page 144
Testing the Installation......Page 145
Applying Load Balancing......Page 147
Setting up the Load Balancer......Page 148
Testing the Load Balancer......Page 150
Summary......Page 151
Sharing the Workload......Page 153
TCP......Page 154
Routing......Page 155
The Load Balancer......Page 157
IPVS Scheduling......Page 160
IPVS Installation on Ubuntu......Page 162
IPVS Installation on Centos......Page 163
IPVSADM......Page 164
Expanding IPVS......Page 166
Changing Scheduling Algorithm......Page 167
Assigning Weight Values......Page 168
Protocol and Multiple Virtual Servers......Page 170
Another IP Address......Page 171
Making It Stick......Page 173
Summary......Page 174
What are SSL and TLS?......Page 175
Public-Key Cryptography......Page 176
Trust and Certificate Authorities......Page 177
TLS Load Balancing......Page 178
Configuring SSL on Your Web Server......Page 179
Apache......Page 181
SSL Acceleration......Page 182
SSL Termination......Page 183
Configuring Nginx......Page 184
Testing the SSL......Page 185
Engine......Page 187
Caching......Page 188
Specific Ciphers......Page 189
LVS and Your SSL Terminator......Page 191
Summary......Page 192
Clustering for High Availability......Page 193
High Availability......Page 194
Single Point of Failure......Page 195
Clustering......Page 197
IPVS Failover......Page 198
Install with Ubuntu......Page 199
Configure......Page 200
Common Config Problems......Page 203
Confirming Your System......Page 204
Testing......Page 206
Centos......Page 207
ldirectord.cf......Page 208
Summary......Page 209
Cloud Computing......Page 210
Hypervisor......Page 211
Virtualized Resources......Page 214
Managing Virtual Resources......Page 215
Balancing......Page 216
Planning......Page 218
Cloud Elasticity......Page 219
Working with a Cloud Server......Page 220
Summary......Page 223
Hexadecimal Notation......Page 224
IPv4 Exhaustion......Page 225
Advantages of IPv6......Page 226
Implementation......Page 227
Internet Connection......Page 228
Networking......Page 229
Apache......Page 230
Varnish Cache......Page 231
IPVS......Page 232
Summary......Page 233
Where to Go Next…......Page 234
Monitoring......Page 235
Security......Page 236
Views......Page 237
Common Exploit Prevention......Page 238
Cut Down......Page 239
Summary......Page 240
C......Page 242
H......Page 243
L......Page 244
M
......Page 245
R......Page 246
S......Page 247
W, X, Y, Z......Page 248