我添加了memchached到我的网站。 并且网站开始运行非常缓慢。 如果我取消memchached,应用程序支持快速工作。
为什么会发生这种情况?如何避免呢?
谢谢, kukuwka
答案 0 :(得分:0)
如果不知道 如何以及您正在存储哪些数据,则无法回答。例如,如果您将它用作HttpCache
提供程序(如果您使用的是ASP.NET),并且之前使用的是进程内缓存提供程序,那么它的行为会有很大不同;进程内提供程序没有序列化或网络成本,因此您可能会在缓存中存储一些非常大的对象。这是正常的,但对于任何其他提供商这是非常非常糟糕的;您必须为每个用法进行传输和反序列化(并为每个存储进行序列化和传输)。
有很多方法可以改善序列化/反序列化/网络时间,但听起来就像你只是在缓存中存储太多数据(或不适当的数据)一样。我将首先解决 ,然后看一下调整它。
答案 1 :(得分:0)
Memcached并不意味着“让事情变得更快”。它提供对共享缓存的快速且非常可扩展的访问,否则这些缓存的获取成本很高。
如果您将缓存添加到便宜的东西,它可能会变慢。
例如,如果你花了五秒钟做某事并且你可以缓存它,那么假设结果仍然有用,你将在每个后续请求上节省近五秒钟。
如果你需要几纳秒的时间,那么它会让你慢下来通过网络获取结果。