Saturday, November 18

Troubleshoot: slow squid, All redirector processes are busy

Suatu hari ketika troubleshooting jaringan di kantor, saya mendapat symptoms berikut:

  1. user merasa lambat ketika browsing
  2. saya mendapat warning pada cache.log squid:
    2012/04/26 08:32:38| WARNING: All redirector processes are busy.
    2012/04/26 08:32:38| WARNING: 5 pending requests queued
    2012/04/26 08:37:37| WARNING: All redirector processes are busy.
    2012/04/26 08:37:37| WARNING: 5 pending requests queued
    2012/04/26 08:39:24| WARNING: All redirector processes are busy.
    2012/04/26 08:39:24| WARNING: 5 pending requests queued
    2012/04/26 08:48:50| WARNING: redirector #5 (FD 15) exited
    2012/04/26 08:48:50| WARNING: redirector #1 (FD 7) exited
    2012/04/26 08:48:50| WARNING: redirector #4 (FD 13) exited
    2012/04/26 08:48:50| WARNING: redirector #2 (FD 9) exited
    2012/04/26 08:48:50| WARNING: redirector #3 (FD 11) exited
    2012/04/26 08:49:44| WARNING: All redirector processes are busy.
    2012/04/26 08:49:44| WARNING: 5 pending requests queued
    2012/04/26 08:52:56| WARNING: All redirector processes are busy.
    2012/04/26 08:52:56| WARNING: 5 pending requests queued
    2012/04/26 09:00:07| WARNING: redirector #4 (FD 13) exited
    2012/04/26 09:00:07| WARNING: redirector #2 (FD 9) exited
    2012/04/26 09:00:07| WARNING: redirector #3 (FD 11) exited
    2012/04/26 09:00:07| WARNING: redirector #5 (FD 15) exited
    2012/04/26 09:00:07| WARNING: redirector #1 (FD 7) exited
    2012/04/26 09:00:59| WARNING: All redirector processes are busy.
    2012/04/26 09:00:59| WARNING: 5 pending requests queued
    2012/04/26 09:04:33| WARNING: All redirector processes are busy.

analisis:

dari log diatas, terlihat bahwa ada masalah dengan redirector yang digunakan di squid. contoh redirector: squidguard, squidclamav, squirm, dnsbl_redir, adzapper, dll. ketika squid menghandle koneksi user, sebuah redirector akan diassign untuk melayani user tersebut. nah jika user yang mengakses banyak sekali dimana tidak sebanding dengan jumlah redirector yang tersedia, maka koneksi tersebut akan diantrikan dulu. jika koneksinya masih diantrikan, maka halaman yang diakses user tidak akan muncul. sehingga inilah yang membuat internet terkesan lambat.

dari log diatas, terlihat bahwa semua redirector proses statusnya sibuk (melayani request), sehingga proses yang datang kemudian akan masuk antrian.

proposed solution

secara default, squid hanya membuat 5 proses untuk redirector. jadi pada saat yang bersamaan hanya dapat melayani 5 request. nah ternyata, user yang online jauh lebih banyak dari itu, dan pantesan aja semua redirector langsung sibuk. Oleh karena itu kita coba menambahkan baris berikut di squid:

redirect_children 30
redirector_bypass on

redirector_children 30. artinya kita akan membuat 30 processes untuk redirector. dimana menurut saya cukup untuk melayani pengguna. di kantor ada 100 user lebih yang mengakses internet. namun sangat-sangat jarang sekali 100 user tersebut melakukan request yang bersamaan, sehingga setelah melakukan beberapa percobaan pada jam sibuk, angka 30 sudah cukup untuk melayani.

redirector_bypass on. ini artinya jika 30 redirector diatas sedang sibuk semua, maka request yang masuk berikutnya tidak akan diantrikan. jadi akan di bypass.

setelah implementasi, koneksi internet berlangsung lancar, problem solved! 🙂

semoga berguna bagi pembaca.

URL pendek: http://wp.me/pRkxT-Y2

Leave a Reply

Your email address will not be published. Required fields are marked *