首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Enyim memcached提供程序CPU峰值

Enyim memcached提供程序CPU峰值
EN

Stack Overflow用户
提问于 2009-07-15 17:04:50
回答 1查看 1.9K关注 0票数 3

我已经使用enyim为我们的网站实现了一个缓存接口和memchanged提供程序。在我们进行负载测试之前,它在测试中的效果很好,在负载测试中,w3wp.exe的CPU占用率接近100%。我们有一个配置属性来将缓存提供程序切换回dotnet的API,CPU将回到5-7%。有没有人有过类似的经历?

EN

回答 1

Stack Overflow用户

发布于 2011-05-11 20:38:28

还要确保检查序列化和反序列化代码,以获得适当的对象或流处理。

我也有同样的w3p.exe问题,有99%的症状,我以为这是Enyim/Membase驱动程序的错误,但它不是,这是我们的,因为我们在反序列化我们的JSON helper类中的每个MemoryStream对象后,忘记了Dispose():

代码语言:javascript
运行
复制
   public static T DeserializeToObject<T>(this string json)
    {
        byte[] byteArray = Encoding.ASCII.GetBytes( json );
        MemoryStream stream = new MemoryStream( byteArray );

        DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
        T returnObject = (T)serializer.ReadObject(stream);
        stream.Close();
        stream.Dispose();  // we forgot this line!
        return returnObject;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1132657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档