GNU/Linux >> Tutoriales Linux >  >> Linux

Unix socket vs host TCP/IP:puerto

Solución 1:

Los sockets de Unix son un poco más rápidos ya que no tiene la sobrecarga de tcp. Si se da cuenta de que esta pérdida de rendimiento es una cuestión de carga del servidor. Si no tiene una carga de servidor muy alta, no lo reconocerá.

Si utiliza Jails (FreeBSD) o alguna otra tecnología de virtualización para separar, p. MySQL-Server desde el servidor web, a menudo usa la configuración tcp/ip en lugar de sockets. Sin embargo, las reglas del cortafuegos deben restringir el acceso.

Debe averiguar si su sistema está bajo una carga pesada para que un socket sea imprescindible o si puede concentrarse en un buen diseño del sistema (separación de servicios), entonces una solución tcp/ip sería mejor.

Así que abrevia una respuesta larga:

Sí, hay una diferencia de rendimiento, los enchufes son más rápidos. Si no sufre una gran carga del servidor, simplemente elija lo que mejor se adapte al diseño de su sistema.

Solución 2:

Es básicamente una compensación entre rendimiento y flexibilidad. Los sockets de dominio de Unix le brindarán un rendimiento un poco mejor, mientras que un socket conectado a localhost le brindará una portabilidad un poco mejor. Puede mover fácilmente la aplicación del servidor a otro sistema operativo simplemente cambiando la dirección IP de localhost a un nombre de host diferente.

Un socket de dominio Unix utiliza el sistema de archivos local para crear un mecanismo IPC entre el servidor y los procesos del cliente. Verá un archivo en /var en algún lugar cuando el socket del dominio Unix esté conectado.

Si está buscando simplemente la mejor solución de rendimiento, es posible que desee explorar un IPC de memoria compartida. Pero, eso es un poco más complejo.

Solución 3:

Ventajas de los sockets de dominio Unix.

  1. El acceso se puede administrar a través del sistema de permisos de usuario de Unix, ya sea configurando los permisos en el propio socket o leyendo el servidor el nombre de usuario del cliente que se conecta.
  2. Menos posibilidades de exponer inadvertidamente el enchufe al mundo exterior. Por ejemplo, si el servidor también ejecuta un proxy web, eso puede permitir inadvertidamente conexiones a sockets en localhost.

Contras de los sockets de dominio Unix

  1. No es portátil para sistemas que no sean Unix.
  2. Puede ser incómodo con chroots, jails o similares

Linux
  1. Redirección de IP/Puerto con csf

  2. erlang:¿Soporte de socket de dominio UNIX?

  3. ¿Qué técnica Linux IPC usar?

  4. ¿Diferencia entre los sockets STREAM y DATAGRAM del dominio UNIX?

  5. Reenviar el puerto del host al contenedor docker

Cómo conectar NGINX a PHP-FPM usando UNIX o TCP/IP Socket

¿Cómo puedo eliminar el puerto TCP 16969 en Bash?

verifique todos los sockets abiertos en el sistema operativo Linux

Cree una conexión de puerto serie virtual a través de TCP

Supervise el tráfico TCP en un puerto específico

Toma de dominio Sniff UNIX