Episode ini membahas tuning performa Rocky Linux: profil tuned untuk workload berbeda, penyesuaian parameter kernel via sysctl, resource control systemd dengan cgroups v2, dan analisis waktu boot dengan systemd-analyze.

Di episode 16 sebelumnya kalian sudah mengamankan komunikasi dengan TLS. Sekarang saatnya memastikan server kalian bekerja seefisien mungkin. Performance tuning bukan tentang overclocking, melainkan tentang mencocokkan perilaku sistem operasi dengan karakter workload: server database butuh setting berbeda dari server file atau aplikasi web. Rocky Linux menyediakan alat yang membuat tuning lebih terstruktur: tuned untuk profil workload, sysctl untuk parameter kernel, dan systemd resource control dengan cgroups v2 untuk membatasi resource per layanan.
tuned adalah daemon yang mengelompokkan pengaturan performa ke dalam profil — satu set parameter kernel yang disesuaikan untuk jenis workload tertentu. Daripada mengubah sepuluh sysctl satu per satu, kalian cukup memilih profil yang sesuai.
systemctl status tunedtuned-adm listtuned-adm activetuned-adm profile throughput-performancetuned-adm recommendBeberapa profil yang umum: throughput-performance untuk server yang mengutamakan throughput, latency-performance untuk workload yang sensitif terhadap latensi, dan virtual-guest untuk VM — profile yang sudah dipilih otomatis di banyak instalasi cloud.
Info
tuned-adm recommend menampilkan profil yang paling cocok untuk hardware kalian. Gunakan sebagai titik awal, lalu sesuaikan — profiling bukan dogma, melainkan titik tolak yang diuji dan disempurnakan.
Untuk kebutuhan spesifik, buat profil sendiri di /etc/tuned/:
mkdir -p /etc/tuned/myworkload
cat > /etc/tuned/myworkload/tuned.conf <<'EOF'
[main]
include=throughput-performance
[sysctl]
vm.swappiness=10
net.core.somaxconn=65535
EOFtuned-adm profile myworkloadProfil kustom mewarisi profil dasar (include) lalu menimpanya dengan pengaturan spesifik.
sysctl vm.swappiness
sysctl fs.file-maxsysctl -w vm.swappiness=10vm.swappiness mengontrol kecenderungan kernel menggunakan swap. Nilai rendah (10) menjaga aplikasi tetap di RAM; nilai tinggi berguna untuk sistem yang sengaja memakai swap. fs.file-max membatasi jumlah file descriptor global — sering dinaikkan untuk server dengan banyak koneksi.
Selain sysctl runtime, parameter kernel bisa diteruskan saat boot. Tambahkan lewat grubby yang kalian kenali di episode 10:
grubby --update-kernel=ALL --args="sysrq_always_enabled=1"grubby --update-kernel=ALL --remove-args="sysrq_always_enabled=1"Perubahan baru berlaku setelah reboot — bedanya dengan sysctl yang langsung efektif.
Ingat pola dari episode 10: perubahan sysctl ditulis ke /etc/sysctl.d/ agar bertahan:
echo 'vm.swappiness = 10' > /etc/sysctl.d/99-tuning.conf
sysctl --systemcgroups v2 adalah mekanisme kernel untuk membagi dan membatasi resource (CPU, memory, IO) per kelompok proses. Systemd mengintegrasikan cgroups secara native — setiap unit service secara otomatis menjadi anggota cgroup.
systemctl status httpdsystemctl show -p MemoryCurrent -p CPUUsageNS httpdSystemd menyediakan direktif resource control langsung di unit file atau override:
systemctl edit httpd[Service]
CPUQuota=50%
MemoryMax=512M
IOWeight=200systemctl daemon-reload
systemctl restart httpdCPUQuota=50% — service maksimal memakai satu core penuh dari dua core.MemoryMax=512M — batas memori keras; jika dilampaui, proses di-kill.IOWeight=200 — prioritas I/O relatif terhadap service lain.Kombinasi ini melindungi server: satu aplikasi yang tidak terkendali tidak akan menghabiskan resource seluruh sistem.
Untuk layanan penting, gunakan MemoryLow — jaminan memori yang tidak akan direbut proses lain:
systemctl edit sshd[Service]
MemoryLow=64MLayanan dengan MemoryLow dijamin tetap mendapat memori bahkan saat sistem tertekan — pertahanan terakhir untuk SSH agar tidak ikut mati.
systemd-analyzesystemd-analyze blamesystemd-analyze blame menampilkan unit yang paling lambat memulai boot — titik awal untuk mempercepat waktu nyala server.
systemd-analyze critical-chainsystemd-analyze critical-chain multi-user.targetOutput ini menunjukkan unit mana yang paling memperlambat pencapaian target tertentu — berguna saat mengoptimalkan urutan start layanan.
Di episode 17 ini kalian sudah menguasai performance tuning Rocky Linux: profil tuned untuk workload yang berbeda, penyesuaian parameter kernel dengan sysctl dan parameter boot via grubby, resource control systemd dengan cgroups v2 melalui CPUQuota, MemoryMax, dan IOWeight, serta analisis waktu boot dengan systemd-analyze.
Inti yang harus dibawa pulang:
vm.swappiness dan fs.file-max adalah parameter sysctl yang paling sering diubah./etc/sysctl.d/ agar bertahan setelah reboot.systemd-analyze blame dan critical-chain membantu menemukan hambatan boot.Di episode 18 selanjutnya kita akan membahas bootable containers (bootc) dan image mode — konsep sistem operasi sebagai container image, perintah bootc switch, atomic updates, serta pembangunan image OS kustom dengan bootc-image-builder. Kalian sudah menguasai server statis; sekarang giliran sistem yang bisa di-image dan di-deploy seperti container!