我有一个带有同位缓存的网络角色。这个角色有两个实例。
即使有缓存命中,我们的请求的周转时间也只有几秒钟。经过分析,我们发现缓存取回数据所需的时间平均为 1 秒。但是,IIS 日志表明请求的整体服务大约需要 4 秒。从缓存中检索数据之前或之后没有中间操作。
这里有什么问题?什么是分析问题的好方法?
我有一个带有同位缓存的网络角色。这个角色有两个实例。
即使有缓存命中,我们的请求的周转时间也只有几秒钟。经过分析,我们发现缓存取回数据所需的时间平均为 1 秒。但是,IIS 日志表明请求的整体服务大约需要 4 秒。从缓存中检索数据之前或之后没有中间操作。
这里有什么问题?什么是分析问题的好方法?
值得一提的是,我们在 Azure 中的 Redis 缓存和 RESTful API 中遇到了类似的问题。
问题原来是数据的序列化。
一些调试问题的方法:
您确实应该提高客户端和服务器的日志级别,请参阅In-Role Cache Troubleshooting and Diagnostics (Windows Azure Cache)并查看性能计数器。如果读取操作 (GET) 需要很长时间,则其中一个实例中可能存在分页,或者服务器上可能存在过载。如果您在缓存实例上发现任何性能问题,则应使用角色内缓存 (Windows Azure 缓存) 的容量规划注意事项重新评估容量。
如果这没有帮助,请打开支持票。