Jakhoster.blog

Edukasi 10 Jun 2026

Menghadapi Tantangan High Traffic: Strategi Optimasi pada Sistem Operasi Linux Mempunyai Dua Jenis dalam Lingkungan Produksi

Menghadapi Tantangan High Traffic: Strategi Optimasi pada Sistem Operasi Linux Mempunyai Dua Jenis dalam Lingkungan Produksi
Advertisement

Pengantar Masalah Traffic Tinggi pada Sistem Operasi Linux

Pada suatu pagi yang cerah, server di kantor kami mendadak mengalami lonjakan traffic yang tak terduga. Website yang biasanya stabil, tiba-tiba melambat dengan loading time yang meningkat tajam. Saat itu, saya tahu bahwa waktu untuk bertindak telah tiba – kami harus segera mengoptimalkan sistem operasi Linux kami yang mempunyai dua jenis: Ubuntu untuk aplikasi web dan Almalinux untuk database. Dalam artikel ini, saya akan berbagi langkah-langkah praktis untuk mengatasi masalah ini dan memastikan bahwa sistem kami tetap dapat menangani beban yang meningkat.

Mengidentifikasi Jenis Sistem Operasi

Sebagai catatan, sistem operasi Linux mempunyai dua jenis utama: distribusi berbasis Debian dan Red Hat. Penggunaan kedua jenis ini sering kita temui dalam lingkungan produksi. Dalam kasus kami, kami menggunakan: Dalam situasi kritis ini, pemahaman tentang langkah-langkah yang tepat untuk mengatasi masalah ini sejalan dengan prinsip-prinsip yang terdapat dalam Optimalisasi Kinerja Keunggulan Linux: Kasus Nyata Pengelolaan Server Web di Apache dan Nginx.

  • Ubuntu: Untuk server web yang menjalankan Nginx dan PHP-FPM.
  • Almalinux: Untuk server database yang menjalankan MariaDB.

Dengan kombinasi ini, kami harus memastikan bahwa baik server web maupun database mampu berkomunikasi secara efisien, terutama ketika menghadapi traffic tinggi.

Advertisement

Menyusun Strategi Optimasi untuk Server Web Ubuntu

Langkah pertama yang kami ambil adalah mengoptimalkan server web berbasis Ubuntu. Ada beberapa aspek yang perlu diperhatikan:

1. Mengkonfigurasi Nginx untuk Kinerja Optimal

Nginx adalah server web yang efisien dan dapat menangani ribuan koneksi secara bersamaan.

server {
    listen 80;
    server_name domainanda.com;
    root /var/www/html;

    location / {
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Dalam konfigurasi di atas, kami memastikan:

  • listen 80: Server mendengarkan pada port 80 untuk HTTP.
  • try_files: Jika file tidak ditemukan, Nginx akan meneruskan permintaan ke index.php, yang sangat penting untuk aplikasi berbasis PHP.
  • fastcgi_pass: Menghubungkan Nginx dengan PHP-FPM melalui socket Unix untuk performa optimal.

2. Mengaktifkan Caching untuk Meningkatkan Performa

Caching adalah salah satu teknik paling efektif untuk mengurangi beban server. Menggunakan FastCGI Cache di Nginx, kami bisa menyimpan salinan halaman HTML untuk menghindari pengolahan PHP yang berulang.

location ~ \.php$ {
    # ...
    fastcgi_cache my_cache;
    fastcgi_cache_valid 200 30s;
}

Metode ini mempercepat waktu respon server dan membantu mengurangi penggunaan CPU saat traffic tinggi.

3. Optimalisasi PHP-FPM

PHP-FPM adalah pengelola proses PHP yang canggih. Mengoptimalkan konfigurasi PHP-FPM sangat penting dalam skenario traffic tinggi:

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10

Penjelasan dari parameter ini:

  • pm: Menentukan mode manajemen proses. Kami menggunakan dynamic untuk menyesuaikan dengan beban.
  • pm.max_children: Jumlah maksimum proses PHP yang dapat berjalan secara bersamaan. Pastikan ini disesuaikan dengan jumlah RAM yang tersedia.
  • pm.start_servers, pm.min_spare_servers, dan pm.max_spare_servers: Mengontrol berapa banyak server yang harus dimulai dan disimpan agar siap menangani traffic yang tiba-tiba meningkat.

Optimalisasi Server Database Almalinux

Setelah mengoptimalkan server web, langkah berikutnya adalah mengoptimalkan server database yang berjalan di Almalinux. MariaDB adalah database yang kami gunakan, dan

1. Mengkonfigurasi MariaDB untuk Kinerja Tinggi

Kami memulai dengan mengubah beberapa parameter di file konfigurasi MariaDB yang terletak di ‘/etc/my.cnf.d/50-server.cnf’.

[mysqld]
bind-address = 0.0.0.0
max_connections = 200
query_cache_size = 64M
query_cache_type = 1
innodb_buffer_pool_size = 1G

Penjelasan parameter:

  • bind-address: Mengatur alamat yang akan diikat oleh server database. Dengan menggunakan 0.0.0.0, server dapat diakses dari semua alamat.
  • max_connections: Menentukan jumlah maksimum koneksi yang dapat dibuka bersamaan, sesuaikan dengan beban pengguna.
  • query_cache_size: Mengatur ukuran cache untuk menyimpan hasil query yang sering diulang.
  • innodb_buffer_pool_size: Merupakan bagian terpenting dari MariaDB yang menangani caching dan pemrosesan query. Pastikan ini cukup besar untuk memuat data yang sering diakses.

2. Monitoring dan Pemeliharaan

Setelah semua pengaturan dioptimalkan, penting untuk melakukan pemantauan secara berkala. Kami menggunakan Netdata untuk memantau performa server dan mengidentifikasi bottlenecks. Dengan Netdata, kami bisa mengetahui penggunaan CPU, RAM, dan I/O dengan visualisasi yang jelas.

apt install netdata
systemctl start netdata
systemctl enable netdata

Perintah di atas menginstal dan memulai layanan Netdata agar dapat berjalan otomatis saat booting. Dengan pemantauan ini, kami bisa mengambil tindakan proaktif terhadap potensi masalah.

3. Backup dan Rencana Pemulihan

Penting untuk memiliki rencana cadangan. Kami menggunakan rsync untuk mencadangkan data penting dari server database.

rsync -avz /var/lib/mysql/ backup@remote-server:/path/to/backup/

Dengan perintah di atas, kami bisa melakukan sinkronisasi data ke server remote secara efisien.

Kesimpulan

Optimasi sistem operasi Linux yang mempunyai dua jenis di lingkungan produksi bisa menjadi tantangan, terutama saat menghadapi traffic yang tinggi. Dengan melakukan pengaturan yang tepat pada Nginx, PHP-FPM, dan MariaDB, ditambah dengan pemantauan yang baik serta rencana cadangan yang solid, kami dapat memastikan performa yang optimal dan uptime yang tinggi untuk layanan kami. Setiap langkah yang diambil harus disesuaikan dengan infrastruktur dan beban kerja spesifik, serta melakukan penyesuaian berkelanjutan untuk memenuhi kebutuhan yang selalu berubah.

Rekomendasi Sponsor