【问题标题】:Question about hardware impacts of caching关于缓存对硬件影响的问题
【发布时间】:2011-06-02 23:39:21
【问题描述】:

我刚刚开始尝试通过缓存信息减少一些数据库往返。我正在使用这种东西......

        if (Cache["Testamonials"] != null)
        {
            allTestamonials = (Testamonials)Cache["Testamonials"];
        }
        else
        {
            allTestamonials = new Testamonials(_connection);
            Cache.Insert("Testamonials", allTestamonials, null, DateTime.Now.AddDays(1), System.Web.Caching.Cache.NoSlidingExpiration);
        }            

显然,我看到网站性能因此而显着提高...我无法跟踪有关执行此类缓存的硬件影响的信息。例如,我可以缓存多少?我如何知道缓存是否变得太大或者这里是否发生了任何权衡?

抱歉,如果这是一个新手问题:多年来一直是开发人员,但只是进入硬件方面。

【问题讨论】:

    标签: c# caching


    【解决方案1】:

    这类问题最好由探查器解决,例如 VS Ultimate 中的ANTS profilerone of these

    这种类型的缓存称为 mem-caching 并且有许多库可以做到这一点。你当然可以自己动手,但你必须处理比赛条件之类的事情

    您还可以查看内置于 IIS 中的缓存,因为它的级别非常低,您可以从中获得一些很好的性能提升

    【讨论】:

      【解决方案2】:

      您可以监控大量性能计数器以进行缓存。您可以放心,asp.net 使用的缓存非常智能,并且会使用适当数量的系统资源,如果缓存导致 asp.net 工作进程不必要的负载,缓存中最不常用的项目将开始过期。有关性能计数器的详细信息,请参阅MSDN

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-17
        • 1970-01-01
        • 1970-01-01
        • 2013-01-07
        • 2012-08-06
        • 2011-06-26
        • 2017-04-22
        相关资源
        最近更新 更多