asp.net Cache vs memcached

一、环境

Server:IBM X365 M3 8Core 8G RAM

OS:windows server 2008 r2 & Hyper-V+CentOS 6.2

二、代码

(1)主体代码,简单读取:

SqlDataAdapter DataAdapter = new SqlDataAdapter();
SqlConnection Conn = new SqlConnection(DataConn);
Conn.Open();
SqlCommand myCommand = new SqlCommand(sql, Conn);
DataAdapter.SelectCommand = myCommand;
DataAdapter.Fill(ds);
Conn.Close()
(2)Memcached(客户端:BeITMemcached)
        cache.SendReceiveTimeout = 5000;
        cache.MinPoolSize = 2;
        cache.MaxPoolSize = 5;        
        string cached_dt = cache.Get(key) as string;
        if (cached_dt == null)
         {
            //主体代码
            string str_dt = DataTableXml.SerializeDataTableXml(ds.Tables[0]);
            cache.Set(key, str_dt, 30);
         }
        else
        {
            ds.Tables.Add(DataTableXml.DeserializeDataTable(cached_dt));
        }
(3)Asp.net Cache
        if (HttpContext.Current.Cache[key]==null)
        {
            //主体代码
            HttpContext.Current.Cache.Insert(key, ds, null, DateTime.Now.AddSeconds(30), System.Web.Caching.Cache.NoSlidingExpiration);
        }
        else
        {
            ds = (DataSet)HttpContext.Current.Cache[key];
        }
三、测试工具与参数

ab -t 30 -c 50 192.168.0.226/t.aspx

说明:t.aspx页面读取Dataset 24次,for(int i=1;i<=24;i++)

四、结果

(1)Memcached

Requests per second:    293.53 [#/sec] (mean)
Time per request:       170.343 [ms] (mean)

(2)Asp.net Cache

Requests per second:    2408.06 [#/sec] (mean)
Time per request:       20.764 [ms] (mean)

五、结论

Memcached可能在对象序列化及网络上相对LocalCache性能损耗大很多!

作者:敖士伟 ao.shiwei@gmail.com


引用:

Cache Type                Cache Gets/sec

Array Cache                       365000
APC Cache                          98000
File Cache                         27000
Memcached Cache (TCP/IP)           12200
MySQL Query Cache (TCP/IP)          9900
MySQL Query Cache (Unix Socket)    13500
Selecting from table (TCP/IP)       5100
Selecting from table (Unix Socket)  7400

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值