Chapter 14. Cluster Tuning and Optimization
When you first set up a cluster, the number of configuration settings and middleware options can seem a tad overwhelming. In this chapter, we’ll cover options that new cluster operators might find useful to tune their clusters as well as optimize the cluster and user experience. Some adjustments might seem obvious right away, while others will become apparent after you have done some testing and benchmarking from Chapter 17. In addition to using existing middleware, you might find that custom middleware best fits your needs. More information about custom middleware can be found in Chapter 8.
Although most of the following settings are part of Swift, we point out some that are outside your cluster, but can have an impact on it.
Tuning will have a dramatic impact on the performance of a Swift cluster. Numerous settings can be adjusted for the account, container, object, and proxy server processes to enhance your Swift cluster. Many can be found in the configuration files of the servers:
- Proxy: proxy-server.conf
- Account: account-server.conf
- Container: container-server.conf
- Object: object-server.conf
Here are some of the most common tuning settings for a cluster:
Worker processes are the ones carrying most of the weight in Swift. Each server hands over requests to worker processes, and each worker can handle multiple requests simultaneously using Eventlet, a multithreading library that provides high concurrency ...