关于分布式cache的几点认识

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

越来越多的观点认为分布式cache能提高系统的性能和速度,因为基于跟应用服务器不在同一个jvm中,这样可以避免内存不够带来的性能下降以及gc的性能下降,那么实际情况又是怎么样呢

我用jms (jms server是用的weblogic)完成cache的distributed,cluster功能,并用一个LRUHashMap,concurrent package作为cache核心。经过实际的测试,他的性能远远低于local cache,同时也低于用jdbc直接存取数据库(因为数据库实际上也有cache).在大量并发的请求的情况下,用jdbc直接存取数据库的性能并没有明显下降,,而cache based jms 性能明显下降

经过性能测试,发现系统性能的瓶颈是在网络传输上,他需要花掉90%的时间,而处理cache本身的速度是非常快的,甚至超过loacl cache。由此,我认为,分布式cache并不是提高性能,提高速度的好办法的,假如能优化一下数据库,那就能获得良好的性能。

那是不是cache based jms 就毫无用处了呢,这要分情况,假如你需要cache 的对象是非常复杂的,比如,一个Html页面,那么用distributed cahce觉得是最好的选择,虽然我没有实际测试,但我想总体性能一定超过了loacl cache ,以及数据库。同时,他具有cluster功能,能保证伸缩性和安全性。反过来说,假如你需要cache的仅仅是简单的记录,那用loacl cache或者直接用数据库无疑是最好的选择

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航