Linux
Unix 套接字與 TCP/IP 主機:埠
有人可以向我描述在伺服器(Ubuntu,FWIW)上設置服務時使用 Unix 套接字文件與 tcp/ip localhost:port 的優缺點嗎?
在這個特定的實例中,它用於 Python WSGI 伺服器 (uWSGI),但我只對一般情況感興趣(例如,我知道您可以通過兩種方式設置 MySQL)。
我意識到使用 tcp/ip 意味著服務可以暴露給其他機器,但我只是對在本地訪問服務時是否有任何性能權衡感興趣。
乾杯。
Unix 套接字要快一點,因為您沒有 tcp 成本。如果您意識到這種性能損失是伺服器負載的問題。如果您沒有很高的伺服器負載,您將無法辨識它。
如果您使用 Jails (FreeBSD) 或其他一些虛擬化技術將 MySQL-Server 與 Web 伺服器分開,您通常使用 tcp/ip 設置而不是套接字。防火牆規則需要限制訪問。
您需要確定您的系統是否處於重負載狀態,以便必須使用套接字,或者您可以專注於良好的系統設計(分離服務),那麼 tcp/ip 解決方案會更好。
所以做一個簡短的回答:
是的,存在性能差異,套接字更快。如果您的伺服器負載不高,只需選擇更適合您的系統設計的即可。