📑 Daftar Isi
- Pendahuluan
- Gejala — Apa yang Terjadi?
- Root Cause — Kenapa Slot Bisa Habis?
- Cara Mendeteksi Domain Penyebab — Script Analisis rtreport
- Langkah 1: Lihat Top 15 Domain dengan Request Tertinggi
- Langkah 2: Cek Detail Domain Mencurigakan
- Langkah 3: Cek Real-Time Connections per VHost
- Solusi — Mengatasi Slot Penuh di LiteSpeed
- Solusi 1: Tambah Slot untuk VHost yang Butuh
- Solusi 2: Batasi Crawler yang Terlalu Agresif
- Solusi 3: Optimasi Plugin WordPress
- Solusi 4: Aktifkan LSCache
- Pro Tips & Warnings
- FAQ
- Q: Berapa default MaxConnections di LiteSpeed?
- Q: Apakah saya harus restart LiteSpeed setiap kali ubah config?
- Q: Bedanya rtreport LiteSpeed dengan Apache server-status?
- Q: Bagaimana cara tahu jika slot sudah normal kembali?
- Kesimpulan
Pendahuluan
Suatu hari saya dapat WhatsApp dari client hosting — bukan email formal, tapi WhatsApp langsung. Jam 3 sore, waktu yang biasanya load server masih stabil. Pesannya singkat: “Mas, website saya kok lambat banget? Padahal tadi pagi masih oke.”
Saya cek monitoring — load average masih 3, CPU under 40%. Website client itu sendiri bisa diakses dari browser saya. Tapi keluhan terus berdatangan. Dua client lain juga lapor hal sama.
Ini tipe masalah yang paling bikin penasaran: tidak ada error di log, tidak ada crash, tapi user merasakan lambat. Dan biasanya, kalau bukan resource server yang habis, ini masalah slot webserver.
Sebagai NOC engineer yang sudah bertahun-tahun handle shared hosting, saya bisa bilang: masalah slot ini salah satu yang paling sering muncul tapi paling jarang dipahami oleh admin baru. Karena beda dengan Apache yang slot-nya relatif statis, LiteSpeed punya cara kerja slot yang sedikit berbeda — dan kalau tidak tahu cara deteksinya, kita bisa habis waktu berjam-jam tanpa ketemu root cause-nya.
Gejala — Apa yang Terjadi?
Gejala slot webserver LiteSpeed penuh itu khas:
- Website beberapa domain lambat, tapi website lain normal
- Load server tidak tinggi-tinggi amat, tapi ada yang stuck
- Kadang muncul 503 Service Temporarily Unavailable atau 502 Bad Gateway di browser
- Error log LiteSpeed ada baris seperti ini:
[NOTICE] No request delivery process has been triggered, and no lscuid was found for UID 99
[LSCACHE] Cache is not enabled for this request, no handler found
Yang paling jelas: satu atau dua domain tiba-tiba makan banyak request, dan slot yang tersedia untuk domain lain jadi kehabisan. LiteSpeed memang pakai sistem slot — setiap VHost punya batas koneksi simultan. Kalau satu VHost makan slot terlalu banyak, domain lain yang satu server jadi kena imbas. (Konsep ini mirip dengan masalah Apache slot yang pernah saya bahas sebelumnya — baca juga: Cara Mengatasi Apache Slot Penuh 503)
Pernah suatu kali saya habis 2 jam cek resource, cek log, restart PHP-FPM — ternyata bukan PHP yang bermasalah. Ternyata satu domain saja yang makan 80% slot server. Begitu domain itu di-throttle, semua website lain langsung normal kembali.
Root Cause — Kenapa Slot Bisa Habis?
LiteSpeed Enterprise membagi slot per VirtualHost. Default-nya, setiap VHost mendapat jatah slot berdasarkan MaxConnections di config. Tapi ada beberapa situasi yang bikin slot cepat habis:
- Bot/Crawler yang agresif — Googlebot, Ahrefs, SEMrush — kalau satu domain punya banyak halaman dan crawler-nya rajin, bisa makan ratusan slot dalam hitungan detik
- Website dengan banyak AJAX/API calls — aplikasi e-commerce atau aplikasi yang sering fetch data via API
- Plugin WordPress yang tidak dioptimasi — ada plugin yang bikin 10+ request sekaligus setiap kali ada visit
- Attack/DDoS skala kecil — bukan serangan besar, tapi cukup untuk menghabiskan slot satu domain
- Konfigurasi MaxConnections yang terlalu kecil — LiteSpeed default kadang tidak cukup untuk server dengan banyak tenant
Cara Mendeteksi Domain Penyebab — Script Analisis rtreport
File /tmp/lshttpd/.rtreport adalah real-time report dari LiteSpeed. File ini mencatat statistik request per VirtualHost secara periodik. Dari sinilah kita bisa lihat domain mana yang paling banyak makan request.
Langkah 1: Lihat Top 15 Domain dengan Request Tertinggi
Jalankan script berikut:
grep 'REQ_RATE [APVH_' /tmp/lshttpd/.rtreport
| awk -F'[][]' '{print $2}'
| awk '{print $1}'
| sort | uniq
| while read domain; do
grep "REQ_RATE [$domain" /tmp/lshttpd/.rtreport
| tail -n1
| awk -v d="$domain"
'{for(i=1;i<=NF;i++) if($i=="TOT_REQS:") print $(i+1) "t" d}'
done
| sort -nr
| head -n 15
Jangan langsung panik lihat angkanya. Ini contoh output yang biasanya kita lihat di server normal:
48372 APVH_example.com:80
12845 APVH_client-bajakan.net:80
8723 APVH_blog-klien.co.id:80
6541 APVH_toko-online.id:80
3290 APVH_portfolio-personal.me:80
2100 APVH_landingpage-baru.com:80
1800 APVH_web-static.org:80
1200 APVH_cpanel.subdomain.com:80
890 APVH_api-mobile.app:80
450 APVH_testing-staging.dev:80
230 APVH_www:80
120 APVH_localhost:80
80 APVH_ancient-site.com:80
30 APVH_parked-domain.info:80
5 APVH_default:80
Cara baca:
- Angka pertama adalah total requests — semua request yang masuk ke domain itu sejak catatan dimulai
- Domain di posisi atas dengan gap jauh dari yang lain → ini kemungkinan besar penyebab masalah
- Dalam contoh di atas,
example.commakan 48 ribu request — hampir 4x lipat dari domain kedua. Ini domain yang perlu dicek lebih dalam - Perhatikan domain dengan angka kecil — mereka adalah korban. Slot mereka diambil oleh domain besar
Langkah 2: Cek Detail Domain Mencurigakan
Setelah tahu domain yang makan banyak request, cek statistik detail-nya:
grep "REQ_RATE [APVH_example.com:80]" /tmp/lshttpd/.rtreport | tail -n5
Contoh output:
REQ_RATE [APVH_example.com:80] TIME: [19/Jul/2026:14:32:01 +0700]
REQ_RATE: REQ_PER_SEC: 245 TOT_REQS: 48372
TOT_BYTES_OUT: 1.2GB TOT_BYTES_IN: 234MB
AVG_RESP_SIZE: 26.3KB
REQ_RATE [APVH_example.com:80] TIME: [19/Jul/2026:14:33:01 +0700]
REQ_RATE: REQ_PER_SEC: 261 TOT_REQS: 48633
TOT_BYTES_OUT: 1.2GB TOT_BYTES_IN: 236MB
AVG_RESP_SIZE: 25.9KB
Yang perlu diperhatikan:
REQ_PER_SEC— Jika konsisten di atas 200, ini domain aktif sekali atau sedang dicrawl beratTOT_BYTES_OUT— Jika output sangat besar, ada file static yang sering diakses (bisa jadi hotlinking)AVG_RESP_SIZE— Jika terlalu kecil, banyak request kecil-kecil bertubi-tubi (bisa jadi API flood atau AJAX storm)
Langkah 3: Cek Real-Time Connections per VHost
Selain rtreport, kita juga bisa cek slot yang sedang aktif dipakai saat ini:
# Cek dari LiteSpeed WebAdmin (port 7080)
curl -s http://127.0.0.1:7080/status 2>/dev/null | head -20
Atau cek dari process list untuk tahu berapa banyak koneksi aktif per domain:
# Lihat semua koneksi LiteSpeed yang aktif
netstat -tnp | grep lshttpd | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20
Output ini menunjukkan IP mana yang paling banyak koneksi. Kalau IP-nya hanya satu atau dua, kemungkinan besar ini bot atau crawler — bukan user biasa. Kalau load server tinggi dan slot sudah normal tapi masih lambat, bisa jadi masalah database — baca juga: Troubleshoot Database Load Tinggi di MariaDB.
Solusi — Mengatasi Slot Penuh di LiteSpeed
Solusi 1: Tambah Slot untuk VHost yang Butuh
Edit config VHost — biasanya di /usr/local/lsws/conf/vhosts/ atau via WHM:
# /usr/local/lsws/conf/vhosts/EXAMPLE_com.conf
virtualHost {
...
tuning {
maxConnections 100
maxSSLConnections 100
connTimeout 300
keepAliveTimeout 5
}
}
Tambahkan maxConnections untuk domain yang memang butuh banyak koneksi. Restart LiteSpeed dengan aman:
/usr/local/lsws/bin/lswsctrl graceful
Solusi 2: Batasi Crawler yang Terlalu Agresif
Ada domain yang makan banyak request gara-gara crawler rajin? Tambahkan rules:
# Batasi crawl rate untuk bot tertentu via .htaccess
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|SEMrushBot|MJ12bot) [NC]
RewriteRule .* - [R=429,L]
Atau lebih halus — pakai robots.txt di domain yang bermasalah. Yang penting, jangan langsung block Googlebot karena bisa bikin ranking SEO domain client turun.
Solusi 3: Optimasi Plugin WordPress
Banyak slot terpakai gara-gara plugin? Cek dari WP-CLI:
# Via WP-CLI — lihat jumlah hooks per page load
wp eval 'global $wp_actions; echo "Total hooks: " . $wp_actions . "n";'
Jika angkanya di atas 500, ada plugin yang terlalu aktif. Nonaktifkan satu per satu sambil cek slot usage. Dari pengalaman saya, plugin paling sering bikin masalah: WooCommerce yang belum di-cache, plugin analytics yang fire setiap request, dan plugin social share yang load JS setiap halaman. Jika masalahnya bukan plugin tapi space disk, baca juga: Cara Mendeteksi File Terhapus di Linux
Solusi 4: Aktifkan LSCache
Cache yang baik berarti lebih sedikit request PHP, lebih sedikit slot terpakai:
# Aktifkan LSCache via config
virtualHost {
...
module cache {
enable 1
}
}
Atau via WHM → LiteSpeed Web Server → Cache Manager → Enable. Untuk WordPress, pastikan juga pasang plugin LSCache di WordPress-nya.
Pro Tips & Warnings
Sebelum restart LiteSpeed di server production, pastikan:
- Semua website yang aktif sudah Anda konfirmasi status-nya
- Tidak ada deployment atau update yang sedang berjalan
- Backup config
/usr/local/lsws/conf/sebelum edit - Gunakan
lswsctrl gracefuljika memungkinkan — ini lebih aman darirestartkarena menunggu koneksi selesai dulu
- Cek slot setiap 30 menit secara rutin — jangan hanya saat ada keluhan. Buat cron job untuk log rtreport, sehingga ada data historis saat masalah datang
- Jangan langsung tambah slot tanpa investigasi — kalau satu domain makan 40rb request, menambah slot tanpa fix domain itu hanya menunda masalah ke hari berikutnya
- LiteSpeed Enterprise vs OpenLiteSpeed — fitur rtreport ini ada di LiteSpeed Enterprise. OpenLiteSpeed punya fitur serupa tapi nama file dan path-nya berbeda
- Pakai
lswsctrl statusuntuk cek apakah LiteSpeed masih running, jangan langsung restart tanpa cek kondisi saat ini - Monitor secara berkala — slot bisa berubah seiring waktu. Website yang sekarang normal bisa tiba-tiba banyak request karena kampanye marketing atau viral content
FAQ
Q: Berapa default MaxConnections di LiteSpeed?
Default-nya 100 per VHost untuk HTTP dan 100 untuk HTTPS. Tapi ini bisa berbeda tergantung lisensi — LiteSpeed Enterprise ada beberapa tier dengan limit berbeda. Untuk shared hosting, biasanya di-set 50-150 tergantung spesifikasi server.
Q: Apakah saya harus restart LiteSpeed setiap kali ubah config?
Untuk perubahan config VHost, gunakan lswsctrl graceful — ini reload config tanpa memutus koneksi aktif. Hanya gunakan lswsctrl restart untuk perubahan besar atau saat tidak ada cara lain. Restart akan memutus semua koneksi aktif, jadi hindari di jam sibuk.
Q: Bedanya rtreport LiteSpeed dengan Apache server-status?
Apache server-status menampilkan satu snapshot saat diakses. LiteSpeed rtreport adalah file log yang terus di-update dengan statistik per VHost. Kelebihan rtreport: kita bisa lihat history dan trend, bukan hanya kondisi saat ini. Tapi file ini bisa besar kalau server banyak VHost — biasanya rotate otomatis setiap beberapa jam.
Q: Bagaimana cara tahu jika slot sudah normal kembali?
Jalankan ulang script deteksi di atas. Jika gap antara domain paling aktif dan domain lain tidak terlalu jauh — misalnya max 3x lipat dari rata-rata — dan tidak ada user yang komplain, kemungkinan slot sudah stabil. Yang lebih penting: cek apakah keluhan user sudah hilang.
Kesimpulan
Masalah slot webserver LiteSpeed itu tricky karena tidak selalu disertai error yang jelas. Tapi dengan file /tmp/lshttpd/.rtreport dan script deteksi yang tepat, kita bisa cepat tahu domain mana yang menjadi penyebab.
Pelajaran dari pengalaman saya: jangan pernah asal tambah slot tanpa investigasi. Lebih baik fix domain yang bermasalah — optimasi plugin, batasi crawler, atau bahkan suspend kalau memang abuse — daripada menambah slot tanpa batas. Karena di shared hosting, satu domain bisa bikin ratusan domain lain kena imbas.
Jadi kalau besok dapat keluhan "website lambat" lagi — jangan langsung cek PHP atau MySQL dulu. Mulai dari slot. Bisa jadi itu jawabannya.
Author: NOC Engineer — ditulis berdasarkan pengalaman menangani slot LiteSpeed di shared hosting production.