Skip to content
  • About
  • Contact
  • Docs
  • Features
  • Home

Configurations

5
  • Setup RAID Level 6
  • Setup RAID Level 5
  • How To Add Swap on RHEL or Centos based system
  • Website Migration to Non-Panel OpenLiteSpeed Server
  • Linux Server Performance Tuning

CyberPanel

9
  • Mounting /tmp on a Separate File
  • Updating CyberPanel Main VirtualHost Configuration
  • Updating CyberPanel vHosts Configuration
  • How to Change CLI PHP on CyberPanel
  • How to Update PHP Version to 8.1 in CyberPanel (From 7.3, 7.4, or 8.0)
  • CyberPanel Server Cleanup: Logs, Dumps, Backups
  • CyberPanel Full LSPHP Installation PHP 7.4 – 8.3
  • CyberPanel / OpenLiteSpeed: Clean LSPHP Session Files
  • SSL Certificate Management in CyberPanel via SSH

Hestia Control Panel

6
  • Fixing Email Bounce Back Issue in Hestia (Exim4 Blacklist Rejection)
  • Managing Fail2Ban in HestiaCP Server
  • Installing and Configuring PHP Versions in HestiaCP
  • phpMyAdmin Not Found in HestiaCP
  • Setting Up a Reverse Proxy for any Port in HestiaCP
  • How to Install Let’s Encrypt SSL in Hestia CP (Hostname, Admin Panel, and Email Server)

WHM/cPanel

6
  • Setting Up a Reverse Proxy on cPanel/WHM for Port 8081
  • How to increase the size of the cPanel-generated /tmp filesystem
  • Installing Old PHP Versions on a cPanel/WHM Server
  • Fixing “550: Your Country is Not Allowed to Connect to This Server” Error in Exim (cPanel)
  • Enable WP-CLI in CageFS on CloudLinux Servers (WHM/cPanel)
  • Securing /tmp and /var/tmp with a Dedicated Loopback Filesystem

Nagios

5
  • Service Checks
  • Uptime Checks
  • Disk Space Checks
  • Load Checks
  • Email Related Checks

WordPress

3
  • WordPress Core Reinstallation Guide
  • Managing WordPress Users via WP-CLI
  • Website Duplication, Migration, or Domain Change

Operating System

1
  • Server Reboot (RHEL or Centos based system)

AWS

1
  • How to Resize EBS Volumes on AWS

Databases

2
  • MySQL
    • Optimizing MySQL Performance
    • Recovering MySQL in Plesk When InnoDB Crashes

CloudLinux

4
  • Moving cagefs-skeleton directory
  • Enable WP-CLI in CageFS on CloudLinux Servers (WHM/cPanel)
  • Enable bc in CageFS on CloudLinux Servers(WHM/cPanel)
  • How to Upgrade MySQL 5.x to MySQL 8.0 on CloudLinux (WHM server) with MySQL Governor

Cloudflare

1
  • Configuring Security Headers in Cloudflare

ISPmanager

1
  • Install Free SSL (Let’s Encrypt) for domain.tld on ISPmanager with NGINX

Plesk

1
  • Plesk Admin Login Blocked – IP Restriction Recovery Guide

VPN

4
  • Install OpenVPN Open Source in Linux CentOS Ubuntu Debian Servers
  • Protected: OpenVPN Installation & Fix Wiki (CloudLinux / CentOS 7 & 8)
  • Outline VPN Installation & Management Guide
  • Installing AdGuard Home on Debian/Ubuntu (Docker)
View Categories
  • Home
  • Docs
  • Configurations
  • Linux Server Performance Tuning

Linux Server Performance Tuning

πŸš€ Linux Server Performance

Maximize throughput, concurrency & responsiveness for high-performance workloads


πŸ“– Overview

This guide focuses on performance tuning of AlmaLinux / RHEL / CentOS servers, optimized for:

  • 🧠 High-memory & high-CPU usage workloads (PHP, Nginx, MySQL, etc.)
  • 🌐 Optimized network throughput
  • βš™οΈ Better process and file handling
  • πŸ’» Server-side web applications or APIs

βš–οΈ 1. tuned: Dynamic Performance Profile

tuned is a system tuning daemon that adapts kernel and system settings automatically based on usage patterns.

🧰 Step-by-Step

πŸ“¦ Install tuned:

dnf install tuned -y

πŸš€ Enable and activate the best profile:

systemctl enable --now tuned
tuned-adm profile throughput-performance

πŸ“Š Verify the active profile:

tuned-adm active

πŸ” Other profiles:
Use tuned-adm list to view all available profiles like:

  • balanced (default)
  • latency-performance
  • throughput-performance βœ… (best for web/database servers)
  • network-latency, virtual-guest, etc.

βš™οΈ 2. Kernel Tweaks (/etc/sysctl.conf)

Tuning the kernel enhances file descriptors, network stack, and TCP behavior.

✍️ Add the following to /etc/sysctl.conf:

# πŸ”’ Max open files
fs.file-max = 2097152

# 🧡 Network queue & backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.ip_local_port_range = 1024 65000

# πŸ“‘ TCP tuning
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864

# πŸ“ˆ Window scaling & sync settings
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_syncookies = 1

# 🚫 Disable IPv6 (if unused)
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

βœ… Apply immediately:

sysctl -p

πŸ’‘ Tip: BBR congestion control improves latency and throughput significantly on modern kernels.


πŸ” 3. Security Limits (/etc/security/limits.conf)

Linux uses ulimit values to define how many files, processes, and memory a user can use.

✍️ Edit /etc/security/limits.conf:

# πŸ”“ File descriptor and process limits
* soft nofile 1048576
* hard nofile 1048576
* soft nproc 65535
* hard nproc 65535

# 🧠 Memory locking (disable swapping)
* soft memlock unlimited
* hard memlock unlimited

# πŸ‘€ Root user overrides
root soft nofile 1048576
root hard nofile 1048576

πŸ“ Optionally create or edit /etc/security/limits.d/99-custom.conf to make these changes persistent for all sessions.


πŸ§ͺ 4. Verify Limits & Current Settings

Use these commands to verify applied limits:

ulimit -n # πŸ” Max open files
ulimit -u # πŸ” Max user processes
ulimit -a # πŸ“œ View all current limits

βœ… Expected output (after reboot or re-login):

  • open files: 1048576
  • max user processes: 65535

πŸ“Œ Notes & Best Practices

πŸ”Ž Monitor your server regularly:

  • htop, top, glances – CPU/RAM/processes
  • iotop – Disk I/O
  • iftop, nload – Network usage
  • vmstat, iostat, netstat

🚩 Don’t over-tune blindly. Every server behaves differently based on its workload.

πŸ’‘ Combine these settings with optimized web server configs (e.g., Nginx, PHP-FPM, MariaDB).

πŸ—“οΈ Reboot your server after applying these changes to fully activate all system-level tweaks.

Website Migration to Non-Panel OpenLiteSpeed ServerSetup RAID Level 6
Table of Contents
  • πŸš€ Linux Server Performance
    • πŸ“– Overview
    • βš–οΈ 1. tuned: Dynamic Performance Profile
      • 🧰 Step-by-Step
    • βš™οΈ 2. Kernel Tweaks (/etc/sysctl.conf)
      • ✍️ Add the following to /etc/sysctl.conf:
    • πŸ” 3. Security Limits (/etc/security/limits.conf)
      • ✍️ Edit /etc/security/limits.conf:
    • πŸ§ͺ 4. Verify Limits & Current Settings
    • πŸ“Œ Notes & Best Practices

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest

Was it helpful ?

  • Happy
  • Normal
  • Sad
  • About
  • Contact
  • Docs
  • Features
  • Home

© 2026 Panel Web Hosting

  • About
  • Contact
  • Docs
  • Features
  • Home