昨天晚上服务器访问量较多的情况下,出现了访问拒绝。虽是采用集群方式,但是连接被占满。
猜想应该不是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
相关推荐
这是缓存系统中常见的三种问题,需要通过合理的配置和设计来预防。例如,设置合理的缓存过期时间、使用随机盐值防止缓存穿透、以及使用互斥锁防止缓存雪崩和击穿。 10. **监控与调优**: 使用监控工具(如Spring ...
这些缓存系统可以跨服务器存储数据,确保所有服务器都能访问到相同的数据。 1. StackExchange.Redis库提供了.NET与Redis交互的接口。 2. EnyimMemcached提供.NET与Memcached的集成。 四、缓存的最佳实践 1. **...
多维缓存系统就是指这种包含多个层次、不同性能特性的缓存组合。每一层缓存都在为减少数据获取时间做出贡献,形成了一个立体的、多层次的加速机制。 缓存的工作机制基于局部性原理:程序执行时,数据和指令往往在一...
1. 缓存一致性的定义及其在分布式系统中的重要性。 2. 缓存一致性理论模型的分类,包括严格、顺序和因果一致性模型。 3. 缓存数据结构的设计,以支持高效的数据访问和更新。 4. 组通信技术在实现缓存一致性中的关键...
清理缓存是维护系统稳定性和性能的关键步骤,特别是对于大型的HIS系统来说,由于处理大量数据,缓存管理尤为重要。缓存是系统为了提高响应速度,将常用或计算结果暂存的地方,当用户再次请求相同数据时,可以从缓存...
#### 二、FC-AL系统中弹性缓存的重要性 在FC-AL系统中,不同设备之间可能存在微小的时间偏差,这些偏差虽然很小,但如果未经适当处理,则可能导致数据同步问题,进而影响整个系统的稳定性和可靠性。通过在系统中...
Redis是一款高性能的键值对数据存储系统,常用于构建分布式缓存、消息队列和实时数据分析等场景。作为一款开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希表、集合、有序集合等,这些数据结构的...
系统缓存是一种优化技术,用于提高应用程序的性能,减少对资源的不必要消耗。在C# .NET环境中,缓存是至关重要的,尤其是在处理大量数据或频繁数据库查询时。缓存分为客户端缓存和服务器端缓存。 1. 客户端缓存: ...
此外,文章还提供了相关项目实践的背景信息,为读者理解缓存系统设计在真实世界应用中的重要性提供了支持。在当今信息技术迅猛发展的背景下,了解和掌握如何利用WCF等技术构建高效、稳定的分布式缓存系统,对于任何...
运行这个批处理文件可以方便地一次性完成上述操作,但需谨慎,因为它涉及对系统关键部分的修改。在运行之前,确认脚本来源的可信性,并确保已做好系统备份,以防止意外情况。 总之,定期清理图标缓存和系统托盘对于...
常见的分布式缓存系统如Redis、Memcached等,它们支持键值对存储,提供了高并发、低延迟的数据访问能力。此外,本章可能还会涉及一致性哈希算法,它是分布式缓存中解决数据分片和负载均衡的关键技术。 “分布式缓存...
一、缓存系统的重要性 分布式系统缓存设计之所以重要,是因为它可以大幅减少系统对后端数据库的访问压力,从而减少延迟,提高系统的响应速度。缓存的设计允许快速访问频繁使用的数据,对于提升用户体验和系统吞吐量...
系统图标缓存是Windows操作系统中一个重要的组成部分,它存储了所有程序、文件、文件夹以及系统元素的图标图像,以提高系统性能并提供快速的图标加载。当系统图标出现异常,如显示不全、错误或者加载缓慢时,可能...
需要注意的是,在执行这些操作之前,用户应该备份重要数据,尽管这个过程通常不会对系统稳定性造成影响,但预防总是优于治疗。此外,如果在使用工具后仍然遇到图标问题,可能需要检查是否有其他软件冲突,或者图标...
最后,作者屠雪真在摘要中提到的优化设计和实验证明,采用新技术的客户端在处理突发业务量冲击方面表现更为优秀,这证明了对于分布式缓存系统客户端进行关键技术研究的重要性。通过在异步多线程、双缓冲队列、连接池...
**集中式缓存系统 Memcached 深度解析** Memcached 是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。其设计目标是通过在内存中存储数据来减少对数据库的...
在Linux系统运维工作中,定期清理系统缓存是一项非常重要的任务。缓存虽然能够提高数据读取速度,但随着时间的推移,缓存文件会逐渐积累占用大量磁盘空间,并可能导致系统性能下降。因此,开发一个有效的Linux系统...
缓存技术在.NET框架中扮演着至关重要的角色,它能够存储数据以便快速访问,从而减少对数据库或其他慢速资源的依赖。在这个文档中,我们将深入探讨.NET缓存的不同类型、使用场景以及缓存的优缺点。 首先,我们来看...
因此,清理系统缓存文件成为一项重要的维护操作。通过删除这些无用数据,不仅能释放出宝贵的空间,还能帮助电脑运行得更加流畅。 本文将探讨如何通过自动化的工具进行系统缓存文件的清理。这种工具往往是一个批处理...