Prefacio

  En primer lugar nos fijamos en cómo identificar una conexión TCP?El sistema se identifica por un período de cuatro tupla, (src_ip, src_port, dst_ip, dst_port) es decir, la IP de origen, puerto de origen, IP destino, puerto de destino.Por ejemplo, tenemos un servicio 192.168.0.1, puerto abierto 80.A continuación, todos los clientes se conectarán a este puerto de servicio por encima de 80.Hay una idea errónea de que a menudo decimos que una máquina con 65.536 puertos, entonces el número de carga conectada es de 65.536, esta afirmación está muy mal, lo que confundió el acceso a los puertos de origen y puerto de destino.Hacemos la presión cuando se mide utilizando la medición de cliente una presión, las conexiones de cliente está limitado por el número de puertos, pero el número de conexiones que el servidor puede llegar a miles anteriormente, generalmente hasta un millón (configuración 4C8G), como el límite superior es la cantidad de necesidad de ver el grado de optimización.Específicamente, la siguiente:

  Se midió la presión en un servidor de destino, quiere ver el número de conexiones bajo carga, cuando presionamos una cierta cantidad de tiempo, la consola de repente informó "demasiados archivos abiertos", esto se debe a que el sistema Linux se crea cuando una conexión TCP, se crear un identificador de socket, cada identificador de socket es un identificador de archivo.Sistema operativo en el que el número de identificadores de archivo abierto se limita.Una de la filosofía básica de Unix / Linux es el "todo es un archivo", para mejorar la capacidad de carga de TCP, es necesario ajustar el identificador de archivo.

  El primer paso: Modificar el límite en el número de identificadores de archivo

  # Permitir al usuario ver el número TCP corriente máxima de manejadores de archivos abiertos

  ulimit -n

  # Identificador de archivo Modificado

  vim / etc / security / limits.conf

  * Nofile suave 655350

  * Nofile duro 655350

  Después de los cambios, salga de la ventana de terminal, entrar de nuevo (sin necesidad de reiniciar el servidor), se puede ver más resultados.Esta es la primera optimizado, modificar el límite de identificador de archivo.

  Nota:

  nofile suave (Soft Limit) es el número de usuarios en el plazo más Linux la gama actual del sistema puede soportar mientras que los archivos abiertos

  nofile duro (límite duro) es el número de archivos (memoria principal del sistema), calculado en función del estado de los recursos de hardware del sistema del sistema hasta al mismo tiempo abierto

  El límite blando es típicamente menor o igual al límite duro

  Paso dos: parámetro de ajuste de TCP

  parámetro

  la asignación por defecto

  Ajustar la configuración

  Explicación

  fs.file-max

  1048576

  9999999

  El número de descriptores de archivos abiertos todos los procesos

  fs.NR_OPEN

  1635590

  1635590

  Número máximo de archivos que se puede asignar un único proceso

  red.núcleo.rmem_default

  124 928

  262144

  El tampón de lectura TCP por defecto

  red.núcleo.wmem_default

  124 928

  262144

  El buffer de envío TCP por defecto

  red.núcleo.rmem_max

  124 928

  8388608

  El buffer de lectura máximo predeterminado TCP

  red.núcleo.wmem_max

  124 928

  8388608

  El buffer de envío TCP máximo predeterminado

  red.ipv4.tcp_wmem

  4.096.163.844.194.304

  4.096.163.848.388.608

  buffer de envío TCP

  red.ipv4.tcp_rmem

  4.096.873.804.194.304

  4.096.873.808.388.608

  TCP tampón de lectura

  red.ipv4.tcp_mem

  657 512 877 384 769 314

  3.846.575.128.773.057.792

  tama?o de la memoria TCP

  red.núcleo.reddev_max_backlog

  1000

  5000

  Cuando la tasa de rápido para cada interfaz de tasa de paquetes de datos de red recibido que el núcleo de procesamiento de estos paquetes, el número máximo de colas para permitir que los paquetes de datos

  red.núcleo.optmem_max

  20480

  81920

  El tama?o de cada memoria intermedia máxima permisible socket

  red.núcleo.SOMAXCONN

  128

  2048

  La longitud máxima de la cola para cada monitor de puerto, que es un parámetro global

  red.ipv4.tcp_fin_timeout

  60

  30

  Para este fin que es conexión de socket abierto, tiempo de retención TCP FIN-WAIT-2 de estado (s).La otra parte puede ser desconectado o ha sido conectado o no terminar el proceso impredecible de la muerte

  red.núcleo.reddev_max_backlog

  1000

  10000

  Cuando la tasa de rápido para cada interfaz de tasa de paquetes de datos de red recibido que el núcleo de procesamiento de estos paquetes, el número máximo de colas para permitir que los paquetes de datos

  red.ipv4.tcp_max_syn_backlog

  1024

  2048

  Confirmación no se ha obtenido para otras peticiones de conexión, el número máximo se puede almacenar en la cola.Si el servidor está sobrecargado con frecuencia, se puede tratar de aumentar este número

  red.ipv4.tcp_max_tw_buckets

  5000

  5000

  El número máximo de tomas de corriente TIMEWAIT procesado mientras el sistema

  red.ipv4.tcp_tw_reuse

  0

  1

  Si se debe permitir que las tomas de re-TIEMPO-esperar a que la nueva conexión TCP

  red.ipv4.tcp_keepalive_time

  7200

  900

  Representa el enlace TCP no se habilita la transmisión de paquetes de datos de paquetes de sonda (enviando un mensaje vacío) después del número de segundos

  net.ipv4.tcp_keepalive_intvl

  75

  30

  Representa un un intervalo de tiempo de paquetes de sonda entre paquetes de sonda frente y

  net.ipv4.tcp_keepalive_probes

  9

  3

  Se representa el número de sondas

  De lo anterior, podemos conocer los parámetros de configuración, el núcleo de Linux TCP, tanto en transmisión y recepción amortiguar cola de hecho, esto puede aumentar el rendimiento del sistema.

  Estos parámetros están en / etc / sysctl.conf se define en algunos parámetros en el archivo no se puede definir, el sistema se da un valor por defecto, si es necesario modificar, a?adir o modificar directamente en el documento, y luego ejecutar el comando sysctl -p permitió a surtir efecto.

  Nota:

  Establecer el valor del parámetro no es mejor, ya que necesita tener en cuenta la configuración de hardware de los parámetros del servidor en otros servicios en el servidor, etc..

  para resumir

  Eso es todo por este artículo, espero que el contenido de este documento tiene un valor de referencia de aprendizaje para todos nosotros para estudiar o trabajar, gracias por los guiones de soporte Casa.

  Usted también puede estar interesado en el artículo: equilibrio de carga Linux demostrado de manera concluyente cuatro cargas y cargas tienen carga nginx siete equilibrar la acumulación de Linux qué diferencia etapas del procedimiento explican la configuración del sistema Linux nginx equilibrio de carga Linux unión NIC dual para el equilibrio de carga en detalle método simple Linux de equilibrio de carga con carga de la CPU DNS Linux detallada y uso de la CPU

?Sabe usted cuántas conexiones de un servidor Linux puede cargarlo

Recommend Article: