`
cuisuqiang
  • 浏览: 3959159 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3669190
社区版块
存档分类
最新评论

缓存对系统的重要性

阅读更多

昨天晚上服务器访问量较多的情况下,出现了访问拒绝。虽是采用集群方式,但是连接被占满。

猜想应该不是Web服务器这边的问题,到数据库看看,发现CPU和内存运行正常,但是网络却高达20%。

一个百兆网卡,占据20%,意思是每秒有20M的数据在传输,对于我们这样的系统来说,有点不合理。我第一想到的,是不是有大量不必要的查询存在。可是这类问题已经在之前经过了一些优化,即使是这个问题,也不应该如此突出。

 

今天调试代码,发现有些标注了缓存的方法却没有缓存。对比之前的示例(Spring 使用注解配置使用ehcache,http://www.javacui.com/Framework/74.html),查看代码才发现,是因为主配置文件中删除了一行关于ehcache的内容:

 

<ehcache:annotation-driven cache-manager="ehCacheManager" />

 

 

因此造成了缓存不起作用。

 

经过修改后再查看数据库网卡传输,只有1%,因为缓存的作用,加快Web服务器的处理速度,因此系统运行速度明显加快。

因此合理对系统增加缓存是非常必要的,特别是服务和数据库不在同一台服务器情况下。

因为我曾经做过一段时间的网络编程,因此对涉及网络层面的内容特别关心,也极力建议尽量在优化代码之后关注整个系统环境的网络情况。

对于缓存,我也建议大家关注下开源,免费,支持Spring注解的ehcache缓存框架。

 

请您到ITEYE看我的原创

或支持我的个人博客,地址:http://www.javacui.com

 

9
2
分享到:
评论
11 楼 yxy0425 2015-07-14  
                     
10 楼 tuyinbo 2014-11-04  
不错的文章,学, 收藏一下!!
9 楼 笨猪会费 2014-09-03  
学习,这个问题应该注意
8 楼 cuisuqiang 2014-09-02  
gagapear 写道
不错 学习

一起学习
7 楼 gagapear 2014-09-02  
不错 学习
6 楼 cuisuqiang 2014-09-02  
qianlei007 写道
不错; 收藏一下!!

5 楼 qianlei007 2014-09-01  
不错; 收藏一下!!
4 楼 cuisuqiang 2014-09-01  
zskangs1126 写道
   

  
3 楼 zskangs1126 2014-09-01  
   
2 楼 cuisuqiang 2014-09-01  
liujiahan629 写道
不错!学习!

互相学习
1 楼 liujiahan629 2014-09-01  
不错!学习!

相关推荐

    springboot缓存一致性解决

    这是缓存系统中常见的三种问题,需要通过合理的配置和设计来预防。例如,设置合理的缓存过期时间、使用随机盐值防止缓存穿透、以及使用互斥锁防止缓存雪崩和击穿。 10. **监控与调优**: 使用监控工具(如Spring ...

    .NET系统缓存简介

    这些缓存系统可以跨服务器存储数据,确保所有服务器都能访问到相同的数据。 1. StackExchange.Redis库提供了.NET与Redis交互的接口。 2. EnyimMemcached提供.NET与Memcached的集成。 四、缓存的最佳实践 1. **...

    多维缓存加速系统

    多维缓存系统就是指这种包含多个层次、不同性能特性的缓存组合。每一层缓存都在为减少数据获取时间做出贡献,形成了一个立体的、多层次的加速机制。 缓存的工作机制基于局部性原理:程序执行时,数据和指令往往在一...

    分布式系统缓存一致性设计与应用.pdf

    1. 缓存一致性的定义及其在分布式系统中的重要性。 2. 缓存一致性理论模型的分类,包括严格、顺序和因果一致性模型。 3. 缓存数据结构的设计,以支持高效的数据访问和更新。 4. 组通信技术在实现缓存一致性中的关键...

    区域his系统清理缓存.rar

    清理缓存是维护系统稳定性和性能的关键步骤,特别是对于大型的HIS系统来说,由于处理大量数据,缓存管理尤为重要。缓存是系统为了提高响应速度,将常用或计算结果暂存的地方,当用户再次请求相同数据时,可以从缓存...

    FC-AL系统中FPGA的弹性缓存设计

    #### 二、FC-AL系统中弹性缓存的重要性 在FC-AL系统中,不同设备之间可能存在微小的时间偏差,这些偏差虽然很小,但如果未经适当处理,则可能导致数据同步问题,进而影响整个系统的稳定性和可靠性。通过在系统中...

    Redis缓存服务系统

    Redis是一款高性能的键值对数据存储系统,常用于构建分布式缓存、消息队列和实时数据分析等场景。作为一款开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希表、集合、有序集合等,这些数据结构的...

    C# 系统缓存全解析

    系统缓存是一种优化技术,用于提高应用程序的性能,减少对资源的不必要消耗。在C# .NET环境中,缓存是至关重要的,尤其是在处理大量数据或频繁数据库查询时。缓存分为客户端缓存和服务器端缓存。 1. 客户端缓存: ...

    基于WCF的分布式缓存系统设计.pdf

    此外,文章还提供了相关项目实践的背景信息,为读者理解缓存系统设计在真实世界应用中的重要性提供了支持。在当今信息技术迅猛发展的背景下,了解和掌握如何利用WCF等技术构建高效、稳定的分布式缓存系统,对于任何...

    清除图标缓存和系统托盘

    运行这个批处理文件可以方便地一次性完成上述操作,但需谨慎,因为它涉及对系统关键部分的修改。在运行之前,确认脚本来源的可信性,并确保已做好系统备份,以防止意外情况。 总之,定期清理图标缓存和系统托盘对于...

    Java系统分布式缓存PPT

    常见的分布式缓存系统如Redis、Memcached等,它们支持键值对存储,提供了高并发、低延迟的数据访问能力。此外,本章可能还会涉及一致性哈希算法,它是分布式缓存中解决数据分片和负载均衡的关键技术。 “分布式缓存...

    分布式系统缓存设计

    一、缓存系统的重要性 分布式系统缓存设计之所以重要,是因为它可以大幅减少系统对后端数据库的访问压力,从而减少延迟,提高系统的响应速度。缓存的设计允许快速访问频繁使用的数据,对于提升用户体验和系统吞吐量...

    系统图标缓存重建

    系统图标缓存是Windows操作系统中一个重要的组成部分,它存储了所有程序、文件、文件夹以及系统元素的图标图像,以提高系统性能并提供快速的图标加载。当系统图标出现异常,如显示不全、错误或者加载缓慢时,可能...

    重建系统图标缓存工具

    需要注意的是,在执行这些操作之前,用户应该备份重要数据,尽管这个过程通常不会对系统稳定性造成影响,但预防总是优于治疗。此外,如果在使用工具后仍然遇到图标问题,可能需要检查是否有其他软件冲突,或者图标...

    分布式缓存系统客户端关键技术研究.pdf

    最后,作者屠雪真在摘要中提到的优化设计和实验证明,采用新技术的客户端在处理突发业务量冲击方面表现更为优秀,这证明了对于分布式缓存系统客户端进行关键技术研究的重要性。通过在异步多线程、双缓冲队列、连接池...

    清理系统缓存文件

    标题“清理系统缓存文件”指的是一个用于优化计算机性能的操作,主要是通过删除不必要的临时...因此,使用这类工具时,最好是了解其工作原理,或者选择知名、安全的第三方清理软件,以确保系统的稳定性和数据的安全性。

    集中式缓存系统 memcached.zip

    **集中式缓存系统 Memcached 深度解析** Memcached 是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。其设计目标是通过在内存中存储数据来减少对数据库的...

    Linux系统缓存清理脚本

    在Linux系统运维工作中,定期清理系统缓存是一项非常重要的任务。缓存虽然能够提高数据读取速度,但随着时间的推移,缓存文件会逐渐积累占用大量磁盘空间,并可能导致系统性能下降。因此,开发一个有效的Linux系统...

    asp.net缓存 缓存

    缓存技术在.NET框架中扮演着至关重要的角色,它能够存储数据以便快速访问,从而减少对数据库或其他慢速资源的依赖。在这个文档中,我们将深入探讨.NET缓存的不同类型、使用场景以及缓存的优缺点。 首先,我们来看...

Global site tag (gtag.js) - Google Analytics