February 22, 2012

Squid Too Many Open Files

Biasanya jika terlalu banyak permintaan akses dari klien ke squid proxy server yang terisntall secara default,
squid akan mengeluarkan error seperti berikut:
Squid running out filedescriptor, too many open file
Ini artinya squid terlalu banyak membuka file dari yang di-izinkan, secara default squid hanya mengijinkan
open file sebanyak 1024, Untuk mengatasinya ikuti langkah-langkah berikut :

1. Sebelum mengkonfigurasi squid pastikan set openfile menjadi 8192 (disini akan digunakan openfile sebanyak 8192, sesuaikan dengan kebutuhan anda).

Login ke server squid saudara dengna menggunakan root, dan jalankan peritah dibawah:

# ulimit -HSn 8192

# vim /etc/sysctl.conf, dan tambahkan kode berikut pada akhir file:
    fs.file-max = 512000

# sysctl -p

# vim /etc/security/limit.conf, tambahkan :

squid    -  nofile 8192

2. Konfigurasi squid untuk membuka filedescriptor sebanyak 8192 pada source squid, sebelumnya jalankan terlebih dahulu perintah make clean, setelah itu saudara buka file include/autoconf.h, kemudian edit MAXFD dan install squid seperti langkah dibawah ini:

# vim include/autoconf.h
ubah :
define SQUID_MAXFD 8192  ---> uncomment dan ubah maxfd menjadi 8192

# ./configure --prefix=/.../squid --exec-prefix=/.../squid --enable-arp-acl --enable-snmp --enable-linux-netfilter --disable-ident-lookups --enable-underscores --enable-storeio=aufs --enable-removal-policies=heap --enable-forward-log --enable-cache-digests --enable-delay-pools --enable-x-accelerator-vary --enable-follow-x-forwarded-for --with-maxfd=8192

lihat hasil configure seperti ini :
checking for initgroups... yes
checking Default FD_SETSIZE value... 1024
Maximum filedescriptors set to 8192  <--- pastikan 8192
 
# make all && make install

3. Konfigurasikan squid seperti biasa dengan mengubah squid.conf, setelah itu jalankan squid.

Untuk langkah bagaimana konfigurasi dan installasi squid bisa saudara baca pada tulisan sebelumnya atau silahkan saudara klik disini.

Dan langkah terakhir agar mempermudah semuanya untuk berjalan sejak komputer menyala, tambahkan pada rc.local :

# vim /etc/rc.d/rc.local, dan tambahkan di akhir baris:

/bin/rm -rf /.../squid/var/logs/squid.pid
ulimit -HSn 8192
echo 1024 23768 > /proc/sys/net/ipv4/ip_local_port_range
/opt/squid/sbin/squid

Keterangan :
Sistem Operasi     :  Fedora Core 6 kernel 2.6.18-1.2798.fc6, i386
Squid                    :  squid-2.6.STABLE9.tar.bz2
/.../squid               :  sesuaikan dengan squid direktori anda

Selamat mencoba, jika mengalami kendala tinggalkanlah komentar.
Terima kasih sudah mampir, Salam.

No comments:

Post a Comment