![Memcached - 一个大型实例与多个小型实例](https://linux22.com/image/545886/Memcached%20-%20%E4%B8%80%E4%B8%AA%E5%A4%A7%E5%9E%8B%E5%AE%9E%E4%BE%8B%E4%B8%8E%E5%A4%9A%E4%B8%AA%E5%B0%8F%E5%9E%8B%E5%AE%9E%E4%BE%8B.png)
我将在我的 Web 应用中添加一个 memcached 服务器,以减轻大量数据库请求的负担。我将主要缓存不同的小 ID-名称对(成员 ID-成员名称、博客 ID-博客名称等),预计缓存项目总数将达到数亿。
现在,服务器将是具有 48 Gb 内存的 Windows 2008 R2 x64。我应该运行一个大型 memcached x64 实例(40 GB)还是 20 个 memcached x32 实例(每个 2GB)?.net memcached 客户端支持任一配置,所以我的问题仅与 memcached 性能有关 - 我担心,如果一个实例中有十亿个项目,缓存服务器将开始花费大量时间来查找项目,而不是定位一个较小的实例并仅在 5000 万个项目中查找。
我在网上找不到任何统计数据;非常感谢任何想法!
答案1
由于您将在同一台机器上运行 20 个实例,因此除非您有不同的应用程序使用 memcache 并且想要为此分离实例,否则我看不到任何好处。使用单个实例而不是 20 个实例将减少哈希表查找以找到要连接的正确实例所花费的毫秒/微秒。
如果你有兴趣知道memcache 的工作原理然后点击链接,我之前已经回答过这个问题。这将有助于您做出明智的决定。