LINUX PERFORMANCE TUNING AND ANALYSIS Training in Upland

Enroll in or hire us to teach our LINUX PERFORMANCE TUNING AND ANALYSIS class in Upland, California by calling us @303.377.6176. Like all HSG classes, LINUX PERFORMANCE TUNING AND ANALYSIS may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, LINUX PERFORMANCE TUNING AND ANALYSIS may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
This class meets the needs of advanced Linux Systems Administrators expanding their knowledge of core workings of Linux. Theories and methodologies are covered for tuning, monitoring performance, and analyzing the performance of the Linux operating system.
Course Length: 4 Days
Course Tuition: $2490 (US)

Prerequisites

An intermediate knowledge of the Linux operating system is required. The equivalent knowledge can be found in the "Linux Fundamentals" and "Enterprise Linux Systems Administration" courses.

Course Outline

 
  1. TUNING PRINCIPLES & THE USE METHOD
    1. What is Performance Tuning?
    2. Performance Tuning Methodology
    3. Model System
    4. Establish a Baseline
    5. Establish Performance Targets
    6. Identify Bottleneck
    7. Tune
    8. Measure, Monitor, Evaluate, Repeat?
    9. Final Thoughts
    10. The USE Method
    11. Gathering USE Metrics
    LAB TASKS
    1. Determining the System's Configuration
    2. USE Method: CPU
    3. USE Method: Memory
    4. USE Method: Network
    5. USE Method: Storage I/O & Capacity
  2. LINUX INTERNALS REVIEW
    1. The Linux Operating System Components
    2. Open Standards
    3. Memory Layout
    4. Important Kernel Threads
    5. Device Files in Linux
    6. Managing Linux Device Files
    7. udev
    8. Random Numbers and /dev/random
    9. Block Devices and the Device Mapper
    10. List Block Devices
    11. SCSI Devices
    12. File Systems with Linux
    13. Hardware Discovery Tools
    14. Cache and Write Barriers
    15. Advanced LVM: Components & Object Tags
    16. Advanced LVM: Automated Storage Tiering
    17. Advanced LVM: Thin Provisioning
    18. Advanced LVM: Striping & Mirroring
    19. Advanced LVM: RAID Volumes
    20. Kernel Modules
    LAB TASKS
    1. Adjusting Kernel Options
    2. Linux Kernel Driver Compilation
  3. LINUX USERSPACE ARCHITECTURE
    1. systemd System and Service Manager
    2. Using systemd
    3. Security Model Overview
    LAB TASKS
    1. Managing Services With Systemd's systemctl
    2. Setting Limits with the pam_limits Modules
    3. Operation of the setuid() and capset() System Calls
  4. LOG FILE ADMINISTRATION
    1. System Logging
    2. systemd Journal
    3. systemd Journal's journalctl
    4. Secure Logging with Journal's Log Sealing
    5. gnome-system-log
    6. Rsyslog
    7. /etc/rsyslog.conf
    8. Log Management
    9. Log Anomaly Detector
    10. Sending logs from the shell
    LAB TASKS
    1. Using the systemd Journal
    2. Setting up a Full Debug Logfile
  5. MONITORING & TROUBLESHOOTING
    1. Viewing Processes
    2. System Status – Memory
    3. System Status – I/O
    4. System Status – CPU
    5. Performance Trending with sar
    6. Determining Service to Process Mapping
    7. Analyzing Process Memory Usage with pmap
    8. Real-time Monitoring of Resources — Cgroups
    9. strace and ltrace
    10. lsof and fuser
    11. ss/netstat and rpcinfo
    12. tcpdump and wireshark
    LAB TASKS
    1. Process Related Tools
    2. System Activity Reporter
    3. Cgroup for Processes
    4. Analyzing Memory Usage
  6. BENCHMARK TOOLS
    1. Benchmark Tools
    2. Disk/Filesystem Benchmarks
    3. Network Benchmarks
    4. Phoronix Test Suite
    LAB TASKS
    1. Benchmarking Disk and Filesystem
    2. Bonnie++ Visualization
  7. SYSTEMTAP
    1. SystemTap Overview
    2. SystemTap Features
    3. SystemTap Requirements
    4. Invoking SystemTap
    5. The 5 passes of stap
    6. SystemTap Probe Point Syntax
    7. SystemTap Probe Modes
    8. SystemTap Probe Points
    9. SystemTap process Probes
    10. Listing and Using Probe Points
    11. Built-in SystemTap Functionality
    12. SystemTap Example Repositories
    13. SystemTap Advanced Example
    14. SystemTap Documentation
    LAB TASKS
    1. System Tap Intro
    2. System Tap
    3. Creating SystemTap Scripts
    4. SystemTap One-liners & Histograms
  8. PERFORMANCE CO-PILOT
    1. Performance Co-Pilot Introduction
    2. PCP Architecture
    3. PCP Performance Metrics
    4. PCP Installation
    5. PCP Performance Monitoring
    6. PCP Centralized Logging
    7. PCP Inference Engine
    8. PCP Deployment Strategies
    9. PCP Advanced Topics
    LAB TASKS
    1. Performance Co-Pilot Introduction
    2. Live Monitoring with pmchart
    3. Install Web Monitoring Tools
  9. REMOTE METRIC GATHERING WITH SNMP
    1. SNMP Overview
    2. SNMP Operation - Query
    3. MIBs and OID Namespace
    4. SNMP Security
    5. SNMP for Linux
    LAB TASKS
    1. SNMP
  10. LINUX PERF
    1. perf Overview
    2. perf Commands Typical Workflow
    3. perf Events
    4. perf stat
    5. perf record
    6. perf report
    LAB TASKS
    1. Perf
  11. LINUX TUNABLES
    1. Operating System Tuning Caveats
    2. Consider OS (or Kernel) Upgrade
    3. Tuning CPU - NUMA
    4. Tuning CPU - Scheduling
    5. Huge Memory Pages
    6. Tuning Virtual Memory Manager
    7. Tuning Virtual Memory Manager (cont.)
    8. Dropping Caches
    9. I/O Scheduler
    10. Tuning Filesystems
    11. Tuning Filesystems (cont.)
    12. Network Tuning
    13. tuned

Linux Unix Uses & Stats

Linux Unix is Used For:
Desktop Mainframe Computers Mobile Devices Embedded Devices
Difficulty
Popularity
Year Created
1991/1971
Pros
Performance:
Linux supports many efficient tools and operates them seamlessly. Because it's architecture is lightweight it runs faster than both Windows 8.1 and 10. 
 
Security:
Because Linux is an open-source software,  anyone can contribute code to help enhance the users’ experience i.e., adding features, fixing bugs, reducing security risks, and more.
 
 
Software Development:
The terminal in Linux is a *wild card*. You can do almost anything with it. This includes software installation, application and server configurations, file system management, and etc.
 
Large-scale:
Open-source projects benefit from having an attentive community. As a result, Linux is more secure than Windows. Instead of installing anti viruses to clean malware, you just have to stick to the recommended repositories. 
 
Efficient: 
Developers have the convenience of running servers, training machine learning models, accessing remote machines, and compiling and running scripts from the same terminal window. 
 
Free: 
Linux is free (you can put it on as many systems as you like) and you can change it to suit your needs.
Cons
Learning Curve: 
Linux is not for everyone, there is a learning curve in switching to Ubuntu. To actually learn Linux efficiently would take a user one to several years.
 
No Tech Support:
Unlike Windows, there isn’t a dedicated tech support, so getting help for things is up to you. 
 
Designer Compatabilty:
Linux is not as user friendly as Windows or as ‘straight out of the box design’ As an example for design choices, Adobe hasn’t released any of its products to Linux users. So it’s impossible to run them directly. The Ubuntu alternative is a free software called GIMP. 
 
Gaming Capabilities: 
Most games aren’t available in Linux. But that’s not to say you can’t make it happen, it's just not as easy.   
Linux Unix Job Market
Average Salary
$85k-$105k
Job Count
n/a
Top Job Locations

New York City
Boston
San Francisco 

Complimentary Skills to have along with Linux Unix
The following are types of jobs that may require Linux skills.  The top 15 job titles on Dice.com that mention Linux in their postings are:
- DevOps Engineer
- Software Engineer
- Java Developer
- Systems Engineer
- Systems Administrator
- Senior Software Engineer
- Network Engineer
- Python Developer
- Linux Systems Administrator
- Software Developer
- System Administrator
- Linux Administrator
- Linux Engineer
- Senior Java Developer
- C++ Developer

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.