// dedicated servers

How to Optimize a Dedicated Linux Server Performance: Practical Guide for Administrators

August 07, 2026 · by CLIQHOST

How to Optimize a Dedicated Linux Server Performance: Practical Guide for Administrators

A dedicated server gives you exclusive access to hardware resources — no noisy neighbours, no resource contention. But raw hardware power alone doesn't guarantee peak performance. The real gains come from properly tuning the Linux operating system. This guide walks you through concrete, tested steps to unlock the full potential of your server.

Why Does Dedicated Server Optimization Matter?

A default Linux installation is configured for broad compatibility, not maximum throughput. Without tuning, even a high-end server can suffer from:

  • High network latency due to conservative TCP stack defaults
  • Excessive swap usage even when plenty of RAM is available
  • Slow disk I/O caused by an inappropriate scheduler
  • Dropped connections under heavy traffic load

The techniques below apply to all major distributions: Ubuntu, Debian, CentOS/AlmaLinux.

1. Keep the System and Kernel Up to Date

Newer kernel versions include performance improvements and security patches that directly affect server stability and speed.

# Ubuntu / Debian
sudo apt update && sudo apt full-upgrade -y

# AlmaLinux / CentOS
sudo dnf update -y

Verify the running kernel version:

uname -r

On a managed dedicated server, CLIQHOST's team handles updates and patching, so you can focus entirely on your applications.

2. Kernel Tuning with sysctl

The /etc/sysctl.conf file lets you modify kernel parameters at runtime without recompilation. Here's a battle-tested configuration for production servers:

sudo nano /etc/sysctl.conf
# Network — increase TCP buffer sizes
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728

# Enable TCP BBR congestion control
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

# Reduce TIME_WAIT connection recycling time
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1

# Increase maximum open file descriptors
fs.file-max = 2097152

# Virtual memory tuning
vm.swappiness = 10
vm.dirty_ratio = 15
vm.dirty_background_ratio = 5

Apply changes immediately without a reboot:

sudo sysctl -p

Pro tip: Setting vm.swappiness = 10 tells the kernel to strongly prefer RAM and only use swap as a last resort — ideal for servers with ample memory.

3. Choosing the Right I/O Scheduler

The disk I/O scheduler has a major impact on throughput, especially on modern storage. For Intel-powered dedicated servers with NVMe drives, the none scheduler eliminates unnecessary overhead.

Check the current scheduler:

cat /sys/block/sda/queue/scheduler

Set none for NVMe devices:

echo none | sudo tee /sys/block/nvme0n1/queue/scheduler

To persist the setting across reboots, create a udev rule:

sudo nano /etc/udev/rules.d/60-ioscheduler.rules
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"

4. System Limits (ulimits)

High-traffic applications like Nginx, MySQL, and Redis require elevated limits for open files and processes. Edit /etc/security/limits.conf:

* soft nofile 1048576
* hard nofile 1048576
* soft nproc 65535
* hard nproc 65535

For systemd-managed services, add limits directly to the unit file:

[Service]
LimitNOFILE=1048576
LimitNPROC=65535

5. Memory Optimization: Huge Pages and NUMA

On servers with ≥ 64 GB RAM, Transparent Huge Pages (THP) management can significantly affect database performance.

Check current THP status:

cat /sys/kernel/mm/transparent_hugepage/enabled

For MySQL and PostgreSQL, disable THP — these databases manage their own memory allocation:

echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag

On NUMA systems (multi-socket servers), bind critical processes to specific nodes:

numactl --cpunodebind=0 --membind=0 /usr/bin/mysqld

6. Nginx Tuning for High Traffic

If Nginx serves traffic on your dedicated server, these nginx.conf adjustments can dramatically increase throughput — fully applicable on unmanaged dedicated servers where you have root-level control:

worker_processes auto;          # Auto-detect CPU cores
worker_rlimit_nofile 1048576;

events {
    worker_connections 65535;
    use epoll;
    multi_accept on;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 30;
    keepalive_requests 1000;
    gzip on;
    gzip_comp_level 5;
    gzip_types text/plain text/css application/json application/javascript;
}

7. Continuous Monitoring — The Foundation of Optimization

Optimization without measurement is guesswork. Use these tools to validate the impact of every change:

Tool Purpose
htop Real-time CPU, RAM, process view
iostat -xz 1 Per-disk I/O statistics
ss -s TCP/UDP connection summary
vmstat 1 Virtual memory activity
sar -n DEV 1 Network traffic per interface

Install sysstat to enable iostat and sar:

sudo apt install sysstat -y   # Debian/Ubuntu
sudo dnf install sysstat -y   # AlmaLinux

For advanced monitoring with alerting, Netdata or Prometheus + Grafana can be deployed in minutes. If you'd rather delegate this responsibility, CLIQHOST server management services include proactive monitoring and incident response.

8. Audit Startup Services

Services that launch at boot consume resources even when idle. List all running services:

systemctl list-units --type=service --state=running

Disable unnecessary ones (e.g., bluetooth, avahi-daemon on headless servers):

sudo systemctl disable --now bluetooth.service
sudo systemctl disable --now avahi-daemon.service

9. TLS Optimization: Security Without Speed Penalty

A correctly configured SSL/TLS setup adds minimal overhead. Enable TLS 1.3 and OCSP Stapling in Nginx:

ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_stapling on;
ssl_stapling_verify on;

For trusted certificates with technical support, check out the SSL certificates available at CLIQHOST.

Conclusion

Optimizing a dedicated Linux server is an ongoing process, not a one-time task. By combining kernel tuning, the right I/O scheduler, proper system limits, and continuous monitoring, you can extract significantly more performance from the same hardware.

Ready to get started on a solid foundation? Explore the full range of dedicated servers at CLIQHOST — from Intel to fully managed configurations — or reach out via our contact page for a tailored recommendation.

SHARE
// what clients say

What Our Clients Say

Real reviews from customers who trust CLIQHOST for performance, reliability and expert technical support.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău