Pengenalan
Menghadapi masalah perhubungan ketika pelawat dari negara lain mengakses laman web anda? Tertanya-tanya mengapa kelajuan muat turun dari pelayan asing anda perlahan? Anda boleh menetapkan algoritma pengoptimuman TCP untuk membantu menyelesaikan masalah.
Terdapat beberapa algoritma pengoptimuman TCP yang terkenal. Tidak semua algoritma ini percuma, misalnya, Zeta-TCP. Walau bagaimanapun, dalam artikel ini, saya akan memperkenalkan algoritma pengoptimuman TCP percuma dengan prestasi tinggi yang dikenali sebagai Hybla.
Penyediaan
Untuk menyiapkan Hybla, anda harus dilengkapi dengan:
- VPS atau pelayan khusus dengan Linux (versi LTS lebih disukai).
- Sekiranya VPS, periksa bahawa virtualisasi adalah KVM. Jika tidak, ia tidak akan mempunyai cukup hak untuk memanggil fungsi kernel yang betul.
- Jalankan
/sbin/modprobe tcp_hybla
untuk mengaktifkan Hybla dan gunakan lsmod | grep hybla
untuk memeriksa sama ada pengoptimuman dapat berjalan seperti biasa.
Konfigurasi
Sekiranya versi kernel anda lebih baru, misalnya CentOS 6.x 2.6.32, anda boleh menggunakan perintah yang disenaraikan di bawah untuk melihat algoritma kesesakan yang tersedia. Hybla akan ditunjukkan, setelah anda memuatkannya.
sysctl net.ipv4.tcp_available_congestion_control
Anda boleh menyiapkan Vultr VPS untuk ujian buat sementara sebelum menggunakan Hybla dalam persekitaran pengeluaran.
Tambahkan baris yang disenaraikan di bawah ke /etc/sysctl.conf
.
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.core.netdev_max_backlog = 250000
net.ipv4.tcp_mtu_probing=1
net.ipv4.tcp_congestion_control=hybla
Anda boleh mengaktifkan perubahan dengan segera menggunakan perintah sysctl -p
. Hybla kini diaktifkan.
Mulakan semasa boot
Tutorial yang disenaraikan di atas menghendaki anda menjalankan perintah /sbin/modprobe hybla
dan sysctl -p
secara manual selepas setiap dimulakan semula. Untuk mengaktifkan algoritma ini secara automatik, anda boleh menggunakan langkah-langkah ini sebagai templat. Mereka ditulis untuk CentOS.
Tambahkan hybla.modules
fail ke /etc/sysconfig/modules
direktori dan masukkan kandungan di bawah:
#!/bin/sh
/sbin/modprobe tcp_hybla
Kemudian berikan hak pelaksanaan fail:
chmod +x hybla.modules