在 Unix 域套接字而不是网络(假设有一台服务器)上运行 memcached 有什么缺点吗?

Pau*_*ite 5 memcached socket

我正在建立一个 Django 网站以使用 memcached 来缓存其页面。

(每个页面的内容根本不会经常改变,所以我希望大部分站点大部分时间都由 memcached 提供服务,从而能够合理地处理大量流量。)

网站和 memcached 都将在一台虚拟服务器上运行,在 Debian Squeeze 上运行。

鉴于这种设置,我想我可以将 memcached 设置为通过 Unix 域套接字(请参阅http://code.google.com/p/memcached/wiki/NewConfiguringServer#Unix_Sockets)而不是通过网络接口进行侦听。虽然我的虚拟服务器有相当广泛的防火墙,因为我只需要一个本地用户(即 Django 站点)可以访问 memcached,我想我最好还是限制它。

当 memcached 和它的客户端都在同一台服务器上时,让 memcached 监听 Unix 域套接字有什么缺点吗?例如,Unix 域套接字可能比侦听 127.0.0.1 慢吗?

(为这样一个新手问题道歉——你可能已经知道,我以前没有使用过 memcached,也没有用过 Unix/Linux。)

jef*_*aid 5

通常,unix 套接字与网络端口问题分解如下:

Unix 套接字缺点

只能本地访问

Unix 套接字的好处

消除 TCP/IP 开销

网络缺点

安全 TCP/IP 开销

网络优势

可以通过网络访问服务

我将其用作几乎所有服务的一般指南,包括 memcached、MySQL 和其他服务。

这大大简化了,但这是我开始的地方。

  • 大多数时候我测试过的差异并不显着。好难过。 (2认同)