Eh bien, c'est simple.
Le socket est une communication basée sur un fichier et vous ne pouvez pas accéder au socket à partir d'une autre machine.
D'un autre côté, les ports sont ouverts sur le monde (dépend de la configuration) et vous pouvez accéder au mysql depuis une autre machine en utilisant une combinaison hôte + port.
Aussi, autant que je comprends les sockets, ce ne sont que des combinaisons hôte + port, juste au format de fichier. Donc, je ne vois aucun avantage clair à utiliser l'un d'eux (autant que je sache).
Bien que je préfère personnellement utiliser host + port, car mon code devient plus flexible, car je peux le déplacer vers l'autre machine, sans beaucoup changer.
Copiez le collage d' un ancien message :
Les sockets Unix sont un peu plus rapides car vous n'avez pas le tcp-overhead. Si vous réalisez que cette perte de performances est une question de charge du serveur. Si vous n'avez pas une charge de serveur très élevée, vous ne la reconnaîtrez pas.
Si vous utilisez Jails (FreeBSD) ou une autre technologie de virtualisation pour séparer par exemple le serveur MySQL du serveur Web, vous utilisez souvent la configuration tcp / ip au lieu des sockets. Les règles du pare-feu doivent cependant restreindre l'accès.
Vous devez savoir si votre système est soumis à une charge élevée afin qu'un socket soit un must ou vous pouvez vous concentrer sur une conception de système agréable (séparation des services), alors une solution tcp / ip serait mieux.
Donc, faites une réponse courte et courte:
Oui, il y a une différence de performances, les sockets sont plus rapides. Si vous ne souffrez pas d'une charge de serveur élevée, choisissez simplement ce qui correspond le mieux à la conception de votre système.