请有人向我描述一下在服务器(Ubuntu,FWIW)上设置服务时使用Unix套接字文件与tcp/ip本地主机:端口的利弊吗?
在这个特殊的例子中,它是针对Python服务器(uWSGI)的,但我只是对一般情况感兴趣(例如,我知道您可以通过两种方式设置MySQL )。
我意识到使用tcp/ip意味着服务可以暴露在其他机器上,但我只想知道在本地访问服务时是否存在性能权衡。
干杯。
发布于 2010-10-27 13:38:26
Unix套接字速度有点快,因为您没有tcp开销。如果您意识到这种性能损失是服务器负载的问题。如果您没有非常高的服务器负载,您将无法识别它。
如果您使用监狱(FreeBSD)或其他虚拟化技术将MySQL与use服务器分开,则通常使用tcp/ip设置而不是套接字。不过,防火墙规则需要限制访问。
您需要了解您的系统是否负载过重,以便必须使用套接字,或者您可以专注于一个很好的系统设计(分离服务),那么tcp/ip解决方案会更好。
因此,简短地给出一个简短的答案:
是的,有一个性能差异,套接字更快。如果您的服务器负载不高,只需选择更适合您的系统设计的。
发布于 2010-10-28 00:31:14
这基本上是在性能和灵活性之间的权衡。Unix域套接字会给您带来更好的性能,而连接到本地主机的套接字则会给您带来更好的可移植性。只需将IP地址从本地主机更改为不同的主机名,就可以轻松地将服务器应用程序移动到另一个操作系统。
Unix域套接字使用本地文件系统在服务器和客户端进程之间创建IPC机制。在连接Unix域套接字时,您将在/var的某个地方看到一个文件。
如果您正在寻找纯粹的终极性能解决方案,您可能希望探索共享内存IPC。但是,这有点复杂。
发布于 2017-10-19 15:23:00
Unix域套接字的优点。
Unix域套接字的缺点
https://serverfault.com/questions/195328
复制相似问题