性能学习笔记(1)

为什么要进行性能测试

1.1 以最终用户的眼光看待性能

  "性能" 是用户的一种最终感受.一个性能优异的应用程序,在最终用户执行某项任务时,程序不会产生过度的延迟而引起用户的不满.

1.1.1 性能度量

  我们将它们划分为两种类型:服务型和效率型. 服务型指标有: 可用性和响应时间.它们所衡量的是应用程序为用户服务效果的好坏. 效率型指标有:吞吐量和利用率.它们所衡量的是应用程序的应用架构基础上发挥效率的高低.

  • 可用性: 它是应用程序对于最终用户的可用时间(就是我们平常说的平均无故障时间.系统在不出现故障的情况下可以运行的最长时间.有的时候也叫它作系统的‘可靠性‘)
  • 响应时间:应用程序对用户请求给出响应的时间.从用户端发出请求到接收到应用程序给出的完整响应所经历的时间.
  • 吞吐量: 面向应用程序的发生频率.如在一段特定的时间内对某个web页面点击的次数(每秒钟点击数 Hits/s:单位时间向web服务器发出的HTTP请求数,这里的请求包括HTML资源的请求和非HTML资源的请求)
  • 利用率:占用系统资源的百分比。例如,当1000个用户同时在线时,在应用程序上消耗了多少网络带宽,以及在服务器上占用了多少内存等。

我们将以上两种类型的指标结合起来考虑,就能够较准确地衡量一个应用程序的性能,以及它在应用框架基础上对系统能造成的影响。

1.1.2 性能标准

  目前还没有关于一个性能好坏的行业标准,业内倒是有许多非正式的标准,试图对系统的性能好坏做出评价。

  • 超过15秒:出现这种情况,就基本排除了交互的可能性。
  • 超过4秒:这样的延迟一般对于一个要求最终用户保存在短暂记忆里的会话来说太长了,这样的延迟将会妨碍解决问题的活动和破坏数据的录入。然而,当一个事物完成之后,4~15秒的延迟是可以忍受的。
  • 2~4秒:超过2秒的延迟可以被这种需求的高度集中所抑制。当用户专注地去完成一项手头的任务时,终端的一个2~4秒左右的延迟看起来就似乎非常长了。同样的,在一个无关紧要的任务结束后,2~4秒的延迟是无关紧要的,又是可以接受的。 当一个买家在输入了她才地址和信用卡号码之后,让她等待2~4秒时间,她也许可以接受,然而如果是在早先阶段,当她正在比较不能的产品功能差异时,却又是不可容忍的。
  • 低于2秒:当系统的用户需要记住几个响应消息时,此时的响应时间很短,如果要记住更为详细的信息,则要求就更高了,要求响应的时间不能超过2秒。因此,对于比较复杂的活动,例如通过不同的规格尺寸去浏览相机产品时,2秒是一个很重要的响应时间限制。
  • 亚秒:对于那些思想密集型的工作来说(比如一本书),尤其是一个图形应用程序,响应时间要非常短,才能够保持用户的兴趣和吸引他长时间的关注。当一个艺术家将一副图片拖曳到另外一个位置时,程序必须能够立即对他下一次的创意给出响应。
  • 0.1秒:在键盘上敲下一个按键,并在屏幕上出现相应的字符,或鼠标点击屏幕上一个对象,这种响应几乎是瞬间的。 很多电脑游戏都会要求非常快的交互响应。由此可见,关键的响应时间临界点是2秒。对于普通用户来说,响应时间超过2秒势必会对他们的使用造成一定的影响。

1.1.3 互联网的发展对于应用程序带来了商机也带来了性能方面的挑战

时间: 2024-08-27 23:42:59

性能学习笔记(1)的相关文章

《Java程序性能优化》学习笔记 Ⅰ设计优化

豆瓣读书:http://book.douban.com/subject/19969386/ 第一章 Java性能调优概述 1.性能的参考指标 执行时间: CPU时间: 内存分配: 磁盘吞吐量: 网络吞吐量: 响应时间: 2.木桶定律   系统的最终性能取决于系统中性能表现最差的组件,例如window系统内置的评分就是选取最低分.可能成为系统瓶颈的计算资源如,磁盘I/O,异常,数据库,锁竞争,内存等. 性能优化的几个方面,如设计优化,Java程序优化,并行程序开发及优化,JVM调优,Java性能调

Dynamic CRM 2013学习笔记(七)追踪、监控及性能优化

本文将介绍CRM的三个内容追踪.监控及性能优化.追踪是CRM里一个很有用的功能,它能为我们的CRM调试或解决错误.警告提供有价值的信息:我们可以用window的性能监控工具来了解CRM的性能状况:最后就是对CRM及其DB进行性能调整以让CRM达到最佳状态.   一.追踪 有二种追踪方式,一种是部署级,这种方式追踪所有的CRM 服务器上的角色.服务,默认情况,log文件在C:\crmdrop\logs:另一种是服务器级追踪,这种方式只追踪当前机器上运行的服务器角色.服务.默认情况,log文件在C:

kvm虚拟化学习笔记(二十一)之KVM性能优化学习笔记

本学习笔记系列都是采用CentOS6.x操作系统,KVM虚拟机的管理也是采用virsh方式,网上的很多的文章都基于ubuntu高版本内核下,KVM的一些新的特性支持更好,本文只是记录了CentOS6.x系列操作系统下KVM优化的点,有很多都是默认支持开启了的,除了采用virtio方式的磁盘IO,与网络IO接口优化之外,其它真是无需太多优化. 1. CPU性能优化 (1) 服务器或宿主机主板BIOS中开启Intel Virtualization Technology(简称VT), 如果主板支持In

CSS3与页面布局学习笔记(八)——浏览器兼容性问题与前端性能优化方案

一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运行平台还存在差异.屏幕分辨率不一样,大小不一样,比例不一样.兼容性主要可以分类为: 1).CSS兼容2).JavaScript兼容3).HTML兼容 这三类也是前端的主要组成部分,都存在一定的兼容性问题,知己知彼,百战百胜,我们先了解浏览器的发动机—内核. 多年前我们一直为IE6兼容烦恼,为它没少加

《Java程序性能优化》学习笔记 Ⅳ JVM调优

第五章 JVM调优5.1 Java虚拟机内存模型1.JVM虚拟机将其内存数据分为程序计数器.虚拟机栈,本地方法栈,Java堆,和方法去等部分.5.2 JVM内存分配参数5.3 垃圾收集基础5.4 常用调优案例和方法5.5 使用JVM参数5.6 实战JVM调优 <Java程序性能优化>学习笔记 Ⅳ JVM调优

Web应用程序性能优化学习笔记

Web应用程序性能优化学习笔记 1. 使用瀑布图初步诊断网站性能瓶颈 一般来说,打开一个网页的速度会受到以下几项的影响: 1) 服务器花了太长的时间将.aspx页面的内容转化为html. 2) .aspx页面花了太长的时间从服务器端将内容发送到客户端. 3) 页面上的图片或者flash文件花了太长的时间从服务器端发送到客户端. 4) JavaScript和CSS文件阻塞页面渲染. 我们可以使用“瀑布图”来确定一个页面的性能问题是由于哪一项造成的.FireBug.Chrome自带的“开发人员工具”

《Java程序性能优化》学习笔记 Ⅲ 并行程序优化

第四章 并行程序优化4.1 并行程序设计模式4.2 JDK多任务执行框架4.3 JDK并发数据结构4.4 并发控制方法4.5 锁的性能和优化4.6 无锁的并行计算 1.非阻塞同步避免了基于锁的同步的缺陷,无锁算法没有锁竞争带来的系统开销,也没有线程间频繁调度带来的开销.CAS算法:包含3个参数CAS(v,e,n).V表示要更新的变量,E表示预期值,N表示新值2.JDK的java.util.concurrent.atomic包下,有一组使用无锁算法实现的原子操作类,如AtomicInteger/A

《Java程序性能优化》学习笔记 Ⅱ程序优化

这一部分主要介绍代码层的优化.了解如何编写高效而精炼的代码,正确的使用函数方法.1.字符串优化处理Java语言中,String对象可以认为是对char数组的眼神和进一步封装.它主要由3部分组成:char数组.偏移量和String的长度.String对象的三个基本特点:不变性,针对常量池的优化,类的final定义. 不变性:是指String对象一旦生成,不能再对它进行改变,即immutable模式.不变模式的作用在于当一个对象需要被多线程共享,并且访问频繁时,可以省略同步和所等待的时间,大幅提高系

Jmeter进阶学习笔记(对性能、接口测试的进阶学习)

1.在进行测试的时候,可以采用fildler进行捕捉:如果需要在手机上操作的话,可在fildler option设置下,然后再手机的wifi中设置代理即可: 1.登录测试 登录的话,肯定是存在两个参数的,用户名与密码,且使用的方法应是Post; PS:登录此处还可以使用断言去判断是否登录正确: 2.获取列表系统(可以看下加载此列表需要多少时间),使用的get方法即可: 3.在列表中选择某一条记录进行发送信息操作(如果10万用户都同时发送信息,服务器是否正常工作): ...... 未完待续~ Jm