11 Maret 2011

Tips Terbaik Cara Optimasi Squid

Blog Dunia Optimasi akan memberikan penjelasan tentang Tips Terbaik Cara Optimasi Squid. sebelumnya saya akan jelaskan dulu Squid adalah web proxy caching. Squid digunakan sebagai proxy caching reverse, squid merupakan salah satu aplikasi yang paling didokumentasikan untuk penelitian atau pengembangan dan banyak juga orang yang mempelajari tentang squid yang memang peranan ini sangat dibutuhkan khususnya untuk perusahaan-perusahaan besar baik lokal maupun manca negara, tentu saja optimasi squid sangat penting kita ketahui sebagai menamah wawasan,  yang mungkin saja suatu saat  nanti membutuhkan untuk mengoptimasikan squid dan bagaimana cara terbaik untuk optimasinya, oke saya akan jelaskan semua itu untuk bisa kita pelajari sama-sama.

Contoh kasus bila kita menjalankan 64bit chip Core2Duo, sehingga kompilasi dengan opsi-opsinya adalah sebagai berikut :

CHOST="x86_64-pc-linux-gnu" \

CFLAGS="-DNUMTHREADS=60 \
-march=nocona \
-O3 \
-pipe \
-fomit-frame-pointer \
-funroll-loops \
-ffast-math \
-fno-exceptions" \
./configure \
--prefix=/usr \
--enable-async-io \
--enable-icmp \
--enable-useragent-log \
--enable-snmp \
--enable-cache-digests \
--enable-follow-x-forwarded-for \
--enable-storeio="aufs" \
--enable-removal-policies="heap,lru" \
--with-maxfd=16384 \
--enable-poll \
--disable-ident-lookups \
--enable-truncate \
--exec-prefix=/usr \
--bindir=/usr/sbin \--libexecdir=/usr/lib/squid


Perhatikan-DNUMTHREADS 60 =; ini mungkin perkiraan-bawah untuk setup Anda dapat dengan mudah dijalankan dengan 30 pada mesin 500MHz. CFLAG ini mengontrol jumlah thread squid dapat berjalan ketika menggunakan saya asynchronous / O. Sisa dari CFLAGS sangat mengoptimalkan untuk ditampilkan. Saya sarankan bangunan dengan / configure baris seperti di atas, jelas, jika Anda mengubahnya., YMMV!

Berikut adalah ikhtisar dari apa yang orang-orang lakukan:

- Enable-async-io: memungkinkan asynchronous I / O - ini benar-benar penting, karena berhenti squid dari memblokir pada disk membaca / menulis

- Enable-icmp: opsional menggunakan untuk menentukan cache terdekat-peer, dan kemudian menggunakan yang paling responsif didasarkan dari waktu ping. Nonaktifkan ini jika anda tidak memiliki kesamaan cache.

- Enable-useragent-log: menyebabkan squid untuk mencetak useragent di entri log - berguna ketika Anda menggunakan lynx untuk debug kecepatan.

- Enable-snmp: grafik semua kotak squid kita menggunakan cacti, Anda akan ingin ini diaktifkan jika Anda ingin permintaan SNMP proxy untuk squid dan grafik output.

- Enable-cache-mencerna: diperlukan jika anda ingin menggunakan cache peering

- Enable-follow-x-diteruskan-untuk: Kami memiliki multi-level proxy terjadi sebagai paket datang melalui squid, sehingga untuk menghentikan squid dari melihat setiap permintaan sejak balancers beban, kita mengaktifkan ini agar squid membaca X-Diteruskan -Untuk header dan mengambil IP sebenarnya dari klien yang membuat permintaan tersebut.

- Enable-storeio = "aufs": YMMV jika Anda menggunakan sebuah penyimpanan alternatif i / o metode. AUFS adalah Asynchronous, dan memiliki keuntungan kinerja yang signifikan atas UFS atau diskd.

- Enable-removal-kebijakan = "heap, lru": tumpukan kebijakan penghapusan mengungguli kebijakan LRU, dan kami pribadi memanfaatkan "heap LFUDA", jika Anda ingin menggunakan LRU, YMMV.

- Dengan-maxfd = 16384: File Deskriptor bisa fatal dengan squid, karena menghentikan squid baik dari yang telah gagal atau menghalangi ketika itu di bawah beban.

- Enable-poll: Mengaktifkan poll () lebih pilih (), karena ini meningkatkan performa.

- Disable-ident-lookups: Menghentikan squid dari melakukan suatu ident mencari setiap koneksi, ini juga menghilangkan kerentanan DoS mungkin, dimana pengguna yang jahat bisa mengambil ke server squid Anda dengan membuka ribuan sambungan.

- Enable-truncate: Pasukan squid untuk menggunakan truncate () bukan unlink () ketika menghapus file cache dan ini dapat menyebabkan masalah bila digunakan dengan async I / O, tapi sejauh ini saya belum melihat ini terjadi. Efek samping dari ini adalah yang akan menggunakan lebih banyak inode pada disk.

Contoh Konvigurasi 

CHOST="x86_64-pc-linux-gnu" \

CFLAGS="-DNUMTHREADS=60 \
-march=nocona \
-O3 \
-pipe \
-fomit-frame-pointer \
-funroll-loops \
-ffast-math \
-fno-exceptions" \
./configure \
--prefix=/usr \
--enable-async-io \
--enable-icmp \
--enable-useragent-log \
--enable-snmp \
--enable-cache-digests \
--enable-follow-x-forwarded-for \
--enable-storeio="aufs" \
--enable-removal-policies="heap,lru" \
--with-maxfd=16384 \
--enable-poll \
--disable-ident-lookups \
--enable-truncate \
--exec-prefix=/usr \
--bindir=/usr/sbin \
--libexecdir=/usr/lib/squid

Selanjutnya perhatikan :
hosts_file /etc/hosts
dns_nameservers x.x.x.x x.x.x.x
cache_replacement_policy heap LFUDA
cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 50 KB
cache_dir aufs /var/spool/squid 40000 16 256
cache_mem 100 MB
logfile_rotate 10
memory_pools off
maximum_object_size 50 MB
quick_abort_min 0 KB
quick_abort_max 0 KB
log_icp_queries off
client_db off
buffered_logs on
half_closed_clients off
dns_nameservers x.x.x.x x.x.x.x: Penting! Squid akan kios koneksi ketika mencoba untuk melakukan pencarian DNS, menentukan nama-server DNS dalam squid.

Cache_replacement_policy heap LFUDA: Anda mungkin tidak ingin menggunakan kebijakan penggantian LFUDA. Jika tidak, saya sarankan Anda tetap dengan varian di heap, karena ada keuntungan besar atas kinerja LRU. 
Cache_swap_low 90: Rendah tanda air sebelum mulai membersihkan barang dari squid cache - ini adalah dalam persen. Jika Anda memiliki batas penyimpanan 10GB cache, squid akan mulai memangkas di 9GB digunakan.

Cache_swap_high 95: Tanda air yang tinggi. Squid agresif akan memangkas file cache lama memanfaatkan kebijakan penggantian didefinisikan di atas. Hal ini akan berlangsung di 9.5gb dalam contoh di atas kita. Jika Anda memiliki cache yang besar, itu perlu dicatat bahwa persentase Anda akan lebih baik dilayani lebih dekat bersama-sama. yaitu kandang 100GB adalah 90gb/95gb - 5 perbedaan gb. Dalam hal ini, akan lebih baik untuk memiliki 94% / setup watermark 95%.

Maximum_object_size_in_memory 50 KB: Kecuali jika Anda ingin melayani file yang lebih besar super cepat dari memori, saya menyarankan untuk menjaga ini dengan rendah - terutama untuk menjaga penggunaan memori di bawah kontrol. File besar memonopoli RAM, ketika memberikan Anda lebih baik byte hit-rate, akan mengorbankan permintaan memaksimalkan rate, sebagai file yang lebih kecil akan terus mendapatkan swap masuk dan keluar.

Cache_dir aufs / var / spool / squid XXX: Saya sangat merekomendasikan tidak berubah dari AUFS. Semua metode penyimpanan lain  ganti 3 X di sini dengan batas penyimpanan Anda.

Cache_mem 100 MB:  Ini merupakan jumlah maksimum ram yang cumi akan memanfaatkan untuk menjaga obyek cache dalam memori. Ingat membutuhkan sekitar 100mb of ram per GB penyimpanan cache. Jika Anda memiliki cache 10GB, 1gb hanya untuk mengatasinya. Pastikan bahwa cache_mem + (100mb batas ukuran * penyimpanan) kurang dari ram yang tersedia, atau  Anda akan mulai untuk swap.

Memory_pools off: ini berhenti squid dari memegang ram yang tidak lagi aktif digunakan.

Maximum_object_size 50 MB: Tweak ini suite ke objek perkiraan ukuran maksimum, namun lebih baik file cache kecil, dari satu file yang sangat besar yang hanya 4 orang yang telah men-download.

Quick_abort_min 0 KB: Fitur ini berguna, dalam beberapa kasus, tapi tidak dalam kasus untuk dioptimalkan.  Mengevaluasi jumlah data yang tersisa akan ditransfer jika klien membatalkan transfer. Jika jumlah yang berada dalam kisaran quick_abort, maka akan terus men-download file tersebut dan kemudian swap keluar ke cache. Kedengarannya bagus, kan? Tentu saja tidak. Jika klien membuat beberapa permintaan, Anda dapat berakhir dengan tanya finishing off untuk mengambil beberapa file yang sama. Ini semuanya rawa turun, dan menyebabkan menjadi lambat. 0 KB menonaktifkan fitur ini.

Quick_abort_max 0 KB: Lihat quick_abort_min

Log_icp_queries off: Jika Anda menggunakan cache_peers, Anda mungkin tidak perlu tahu setiap waktu  ke salah satu cache. Hal ini perlu logging dalam banyak kasus, dan hanya ekstra I / O thread yang dapat digunakan di tempat lain.

Client_db off: Jika diaktifkan, ini akan terus statistik pada setiap klien. Hal ini dapat menjadi memori yang setelah beberapa saat berjalan, jadi yang terbaik untuk tetap dinonaktifkan.

Buffered_logs on: Buffer tulis-out untuk log file. Hal ini dapat meningkatkan kinerja sedikit. YMMV.

Half_closed_clients off: Mengirim-Sambungan dekat dengan klien yang meninggalkan koneksi setengah terbuka ke server squid.

Oke, jadi Squid dioptimasi  secara default, instalasi murni adalah 'dioptimasi' untuk penggunaan. Dengan itu, maksud saya itu memiliki seperangkat pengaturan konfigurasi default kernel-tingkat yang benar-benar tidak bermain bola dengan baik dengan jaringan / aplikasi disk intensif. Kita perlu membuat beberapa modifikasi. Pertama-tama, adalah 'ip_conntrack modprobe' untuk, dan menambahkan modul ini baik / etc / (debian) atau modul / modprobe.conf etc / (RHEL / CentOS). Hal ini akan menghentikan squid dari menyemburkan pesan sangat berguna

Perhatikan lagi contoh berikut :


fs.file-max = 65535
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
net.ipv4.tcp_mem = 4096 4096 4096
net.ipv4.tcp_low_latency = 1
net.core.netdev_max_backlog = 4000
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 16384

Perhatikan bahwa dengan masuknya file-max, Anda juga akan ingin memodifikasi / etc / security / limits.conf dan tambahkan: * - 65535 nofile, yang terbaik terbaik adalah reboot, dan membiarkan kotak mengambil perubahan itu. Ketika kotak adalah back up, start up saja , dan hasilnya bersenang-senang hehe optimasi squid yang kita konvigurasikan berhasil. oke sampai disini dulu penejelasan saya mengenai Tips Yetbaik Cara Opimasi Squid, semoga bermanfaat.

11 komentar:

Cygnus mengatakan...

... nah ini dia, artikel yg jarang ditemui di web/blog lain, tapi buatku masih agak sulit. mungkin masih harus banyak2 belajar, oke sob. thanks atas sharingnya !

Lina Gustina mengatakan...

Saya sudah baca dan masih pusing :D
Ilmunya belum nyampe...

Makasih sudah komentar di blog Engagement and Rings.

http://www.1sthappyfamily.com

mizzu.net mengatakan...

Terimakasih sudah mau tukar Link, saya akan menaruh link sobat ^_^

ngomng - ngomong saya pusing baca artikel sobat . . .gak nyampe ilmunya >_<

Nano mengatakan...

Blognya Bagus...
Salam Blogger :
Blog Nano Yulianto

Dunia Optimasi mengatakan...

Cygnus, bener bos emang jarak artikel yang terkait dengan squit, oleh karena itu saya buat dna ini sebenernya sangat penting bagi seorang yang bekerja untu server dan lainnya. terimakasih sahabat.

Dunia Optimasi mengatakan...

Mbak Lina, sama-sama juga sudah mau membaca artikel saya tentang squid, salam sahabat.

Dunia Optimasi mengatakan...

mizzu.net, iya bos teriakasih atas kerja samanya, o iya semoga artikel saya bermanfaat untuk anda. salam sahabat.

Dunia Optimasi mengatakan...

nano, terimakaish ya kunjungannya, nanti aku balik kunjung ke blog anda, o iya jangan bosan baca-baca rtikel saya ya hehe. salam sahabat.

Nuri Kurniawan mengatakan...

Squid buat apa ya?

Dunia Optimasi mengatakan...

Nuri Kurniawan, Squid adalah High-Performance Proxy Caching Sserver untuk Web Klien, yang sudah mendukung FTP, Ghoper, dan HTTP data Object. Squid menangani semua Permintaan Tunggal (single), non-blocking, I/O-driven proses.
Squid menyimpan Meta data dan terutama Hot-object yang di simpan di RAM, menyimpan DNS lookups, mendukung non-Blocking DNS Lookups, dan Implementasi Negative-Caching jika permintaan gagal.
Squid mendukung SSL, access kontrol yang banyak, dan Full Request Logging. Dengan menggunakan lightweight Internet Cache Protokol, Squid Cache dapat dibuat dalam suatu Hirarki atau Mesh untuk meningkatkan Penghematan Bandwidth.

secara umum saya saya singkat saja deh, Squid adalah program Proxy/Cache Server. Squid dikenal sebagai program Proxy dan Cache Server yang Handal.

Dade Z. Musthofa mengatakan...

mantap mas bro...

Anda boleh mempublikasikan tulisan kami dengan catatan : 1. Wajib mencantumkan sumber kami dengan LINK AKTIF yang menuju HALAMAN INI. 2. Tidak mengubah baik sebagian atau pun keseluruhan tulisan. Termasuk SEMUA LINK YANG ADA DI DALAM ARTIKEL harus tetap ada dan aktif. Mengcopy artikel kami tanpa memberi link aktif berarti mengambil hak milik penulis. Hak cipta dilindungi oleh Undang-Undang.
 
Template by Dunia Optimasi .
Template Name : Simple Optimasi | sedang pengembangan