服务器性能测试功能详解

并发测试

并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在隐藏的并发问题,如内存泄漏、线程锁、资源争用问题。

特点:

•主要目的是发现系统中可能隐藏的并发访问时的问题
•主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题。
•这种性能测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持
•也就是说,这种测试关注点是多个用户同时(并发)对一个模块或操作进行加压。

场景测试

场景测试就是基于场景的软件测试。

什么是场景?

场景就是假设的故事,用来帮助人们理解一个复杂的问题或者系统。

一个完美的场景测试有几个特征:

  1. 基于一个用户怎么使用软件的故事,包括用户的动机
  2. 故事具有感染力,有影响力的干系人会促使这个场景测试失败的程序得到修复
  3. 故事要可信,不仅在真实的世界中可能发生,而且将很可能发生。
  4. 故事包含对软件的复杂的使用,或者复杂的环境或者一套复杂的数据
  5. 测试结果容易评估

为什么使用场景测试?

  1. 学习产品
  2. 将需求文档和测试联系起来
  3. 暴露产品却吸纳
  4. 探索程序的专业用法
  5. 将需求相关的问题引出到台面上

创建好场景的12个方法创建好场景的12个方法:

  1. 写出系统中对象的生命历程。
  2. 列出可能的用户,分析他们的兴趣和目标
  3. 考虑恶意用户,他们可能怎么攻击你的程序
  4. 列出系统事件,系统怎么处理这些事件?
  5. 列出特殊事件,系统怎么容纳这些事件?
  6. 列出收益并创建端到端的任务来检查他们。
  7. 与用户面谈,找出老系统中他们最不满意的地方。
  8. 与用户一起工作,观察他们怎么工作,做什么。
  9. 阅读类似的系统会做什么。
  10. 研究对这个系统以前版本和竞争对手的抱怨。
  11. 创建一个模拟业务,认真对待这个模拟业务并处理相关的数据。。
  12. 试着把竞争对手和以前版本的真实数据转换到新的系统。

场景测试的风险

  1. 在早期,不稳定的代码上,场景测试的效果不如其他方式,因为场景测试比较复杂,包含许多特性,一旦第一个特性出错,就会阻碍其他特性的测试。
  2. 场景测试不是为了全部覆盖整个程序。
  3. 场景测试经常发现的是设计问题,而不是代码问题,代码问题更适合由其他的测试来发现。

负载测试

通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。

特点:

•主要目的是找到系统中所存在的性能问题
•需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力和典型场景、使得测试结果具有业务上的意义。
•一般用来了解系统的性能容量,或是配合性能调优来使用。

接口测试

接口测试是测试系统组件间接口的一种测试。

接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

接口测试一般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。接口测试在淘宝的应用是一个自下而上的发展过程。

接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比,接口测试天生为搞复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。

接口测试的目的是测试接口,尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数。外部接口测试一般是作为系统测试来看待的。

容量测试

通过性能测试,如果找到了系统的极限或苛刻的环境中系统的性能表现,在一定的程度上,就完成了负载测试和容量测试。

容量可以看作系统性能指标中一个特定环境下的一个特定性能指标,即设定的界限或极限值。

容量测试的目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。

软件容量的测试能让软件开发商或用户了解该软件系统的承载能力或提供服务的能力,如某个电子商务网站所能承受的、同时进行交易或结算的在线用户数。知道了系统的实际容量,如是不能满足设计要求,就应该寻求新的技术解决方案,以提高系统的容量。有了对软件负载的准确预测,不仅能对软件系统在实际使用中的性能状况充满信心,同时也可以帮助用户经济地规划应用系统,优化系统的部署。

性能调优

指为软件提供较佳的性能,用于处理系统响应速度太慢等。

现象

一般观测性能问题的现象有:
• ? 系统响应速度太慢。
• ? 每秒所完成的系统输出/入低于预期。
• ? 相同的环境,但每秒钟所完成的批操作较先前少。
• ? 系统资源(如CPU、内存、硬盘或网络等)长时间处于耗尽的状态。

性能调优,首先是要确定性能调优的目标是什么,定义性能目标通常有这样几个指标:

1、最大并发数

2、Quality of Service 服务的质量,在软件系统方面我们认为主要表现在请求的出错率,系统的load等。

3、最长响应时间 对于任何请求所能承受的最大响应时间。

4、TPS 每秒需要支持的最大事务数,最典型的指标是:“某页面最高需要支撑每秒7000次的访问次数”。
例如一个web系统,需要定义出来的目标是:
并发目标:最高支撑200并发;
QoS:出错率须控制在万分之一,系统的load最高只能到达10;
TPS:每秒完成7000次请求的处理;
最大响应时间:最长允许的响应时间为5秒。
至于请求的平均响应时间这些就不在性能调优目标中定义,因为要达到TPS的要求,响应时间是必须要达到一个级别的,而且响应时间随着高并发是会出现劣化的。
也可以把性能指标定到更为细节,例如某个方法的TPS在100并发时需要达到多少。

尝试列出系统中各个组件合理的性能消耗,可以帮助你理清整个系统访问中,各个组件所占的性能消耗比例,哪些部分有可以调整的空间。另外,再搭配调整该部分的成本有多高,让你了解调整的优先级,并对系统的极限有更佳的认识。

可靠性测试(稳定性测试)

在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。

特点:

•这种性能测试方法的主要目的是验证是否支持长期稳定的运行。
•这种性能测试方法需要在压力下持续一段时间的运行。(2~3天)
•测试过程中需要关注系统的运行状况。
•也就是说,这种测试的关注点是“稳定”,不需要给系统太大的压力,只要系统能够长期处于一个稳定的状态。

压力测试(强度测试)

l模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。

特点:

•主要目的是检查系统处于压力性能下时,应用的表现。
•一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。
•一般用于测试系统的稳定性。
•让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题。

时间: 2024-10-13 07:01:26

服务器性能测试功能详解的相关文章

单机架设传奇服务器第47课:定时器OnTimer功能详解

传奇定时器OnTimer功能详解(泡点.时间触发.任务活动) 定时器功能,是服务端中非常常见的一种功能,常见如:泡点脚本.赌博脚本,任务活动指定时间刷怪,时间触发一些都需要用到OnTimer功能,定时器总共有19个定时器可以开启.我们在添加新的定时器的时候我们先确定定时器有没有重复.直接在文本中搜索 @OnTimer 就可以了..后面跟的数字就是说明开启的是第几个定时器 我们首先就确定定时器是在服务器的位置.路径:mirserver\Mir200\Envir\MapQuest_def\QMana

zabbix专题:第九章 zabbix自动发现功能详解

zabbix自动发现功能详解 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.co zabbix自动发现功能详解 网络发现简介 有100台服务器,不想一台台主机去添加,能不能让zabbix自动添加主机呢,当然可以,网络发现便是这个功能,当然前提条件是所有服务器都已经安装了agent或者snmp(其实也可以不用,鉴于我们大部分功能都用agent,所以请安装上agent),server扫描配置好的ip段,自动添加ho

PHP5.2至5.6的新增功能详解

截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注].因为 PHP 那"集百家之长"的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣.本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征. PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数

ServletContext作用功能详解

ServletContext作用功能详解 ServletContext,是一个全局的储存信息的空间,服务器开始, 其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而servletContext,所有用户共用一 个.所以,为了节省空间,提高效率,ServletContext中,要放必须的.重要的.所有用户需要共享的线程又是安全的一些信息. 换一种方式说吧,运行在JAVA虚拟机中的每一个Web应用程序都有一个与之相关的Servlet上下文.Servle

使用【百度云推送】第三方SDK实现推送功能详解

之前介绍过如何使用shareSDK实现新浪微博分享功能,今天介绍如何使用百度云推送SDK实现Android手机后台推送功能. 运行效果如下 第一步,如果使用百度的SDK,当然要先成为百度的开发者啦,这个就不详述了.成为开发者之后,我们要建立一个应用,如下图所示 第二步,创建好应用之后,我们点击开方者服务管理,进入工程管理页面,然后点击左侧云推送,进入云推送功能页面,具体如下图 进入云推送详细页面之后,我们点击推送设置,设置好我们的应用的包名,然后点击快速实例,将系统给我们产生的示例代码下载下来

.Net的Oracle数据库ORM控件dotConnect for Oracle下载地址及功能详解

原文来自龙博方案网http://www.fanganwang.com/product/1330转载请注明出处 dotConnect for Oracle完全基于ADO.NET方法,因此您完全可以采用标准ADO.NET数据提供的方法来使用它.是一款为Microsoft .NET Framework提供直接Oracle数据库连接的数据发生器控件. 具体功能: 无需Oracle客户端,采用直接模式提供数据库连接 100%代码管理 具有高表现性能 支持Oracle 10g, 9i, 8i 和 8.0,包

PHP 5.2、5.3、5.4、5.5、5.6 对比以及功能详解

PHP 5.2.5.3.5.4.5.5.5.6 对比以及功能详解 截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注]. 因为 PHP 那"集百家之长"的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣. 本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征. PHP5.2 以前:autoload, PDO 和 MySQLi, 类型

PHP源代码加密软件工具zend guard 使用教程及免费下载功能详解loader 安装破解

原文来自龙博方案网http://www.fanganwang.com/product/1368 Zend Guard?,以前称为的 Zend 编码器,从逆向工程,未经许可定制,无牌使用和再分配方面保护您的商业 PHP 4和 PHP 5应用. Zend Guard?,倾向前身 Zend 编码器,许独立软件供应商(ISVs)和 IT 经理们安全地和自信地分配和管理他们的 PHP 应用的开发,同时己的源代码. Zend Guard? 不仅能编码你们应用软件的源代码,而且还通过不同的应用组件名称的困惑来

SVN功能详解

SVN功能详解 TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具.通过使用它,我们可以可视化的管理我们的版本库.不过由于它只是一个客户端,所以它不能对版本库进行权限管理. TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便. TortoiseSVN每个菜单项都表示什么意思 01.SVN Checkout(SVN取出)点击SVN Checkout,弹出检出提示框,在URL of repository输入框中输入服务器仓库地址