`

系统性能优化方法

阅读更多
最近在看《java程序性能优化》这本书,作者写的非常好,没有看过的同学,建议大家可以去买来看看。由于我也是是刚开始看,所以看完后在此做个回顾。这里主要介绍3种系统性能优化的方法:增加缓冲区、使用缓存以及负载均衡。至于设计模式相关的就不在这里介绍了。
1、缓冲区(buffer)
缓冲区是一块特定的内存区域,开辟缓冲区的目的是通过缓解应用程序上下层之间的性能差异,提高系统的性能。比如:将茶壶(上层系统)中的水倒入一个水瓶子(下层系统)中,茶壶的出水速度可以很快,但水瓶的瓶口很细,此时就需要加入一个漏斗(相当于缓冲器),将水壶中的水先倒入漏斗中,漏斗中的水在慢慢流到水瓶内,由于茶壶出水比较快,待茶壶中的水全部倒入漏斗中时,相当于上层系统的操作完成了,只要等待漏斗中的水全部流入水瓶中即可。犹如将内存中的数据写入硬盘一样,内存写出数据的速度很快,而写入数据到硬盘上的速度相对比较慢,所以中间需要加入一个缓冲区,将内存中的数据线写到缓冲区中,然后再将缓冲区中的数据写入硬盘中,内存中的数据全部写到缓冲区后,内存就可以去进行其他的操作了,而不需要再等缓冲区的数据全部写入到硬盘中,待缓冲区中的数据全部写入到硬盘中后,缓冲区的数据就清空了。内存写数据到硬盘就借助一个缓冲区来协调上层组件和下层组件的性能差。其好处是上层应用组件不需要等待下层组件真实地接受全部数据,即可返回操作,加快了上层组件的处理速度,从而提升系统整体性能。
2、缓存(cache)
缓存是一块为提升系统性能儿开辟的内存空间,主要作用是暂存数据处理结果,并提供下次访问使用。缓存可以保存一些来之不易的数据或者计算结果,当需要再次使用这些数据的时候,可以从缓存中低成本地获取,而不需要再占用宝贵的系统资源。大家用兴趣可以去了解一下ehcache、oscache、jbosscache等缓存框架,在此不做深入探讨。
3、负载均衡
对大型应用来说,系统负载可能非常重要,以网站为例,如果并发数很多,则单台计算机就无法承受,此时,为保证应用程序的服务质量,需要使用多台计算机协同工作,将系统负载尽可能均匀地分配到各个计算机节点上。
3.1、tomact集群:
使用apache服务器作为负载分配器,将请求转向各个tomcat服务器,从而实现负载均衡。tomcat集群有两种session共享模式:黏性session模式和复杂session模式。黏性session模式:就是所有session被平均分配到各个tomcat节点上,以实现负载均衡,但如果某个tomcat宕机,则该tomcat上的session信息将丢失,所有不建议使用改session模式。复杂session模式:将使得所有session在所有tomcat节点上保持一致,如果某台tomcat节点宕机了,则该tomcat节点上session信息仍然在其他tomcat节点上,从而不必担心丢失客户session问题。在次推荐一个专门用于分布式缓存的框架Terracotta,有兴趣的同学可以去了解一下,在此就不介绍了。
0
1
分享到:
评论

相关推荐

    基于WEB的大型Oracle应用系统性能优化方法研究.pdf

    【标题】:“基于WEB的大型Oracle应用系统性能优化方法研究” 【描述】:该文档主要探讨了一个基于WEB的Oracle应用系统性能优化的实践案例,针对一个用于绩效管理的系统进行了性能提升,涉及到SQL优化、AJAX技术...

    Android性能优化.pdf

    【Android性能优化】是...综上,Android性能优化是一个系统性工程,需要综合考虑用户体验、系统资源利用、应用稳定性和效率等多个方面,通过对各个细节的深入理解和优化,才能打造出高效、稳定且用户友好的应用。

    系统性能优化解决方案.docx

    "系统性能优化解决方案" 系统性能优化解决方案是一种旨在解决系统性能瓶颈、提高系统可用性和可靠性的解决方案。该解决方案涵盖了多个方面,包括缓存优化、程序容错优化、部分项目拆分、基础平台组件功能完善等。 ...

    基于机器学习的动态分区并行文件系统性能优化.pdf

    综上所述,论文所提出的基于机器学习的动态分区并行文件系统性能优化方法,在理论和实践上都展示出了其先进性。它为并行文件系统的性能优化提供了一个全新的视角,即将机器学习理论与并行文件系统的设计相结合,通过...

    阿里巴巴Java性能调优实战(2021-2022华山版)+Java架构核心宝典+性能优化手册100技巧.rar

    阿里巴巴Java性能调优华山版是一套系统性能调优教程,!通过这份笔记的学习,你将会有一个系统的调优头脑和策略!快了何止100%?需要的朋友可下载试试! 众所周知性能调优可以使系统稳定,用户体验更佳,甚至在...

    分布式文件系统GlusterFS性能优化研究.pdf

    分布式文件系统GlusterFS性能优化研究中涉及到的关键知识点包括分布式文件系统的基本概念、GlusterFS的架构特点、性能优化策略以及优化测试和实验平台的搭建和分析方法。 首先,分布式文件系统是一种把数据存储在多...

    基于ARM的嵌入式Linux终端系统性能实时优化.pdf

    在探讨了内存优化和实时性能优化的基础上,本文还展望了基于ARM的嵌入式Linux终端系统性能实时优化的应用前景。随着嵌入式技术、人工智能技术与通信技术的融合发展,基于ARM的嵌入式Linux系统应用前景十分广阔,对于...

    性能优化方法论,优化思想:增加资源、减少耗时操作(合并、压缩、复用等)、提高资源利用率(空间换时间、同步转异步等)等

    【性能优化方法论】 性能优化是提升系统效率和用户体验的关键环节,主要目标是解决资源有限性和用户需求之间的矛盾。在优化过程中,我们会采取多种策略,包括增加资源、减少耗时操作、提高资源利用率以及调整产品...

    更快、更强—— AIX性能优化

    ### 性能优化方法 性能优化的方法可以分为几个步骤: 1. **了解系统架构,收集信息**:这是优化的第一步,需要对系统进行全面的了解,包括硬件配置、软件版本、负载情况等,以便于后续的瓶颈分析和优化决策。 2. ...

    系统性能优化的集中方法

    系统性能优化是提升应用系统效率的关键,涉及到多个层面的技术和策略。本文主要探讨了三个方面的优化方法:数据访问优化、数据库优化以及应用程序优化。 首先,数据访问优化关注于减少不必要的资源消耗。第一层次是...

    oracle数据库性能优化.pdf

    共享池则存放最近使用的SQL语句,减少解析时间,提升系统性能。不过,过大或过小的共享池都可能导致性能下降,因此需要合理设定,如系统内存为1G时,共享池建议设为150M-200M,并随内存增加适当增加,但最大不超过...

    优化Linux系统性能.pdf

    Linux系统性能优化是每个Linux用户都需要了解和掌握的重要知识点。今天,我们将讨论如何优化Linux系统性能,包括系统状态、CPU周期百分比、每个进程占用的存储空间、每个进程运行的时间等信息。 在Linux系统中,...

    oracle数据库系统性能和应用性能优化

    Oracle数据库系统性能和应用性能优化是数据库管理员和开发人员关注的重要领域,它涉及到多个层面的调整和优化,以确保系统的高效运行。Oracle数据库是全球广泛使用的数据库管理系统,其性能直接影响到业务应用程序的...

    浅谈性能优化方法和技巧.pdf

    性能优化方法和技巧 性能优化是软件开发中非常重要的一部分,它关注系统的控制流程和数据流程、算法的选择和优化、代码的执行顺序和缓存相关的优化等多个方面。性能优化的目的是提高系统的性能,减少系统的负载,...

    C++性能优化技术导论.pdf

    C++性能优化是一个复杂的主题,它涉及编译器、算法、语言特性、硬件架构以及操作系统等多个层面。性能优化的目标是提升软件执行效率,减少资源消耗,缩短响应时间,以及提高吞吐量。下面将详细介绍这些性能优化的...

    Java 大型网站性能优化实战从前端网络 CDN 到后端大促的全链路性能优化

    微服务架构也是性能优化的重要手段,它将复杂系统拆分为多个小型独立的服务,每个服务都可以独立开发、部署和扩展,降低了系统的耦合度,提高了系统的灵活性和可扩展性。 监控和日志分析是性能优化的持续过程。通过...

    EBS性能调优之全面挖掘_V4.2(ebs性能优化、oracle性能优化、linux性能优化)

    数据库层优化主要包括两个方面:实例性能优化和SQL语句性能优化。实例优化涉及内存配置、后台进程调整和初始化参数设置,以确保数据的高效读写和处理。SQL优化则侧重于通过分析SQL执行计划,识别慢查询并应用索引、...

    Linux性能优化-内存篇_WEL.pdf

    通过了解Linux的内存管理机制和使用内存优化方法,可以提高系统性能。同时,使用性能优化工具可以帮助我们更好地监控和优化系统性能。 5. references * 《Linux Performance Optimization》 by WEL * 《Linux内存...

    性能优化PPT.pdf

    性能优化是指通过一系列技术和方法提升系统或应用程序在处理任务时的速度、效率及稳定性等指标的过程。它旨在充分发挥硬件资源的优势,同时减少不必要的资源消耗,从而提高用户体验和系统的整体表现。 ##### 1.1 ...

Global site tag (gtag.js) - Google Analytics