对于单服务器LAMP站点(通常负载很高),使用memcache的最佳方法是什么?
在与应用程序相同的服务器上运行memcache守护程序是否有意义,或者只是从MySQL中获取宝贵的内存,从而导致净性能损失。在这种情况下使用memcache是否有意义 - 或者是始终为memcache提供专用服务器的最佳解决方案?
我很欣赏前后对该网站进行分析需要真正回答这个问题,但我宁愿不在现场网站上这样做。特别是当那里的某个人肯定知道他们头脑中的答案。
答案 0 :(得分:10)
通常,建议(参见共享内存怎么样?在memcached page中)是在与Web服务器相同的机器上运行memcached,前提是Web应用程序是CPU-沉重的(memcached不是),而memcached是内存繁重的(大多数Web应用程序都没有,至少在比较中)。
因此,如果您的Web服务器有足够的内存,那么在它上面运行memcached是个好主意。 YMMV。
答案 1 :(得分:0)
memcached的另一个选项 - 取决于您缓存的信息的规模,是APC中的缓存。你应该运行它(或类似的操作码缓存)以帮助加速PHP页面交付,所以如果你从一些缓存到一百或更多(我有一些约15KB每个在一次超过70个变量中,您可能会发现将它们存储在APC中会有一些好处。
我有一个缓存一些数据库查找的站点,并且还缓存了一个解析后的config.ini文件 - 在我的(繁忙)站点上,我每天将节省数百万个潜在的数据库命中。