切片只是memcache?

所以我有我的所有站点托pipe在Slicehost,现在每个应用程序在一个单独的切片。

为memcache获得一个单独的slice设置是否有意义,并让我的单独的应用程序都使用该片上的memcache?

这样做的缺点是什么? 我可以看到的优点是pipe理一个memcache安装,并能够专门优化切片来快速提供caching文件,而不用担心其他任何事情。

假设其余的设置是好的,那么不行。

当temoto写入Memcached被创build为在webnode(web应用程序服务器)上运行时,假设webnode在CPU上负载很重,但是有可用的RAM。 Memcached的整个架构是为了在多个服务器上运行而构build的; 多多益善。

所以如果你要运行Memcached,你应该在所有有一些空闲RAM的服务器上运行它。 可以说,您还应该在所有Web服务器上(不同端口上)运行所有的Web应用程序,以便让您的CPU容量可用于加载峰值。 (使用前面的负载均衡器根据URL将stream量路由到正确的应用程序。)

但是,这种设置在日常的系统pipe理工作中更为复杂。 这可能不是缩放应用程序的最佳方法。

你不会写你正在使用的平台。 大多数现代Web应用程序服务器都有可用的进程内caching机制。 在进入像Memcached这样的networkingcaching之前,先看看进程内caching

理论上,Web应用程序会消耗大量的CPU(请求parsing,模板渲染)和less量的内存。 Memcached是相反的。 这使他们成为完美的邻居。

但实际上,您的应用程序通常使用一些数据库服务器,它具有内部高速caching,通常在更多的内存下运行得更好。

由于您没有提供详细信息,因此很难为这种一般情况提供build议。

  • 如果你想要更简单的维护,去为每个网站分开的一切。 如果出现问题,只有这一个网站出现故障。
  • 如果要更密集地使用现有资源,请为数据库专用一个或两个片,并使用所有其他片用于memcache。
  • 仅仅为memcached分片是没有意义的,因为那台机器的CPU会永远睡眠:只使用内存,不使用CPU周期。 好主机,对你不好。

但在改变任何事情之前,先做一个深入的分析,找出目前的瓶颈在哪里。