Book Image

Hands-On Linux for Architects

By : Denis Salamanca, Esteban Flores
Book Image

Hands-On Linux for Architects

By: Denis Salamanca, Esteban Flores

Overview of this book

It is very important to understand the ?exibility of an infrastructure when designing an efficient environment. In this book, you will cover everything from Linux components and functionalities through to hardware and software support, which will help you to implement and tune effective Linux-based solutions. This book gets started with an overview of Linux design methodology. Next, you will focus on the core concepts of designing a solution. As you progress, you will gain insights into the kinds of decisions you need to make when deploying a high-performance solution using Gluster File System (GlusterFS). In the next set of chapters, the book will guide you through the technique of using Kubernetes as an orchestrator for deploying and managing containerized applications. In addition to this, you will learn how to apply and configure Kubernetes for your NGINX application. You’ll then learn how to implement an ELK stack, which is composed of Elasticsearch, Logstash, and Kibana. In the concluding chapters, you will focus on installing and configuring a Saltstack solution to manage different Linux distributions, and explore a variety of design best practices. By the end of this book, you will be well-versed with designing a high-performing computing environment for complex applications to run on. By the end of the book, you will have delved inside the most detailed technical conditions of designing a solution, and you will have also dissected every aspect in detail in order to implement and tune open source Linux-based solutions
Table of Contents (22 chapters)
Free Chapter
1
Section 1: High-Performance Storage Solutions with GlusterFS
7
Section 2: High-Availablility Nginx Web Application Using Kubernetes
12
Section 3: Elastic Stack
16
Section 4: System Management Using Saltstack

Optimizing performance

With the volume created and mounted, we can tweak some parameters to get the best performance. Mainly, performance tuning can be done on the filesystem level (in this case, ZFS), and on the GlusterFS volume level.

GlusterFS tuning

Here, the main variable is performance.cache-size. This setting specifies the amount of RAM to be allocated as a read cache for the GlusterFS volume. By default, it is set to 32 MB, which is fairly low. Given that the selected VM has enough RAM, this can be bumped to 4 GB using the following command:

gluster volume set gvol1 performance.cache-size 4GB

Another essential parameter once the cluster starts growing is performance.io-thread-count. This controls how many I/O threads...