Bueno, es simple
Socket es una comunicación basada en archivos, y no puede acceder al socket desde otra máquina.
Por otro lado, los puertos están abiertos al mundo (depende de la configuración) y puede acceder al mysql desde otra máquina utilizando la combinación de host + puerto.
Además, por mucho que entiendo los sockets, son solo una combinación de host + puerto, solo en el formato de archivo. Por lo tanto, no veo ningún beneficio claro en el uso de ninguno de ellos (según mi conocimiento).
Aunque personalmente prefiero usar host + puerto, ya que mi código se vuelve más flexible, ya que puedo moverlo a la otra máquina, sin cambiar mucho.
Copie el pegado de alguna publicación anterior :
Los sockets Unix son un poco más rápidos, ya que no tiene el tcp-gastos generales. 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 la reconocerá.
Si usa Jails (FreeBSD) o alguna otra tecnología de virtualización para separar, por ejemplo, el servidor MySQL del servidor web, a menudo usa la configuración tcp / ip en lugar de sockets. Sin embargo, las reglas del firewall deben restringir el acceso.
Debe averiguar si su sistema está bajo una gran carga para que un socket sea imprescindible o si puede centrarse en un buen diseño del sistema (servicios de separación), entonces una solución tcp / ip sería mejor.
Entonces haga una respuesta larga corta:
Sí, hay una diferencia de rendimiento, los enchufes son más rápidos. Si no sufre una alta carga del servidor, simplemente elija lo que mejor se adapte al diseño de su sistema.