前几年做了很多性能测试和性能优化,也看了很多国内国外的性能优化方面的资料,现在把血泪中得来的经验教训跟大家聊聊,看看对自己的项目是否有用。
性能优化之前首先进行性能测试:
性能测试的要点:
(1)排除性能测试中的干扰因素。
例如如果对C/S模式服务器进行测试,那么就尽量使用LoadRunner的TCP方式来进行,避免在测试过程这中,客户端进程运算和IO等等。尽量避免周边系统给测试目标带来的干扰。
例如对性能非常敏感的情况下,使用自用交换机搭建网络、或使用直连线等等
这些,都是为了保证能得到稳定且准确有效的性能测试。尤其是对一个产品进行性能优化,可能需要反反复复的进行性能测试,来确认性能优化的效果,如果性能测试结果不稳定,受环境干扰很大,做起来就非常困难了。
(2)良好的监控手段
在性能测试这,应该充分建设好监控设施,例如使用JMX、使用操作系统命令、数据库的监控SQL等等来监控系统性能测试期间的各种数据变化(有和性能曲线对应的图最好)。有了这些数据,分析起来就容易多了。
最麻烦的是,这些监控手段,很有可能会影响到系统的性能,所以应该是能够简单加上监控,也能简单关闭这些监控设施,把有监控情况下的性能图表和没有监控下的图表仔细对比分析。
(3)最大能力测试
在开始调优之前,首先需要明确,系统的性能,大多数情况下 ,受限于硬件、周边系统的能力,例如,一套软件产品安装在客户的环境里,可能会受到客户网络带宽的影响,百兆网、千兆网、双千兆网卡bind差别很大;如果需要调用客户的数据库,客户数据库的类型、客户数据库提供了多大的存取能力,都很大程度限制了系统的性能;如果是自己的产品,那么,CPU的最大能力、网络的最大能力、文件系统最大能力、DB调优的情况,都是系统性能的关键因素,在调优之前,首先应该关注,在现有的周边环境(硬件、软件、网络)下,产品自己理论上能做到的最高效率是多少呢?没有这个数据,后期的调优就没有控制和准确的概念了。
先写这些吧,后面明天再继续写吧。
相关推荐
01-性能优化的终极目标是什么? 用户体验 = 产品设计(非技术) + 系统性能 ≈ 系统性能 = 快? 应用性能是产品用户体验的基石,性能优化的终极目标是优化用户体验。当我们谈及性能,最直观能想到的一个词是“快”,哪...
与服务器性能测试不同,在测试服务器性能时您可以不考虑CPU、RAM、NIC等变量,而应用程序性能测试涉及一次次小心翼翼地测试一个视图中一张表格的一个字段。考虑到某些定制的Notes应用程序的复杂性,这类测试不仅仅...
本文首先对CPU -GPU异构计算机系统的进行性能评测,通过对基准测试程序集运行结果的分析总结出制约异构系统性能的因素,然后在此基础上提出了相应的优化方法,最后以一个典型的科学计算类程序——矩阵乘法——的实现...
flash性能测试优化示例...有两个主要因素可以决定Flash的性能:CPU或GPU[解释:图形处理器(Graphics Processing Unit) ]的使用和内存的使用。这些因素不是互相独立的。一些优化方法也许在这个方面可以提升性能,但是...
1.2 性能优化的参考因素 1.3 性能调优分类方法 1.4 本章小结 第2章 优化前的准备知识 2.1 服务器知识 2.2 新兴技术 第3章 Java API调用优化建议 3.1 面向对象及基础类型 3.2 集合类概念 3.3 字符串概念 ...
为了减少这些因素的影响,提出将PF_RING与NAPI结合应用到捕包过程,以对性能进行整体优化。比较了PF_RING与传统数据包捕获机制的差异,分析了两者结合的优势,搭建实验平台,采用内核发包形式,进行实验仿真。在仿真...
如MySQL Schema设计的技巧,Query语句的性能优化方式方法及MySQL Server中SQL层和存储引擎层的优化思路。同时还分析了MySQL数据库中主要存储引擎的锁定机制 ●架构设计篇则主要以设计一个高可用可扩展的分布式企业级...
一、可行性研究报告 1、报告编写目的 2、项目概述--------------------------------------------------------(主要负责人:EEE) 2.1、项目背景 2.2、项目意义 2.3、项目目标 2.4、项目用途 3、技术可行性---------...
第9章 MySQL数据库Schema设计的性能优化 第10章 MySQL Server性能优化 第11章 常用存储引擎优化 第3篇 架构设计篇 第12章 MySQL可扩展设计的基本原则 第13章 可扩展性设计之MySQL Replication 第...
首先有一点必须明确的是,测试成本是一个很重要的因素,关键目的之一就是帮助降低器件的生产成本。甚至在优化的条件下,测试成本有时能占到器件总体成本的40%左右。良品率和测试时间必须达到一个平衡, 以取得最好...
第二部分 故障诊断与性能优化篇 第3章 故障诊断 72 3.1 影响mysql性能的因素 72 3.2 系统性能评估标准 73 3.2.1 影响linux服务器性能的因素 73 3.2.2 系统性能评估指标 74 3.2.3 开源监控和评估工具介绍 76 ...
哪些因素会成为系统的 哪些指标做为衡量系统的性能瓶颈? 性能测试注意的问题 定位性能问题的时候,可以使用自下而上的策略分析排查 优化性能问题的时候,可以使用自上而下的策略进行优化
由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...
以时间效益最大化为主要目标、成本最小化为次要目标,考虑灾后纵多不确定因素,基于系列假设和约束条件构建ELRP多目标优化模型;采用先定位分配,再安排路线的思路,首先根据时间窗、距离和路阻等因素进行应急中转站...
针对国产基础软件的医疗信息系统的性能需求,讨论了如何利用测试工具来测试系统的性能,并对影响系统性能的主要因素进行了分析,提出了一个系统的性能优化方案。测试结果表明,该方案提升了系统的整体性能。
§5.1 理解ORACLE性能优化 82 §5.1.1 响应时间与吞吐量的折衷 82 §5.1.2 临界资源 83 §5.1.3 过度请求的影响 83 §5.1.4 调整以解决问题 83 §5.2 优化的执行者 84 §5.3 设置性能目标 84 第7章 系统优化方法 85 ...
利用基于队列模型的检测方法在TPC-W测试床上进行软件老化检测得出了如下结论:基于TPS的老化检测可以融合外界负载因素,有效地检测软件老化;并且通过合理选择监测窗口,优化检测效果。基于TPS的检测方法对不同的...
想要知道自己的网站加载是否快速?对于访客是否有良好的用户体验;或者想要和其他网站比较加 载时间?看看哪个网站优化的更加优秀。那么就可以尝试使用whichloadsfaster这个在线工具。... 标签:性能测试