Muchos ancho de banda de acceso al servidor SME es a menudo sólo un único servidor por lo general de 10 Mbps bajo servidores Linux también ejecutar otros servicios, tales como servicios de FTP, servicios web, cuando el tráfico del sitio es grande y hay muchas personas a la vez Al descargar, el ancho de banda se agota fácilmente, lo que provoca la latencia del servidor o la pérdida de paquetes. ¿Cómo acelerar el límite del puerto 80 y asegurar que otros servicios puedan ejecutarse normalmente?
Puede usar el comando tc para ajustar los límites de los puertos y servidores especificados en el servidor.
Token Bucket (TB)
Token Bucket es un algoritmo común que se utiliza para controlar la cantidad de datos que ingresan a la red, lo que permite enviar ráfagas de datos. Se utiliza para control de flujo de red o limitación de velocidad. Con el token bucket, puede definir el tráfico en una interfaz que permite la tasa máxima en un momento dado. Fichas /seg |
|
|
|
Cubo a |
|
Para mantener b tokens + ====== + ===== + |
|
|
\\ |
/Paquetes |
+ ============ + stream |
--- > |
Espera de fichas |
--- > Eliminar token --- > eth0 |
+ ============ + 1.El filtro de TB coloca los tokens en el depósito a una cierta tasa. 2. Cada token es un permiso para que la fuente envíe un número específico de bits a la red. .Bucket puede contener b tokens según las reglas de configuración.4.El núcleo puede enviar paquetes si tiene que esperar otro token.
¿Cómo uso el comando TC?
¡Advertencia! Estos ejemplos requieren una buena comprensión de TCP /IP y otros conceptos de red. Todos los usuarios nuevos deben intentar ser ejemplos en un entorno de prueba. El comando TC se instala por defecto en mi distribución de Linux. Para una lista de las normas vigentes, entre:
# tc qdisc -s ls dev eth0 Muestra de salida: qdisc pfifo_fast 0: 3 bandas raíz priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1Sent 2732108 bytes 10732 PKT (cayó 0, 0 overlimits requeues 0) 0bit tasa 0pps backlog 0b 0p requeues 0
lo primero que la primera formación de tráfico reglas, enviar una solicitud de ping cyberciti.biz estación de trabajo local Linux, y tenga en cuenta el ping hora, tipo:
# ping salida de muestra cyberciti.biz: PING cyberciti.biz (74.86.48.99) 56 (84) bytes de bytes data.64 de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 1 TTL = 47 tiempo = 304 bytes MS64 de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 2 TTL = 47 tiempo = 304 bytes MS64 de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 3 ttl = 47 tiempo = 304 bytes MS64 de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 4 TTL = 47 tiempo = 304 MS64 bytes de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 5 TTL = 47 tiempo = 304 ms64 bytes desde txvip1.simplyguide.org (74.86.48.99): icmp_seq = 6 ttl = 47 tiempo = 304 ms
Escriba a continuación TC 200 ms comando ralentiza
# tc qdisc añadir dev eth0 200 ms de retardo NetEm raíz ahora vuelva a ejecutar la solicitud de ping # ping cyberciti.biz de muestra de salida: cyberciti.biz PING (74.86.48.99) 56 (84) bytes de bytes data.64 de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 1 TTL = 47 tiempo = 505 MS64 bytes de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 2 TTL = 47 tiempo = 505 MS64 bytes desde txvip1.simplyguide.org (74.86.48.99): icmp_seq = 3 TTL = 47 tiempo = 505 bytes MS64 de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 4 TTL = 47 tiempo = 505 MS64 bytes de txvip1. simplyguide.org (74.86.48.99): icmp_seq = 5 TTL = 47 tiempo = 505 MS64 bytes de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 6 TTL = 47 tiempo = 505 bytes MS64 de txvip1.simplyguide.org ( 74.86.48.99): bytes icmp_seq = 7 TTL = 47 tiempo = 505 MS64 de txvip1.simplyguide.org (74.86.48.99): icmp_seq = 8 TTL = 47 tiempo = 505 ms ^ C --- estadísticas cyberciti.biz de ping - -8 Paquetes transmitidos, 8 recibidos, 0% de pérdida de paquetes, tiempo 7006msrtt min /avg /max /mdev = 504.464 /505.303 /506.308 /0.949 ms
Para mostrar la regla actual, introduzca # tc qdisc -s ls dev eth0 muestra de salida: qdisc NetEm 8001: root límite de retardo de 1000 200.0msSent 175.545 bytes 540 PKT (dropped 0, 0 overlimits requeues 0) 0bit tasa Backlog 0pps 0b 0p requeues 0
Para eliminar todas las reglas, ingrese # tc qdisc del dev eth0 root # tc -s qdisc ls dev eth0
ejemplos de TBF
Adjuntando una velocidad máxima sostenida de 1 Mbit /s, velocidad máxima de 2.0 MB /s, búfer de 10kilobytes para un cálculo de TBF, lo que hace que el TBF genere un retraso de hasta 70 ms, con un comportamiento perfecto de velocidad máxima, con el límite de tamaño de la cuchara frontal, entrada:
# tc qdisc añadir dev eth0 raíz tasa TBF 1 Mbit ráfaga de 70 ms de latencia 10kb peakrate 2mbit minburst 1540
HTB y ndash; jerárquica muestra cubo
a Controle el uso del ancho de banda de egreso de HTB en un enlace dado: 1.rate – puede establecer el ancho de banda permitido. 2.ceil – puede establecer el ancho de banda de ráfaga cuando se permite el depósito. 3.prio – Puede establecer una prioridad de ancho de banda adicional. El ancho de banda proporcionado por la clase inferior de prios. Por ejemplo, puede dar un tráfico DNS y PRIO de descarga HTTP más bajos. 4.iptables y TC: debe utilizar iptables y TC de la siguiente manera: Controle el tráfico HTTP saliente.
Ejemplo: Formulación de tráfico saliente HTTP
Primero, elimine las reglas existentes en la NIC eth1: # /sbin /tc qdisc del dev eth1 root Abra la regla de la cola, escriba: # /sbin /tc qdisc añadir dev eth1 mango raíz 1: 0 htb por defecto 10 clases de límites definidos, es decir, el ancho de banda permitido de 512 kilobytes a 640 kilobytes los puertos 80 y estalló ancho de banda:
# /sbin /Tc class add dev eth1 parent 1: 0 classid 1:10 htb rate 512kbps ceil 640kbps prio 0 Tenga en cuenta que el puerto 80 no está definido en ninguna parte de la clase anterior. Usará la regla de eliminación de iptables de la siguiente manera:
# /sbin /iptables -A SALIDA -t mangle -p tcp --sport 80 -j MARK --set-mark 10 Para guardar las reglas de iptables, ingrese lo siguiente Comando, (RHEL por ejemplo): # /sbin /service iptables save Finalmente, asigne a qdisc: # tc filter add dev eth1 parent 1: 0 prio 0 protocolo ip handle 10 fw flowid 1:10 debajo del puerto 80 y 22 Otro ejemplo:
/sbin /tc qdisc agregar dev eth0 root handle 1: clase htb /sbin /tc add dev eth0 parent 1: classid 1: 1 htb rate 1024kbps /sbin /tc class add dev eth0 padre 1: clase 5 HTB 512 kbps tasa superior 640Kbps prio 1 /sbin /tc añadir dev eth0 matriz 1:: 1 classid 1 1 classid 1: 6 HTB 160kbps 100kbps tasa superior prio 0 /sbin /tc filtro de añadir dev eth0 matriz 1: 0 prio 1 protocolo mango ip 5 fw flowid 1: filtro 5 /sbin /tc añadir dev eth0 padre 1: 0 prio 0 protocolo mango ip 6 fw flowid 1: 6 /sbin /iptables -A OUTPUT -t mangle -p --sport tcp 80 -j MARK - set-mark 5 /sbin /iptables -A OUTPUT -t mangle -p tcp --sport 22 -j MARK --set-mark 6
¿Cómo puedo monitorear y Velocidad de la prueba?
Use la herramienta
# /sbin /tc -s -d clase show dev eth0 # /sbin /iptables -t mangle -n -v -L # iptraf # watch /sbin /tc -s -d class show dev eth0 Para probar la velocidad de descarga con las herramientas de línea de comandos LFTP o wget.
O a partir del proceso de compilación del enlace para generar vmlinux, se compone de un grupo de ar
El sistema de archivos ReiserFS es un muy buen sistema de archivos, especialmente para archivos gran
Primero, lo que es haproxyHAProxy proporciona alta disponibilidad, equilibrio de carga y agentes ba
1. Instale Oracle VM virtualBox, estoy usando la versión 4.0. La dirección oficial de descarga est
Demasiados archivos abiertos Resolución de errores
Configuración de la ubicación de la biblioteca compartida de Linux
Programación del entorno Linux - Editor Basic Operations
Borre rápidamente una gran cantidad de archivos en linux
Detalles del comando de Linux: comando de reparación del disco e2fsck
Vinux experiencia para la acumulación ciega Caozuojitong
Ejemplo de programación de la cola de mensajes de Linux
En el entorno Linux, determine si el servidor se está cerrando normalmente.
Parámetros del comando de clasificación de Linux y detalles de uso
Rookie Classroom: Lenguajes de programación de Linux desatendidos
Administración y mantenimiento de sistemas Linux - comando ls
Win8 Enciclopedia 72: Encender los parches de seguridad actualizar automáticamente el
Win8 Optimizer: Windows 8 Start Menu Switcher
Copia de seguridad automática para Windows 8 System
El sistema Win7 tiene una conexión local 2 ¿Cómo eliminar?
Actualizar Windows XP velocidad de funcionamiento de la habilidad novecientos por ciento de
Use la línea de comandos para crear una carpeta 'confidencial'
¿Cómo lidiar con el uso de la CPU del sistema Win10 hasta un 70%?
Método de uso FANTASMA (ilustración)
Tutorial de la base de datos MyEclipse: diseño de un diagrama ER