如何测试服务器的稳定性?

如何测试服务器的稳定性?,第1张

服务器稳定性是最重要的,如果在稳定性方面不能够保证业务运行的需要,在高的性能也是无用的。

  正规的服务器厂商都会对产品惊醒不同温度和湿度下的运行稳定性测试。重点要考虑的是冗余功能,如:数据冗余、网卡荣誉、电源冗余、风扇冗余等。

  一些测试方法主要分以下几种:

  压力测试:已知系统高峰期使用人数,验证各事务在最大并发数(通过高峰期人数换算)下事务响应时间能够达到客户要求。系统各性能指标在这种压力下是否还在正常数值之内。系统是否会因这样的压力导致不良反应(如:宕机、应用异常中止等)。

  Ramp Up 增量设计:如并发用户为75人,系统注册用户为1500人,以5%-7%作为并发用户参考值。一般以每15s加载5人的方式进行增压设计,该数值主要参考测试加压机性能,建议Run几次。以事务通过率与错误率衡量实际加载方式。

  Ramp Up增量设计目标: 寻找已增量方式加压系统性能瓶颈位置,抓住出现的性能拐点时机,一般常用参考Hits点击率与吞吐量、CPU、内存使用情况综合判断。模拟高峰期使用人数,如早晨的登录,下班后的退出,工资发送时的消息系统等。

  另一种极限模拟方式,可视为在峰值压力情况下同时点击事务操作的系统极限操作指标。加压方式不变,在各脚本事务点中设置同集合点名称(如:lr_rendzvous("same");)在场景设计中,使用事务点集合策略。以同时达到集合点百分率为标准,同时释放所有正在Run的Vuser。

  稳定性测试:已知系统高峰期使用人数、各事务操作频率等。设计综合测试场景,测试时将每个场景按照一定人数比率一起运行,模拟用户使用数年的情况。并监控在测试中,系统各性能指标在这种压力下是否能保持正常数值。事务响应时间是否会出现波动或随测试时间增涨而增加。系统是否会在测试期间内发生如宕机、应用中止等异常情况。

  根据上述测试中,各事务条件下出现性能拐点的位置,已确定稳定性测试并发用户人数。仍然根据实际测试服务器(加压机、应用服务器、数据服务器三方性能),估算最终并发用户人数。

  场景设计思想:

  从稳定性测试场景的设计意义,应分多种情况考虑:

  针对同一个场景为例,以下以公文附件上传为例简要分析场景设计思想:

  1)场景一:已压力测试环境下性能拐点的并发用户为设计测试场景,目的验证极限压力情况下测试服务器各性能指标。

  2)场景二:根据压力测试环境中CPU、内存等指标选取服务器所能承受最大压力的50%来确定并发用户数。

  测试方法:采用1)Ramp Up-Load all Vusers simultaneously

  2)Duration-Run Indefinitely

  3)在Sechedule-勾选Initalize all Vusers before Run

  容错性测试:通过模拟一些非正常情况(如:服务器突然断电、网络时断时续、服务器硬盘空间不足等),验证系统在发生这些情况时是否能够有自动处理机制以保障系统的正常运行或恢复运行措施。如有HA(自动容灾系统),还可以专门针对这些自动保护系统进行另外的测试。验证其能否有效触发保护措施。

  问题排除性测试:通过原有案例或经验判断,针对系统中曾经发生问题或怀疑存在隐患的模块进行验证测试。验证这些模块是否还会发生同样的性能问题。如:上传附件模块的内存泄露问题、地址本模块优化、开启Tivoli性能监控对OA系统性能的影响等等。

  测评测试是用于获取系统的关键性能指标点,而进行的相关测试。主要是针对预先没有明确的预期测试结果,而是要通过测试获取在特定压力场景下的性能指标(如:事务响应时间、最大并发用户数等)。

  评测事务交易时间:为获取某事务在特定压力下的响应时间而进行的测试活动。通过模拟已知客户高峰期的各压力值或预期所能承受的压力值,获取事务在这种压力下的响应时间。

  评测事务最大并发用户数:为获取某事务在特定系统环境下所能承受的最大并发用户数而进行的测试活动。通过模拟真实环境或直接采用真实环境,评测在这种环境下事务所能承受的最大并发用户数。判定标准阈值需预先定义(如响应时间,CPU占用率,内存占用率,已出现点击率峰值,已出现吞吐量峰值等)。

  评测系统最大并发用户数:为获取整个系统所能够承受的最大并发用户数而进行的的测试活动。通过预先分析项目各主要模块的使用比率和频率,定义各事务在综合场景中所占的比率,以比率方式分配各事务并发用户数。模拟真实环境或直接采用真实环境,评测在这种环境下系统所能承受的最大并发用户数。判定标准阀值预先定义(如响应时间,CPU占用率,内存占用率,已出现点击率峰值,已出现吞吐量峰值等)。取值标准以木桶法则为准(并发数最小的事务为整个系统的并发数)。

  评测不同数据库数据量对性能的影响:针对不同数据库数据量的测试,将测试结果进行对比,分析发现数据库中各表的数据量对事务性能的影响。得以预先判断系统长时间运行后,或某些模块客户要求数据量较大时可能存在的隐患。

  问题定位测试在通过以上测试或用户实际操作已经发现系统中的性能问题或怀疑已存在性能问题。需通过响应的测试场景重现问题或定义问题。如有可能,可以直接找出引起性能问题所在的代码或模块。

  该类测试主要还是通过测试出问题的脚本场景,并可以增加发现和检测的工具,如开启Tivoli性能监控、开启HeapDump输出、Linux资源监控命令等。并在场景运行过程中辅以手工测试。

其实在租用之前你应该先让服务商提供下IP以及网站案例测试好速度与稳定性后再决定是否租用现在服务器已经开通你需要让服务商把用户名和密码给你如果你想测试的话建议把自己的网站架设上去然后找各个不同地区的朋友帮你打开网站参考下速度与稳定性也可以借助于一些测试网站比如说卡卡测速网来测试全国各地以及国外等不同地区访问你网站所需要的时间

1,SATA接口的硬盘最简单;

2,SAS接口向下兼容SATA,但SATA接口并不能直接使用SAS硬盘,需要转接卡,但转接卡会影响SAS硬盘的性能测试的准确性;

3,SCSI接口硬盘,这个也比较麻烦,也要购SCSI卡。当然市面上也有SCSI转SATA卡,但转接后同样性能大降。

所以用台式机来测试上述三种硬盘还得满足这些条件。

测试软可用HD Tune Pro、Adptec EZ SCSI 以及Hard Disk Sentinel 等对应的软件。

性能测试都包括以下几个方面:

负载测试 -- Load Testing

在一定的软件、硬件及网络环境下,通过改变系统负载方式来发现系统中所存在的性能问题。测试服务器的性能指标是否在用户的要求范围内,用于确定系统所能承载的最大用户数、最大有效用户数。关注不同用户数下的系统响应时间及服务器的资源利用率。

压力测试 -- Stress Testing

在一定的软硬件及网络环境下,通过模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下长时间连续运行,用以测试服务器在高负载情况下是否能够稳定工作,目的是找到系统在哪里失效以及失效时候的反应。比如CPU达到极限,内存溢出,资源无法回收,系统无响应等,均是失效的表现。

配置测试 -- Configuration Testing

在不同的软件、硬件以及网络环境配置下,通过运行一种或多种业务在一定的虚拟用户数量情况下,获得不同配置的性能指标,用于选择最佳的设备及参数配置。

容量测试 -- Volume Testing

在一定的软硬件及网络环境下,向数据库中构造不同数量级别的数据记录,通过运行一种或多种业务在一定的虚拟用户数量情况下,获取不同数据级别的服务器性能指标用以确定数据库的最佳容量。

1、通用指标

指Web应用服务器、数据库服务器必需测试项,包括:处理器时间:指服务器CPU占用率,一般平均达到70%时,服务就接近饱和。可用内存数:如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重。物理磁盘读写时间。

2、Web服务器指标

平均每秒响应次数为总请求时间与秒数之比。平均每秒业务脚本的迭代次数。成功的请求和失败的请求。成功的点击次数和失败的点击次数。每秒点击次数、每秒成功的点击次数和每秒失败的点击次数。尝试连接数。

3、数据库服务器指标

用户连接数,也就是数据库的连接数量。数据库死锁量。数据库缓存的命中情况。

扩展资料

对被测的Web应用程序进行需求分析,即对所做的测试作一个简要的介绍,包括描述测试的目标和范围,所测试的目标要实现一个什么样的功能,总结基本文档、主要活动。

写出测试策略和方法,这里包括测试开始的条件、测试的类型、测试开始的标准以及所测试的功能、测试通过或失败的标准、结束测试的条件、测试过程中遇到什么样的情况终止和怎么处理后恢复等。 

一个Web应用程序由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界。在实际应用中,Web应用程序由多个Servlet、JSP页面、HTML文件以及图像文件等组成。所有这些组件相互协调为用户提供一组完整的服务。

-web应用程序

-Web测试

面向Web应用系统的测试与传统的软件测试不同,不仅需要检查和验证是否按照需求规格说明书的要求运行,而且还要测试Web应用系统在不同浏览器上显示是否符合要求,与不同的数据库连接是否有效、更重要的是在性能、安全性、可用性等方面 功能测试、性能测试、安全性测试、配置和兼容性测试、可用性测试、链接测试等。 链接是Web应用系统用户界面的主要特征,它指引着Web用户在页面之间切换,以完成Web应用系统的功能 测试重点:链接是否正确、链接页面是否存在、是否有孤立的页面(没有链接指向的页面)等。 表单测试 表单(Form)是指网页上用于输入和选择信息的文本框、列表框和其他域,实现用户和Web应用系统的交互,当用户给Web应用系统管理员提交信息时,需要使用表单操作,如用户注册、登录、信息提交、查询等 测试重点 表单控件的正确性 提交信息的完整性、正确性 是否有错误处理 Cookie测试 Cookie通常标识用户信息,记录用户状态。 使用Cookie技术,当用户使用Web应用系统时,能够在访问者的机器上创立一个叫做Cookie的文件,把部分信息(访问过的页面、登录用户名、密码等)写进去,来标识用户状态。如果该用户下次再访问这个Web应用系统,就能够读出这个文件里面的内容,正确标识用户信息 如果Web应用系统使用了Cookie,必须检查Cookie是否能正常工作,是否按预定的时间进行保存内容 设计语言测试 在Web应用系统开发初始,根据软件工程的要求用文档的形式确定Web应用系统使用哪个版本的HTML标准,允许使用何种脚本语言及版本,允许使用何种控件,这样可以有效的避免Web应用系统开发过程中出现设计语言问题。 其他测试 数据库测试 面向任务、业务逻辑的测试 探查性测试 回归测试 速度测试: 对于最终的Web应用系统用户而言,最关心的性能问题是访问Web应用系统页面时,多长时间才能显示出来所需要的页面 通常情况下,响应时间不超过5秒 有些Web应用系统有超时限制,如果响应时间太慢,用户可能还没来得及浏览内容,就需要重新登录了 影响响应时间的原因有很多 应用程序服务器需要从数据库的大量数据中检索信息 服务器硬件影响(CPU、内存) 所访问页面文件大小 网络连接带宽 负载测试 负载测试是为了测量Web应用系统在一定负载情况下的系统性能,通常得出的结论是Web应用系统在一定的硬件条件下可以支持的并发用户数目或者单位时间数据(或事件)的吞吐量。 在进行负载测试前,需要定义标准用户(活动用户)的概念,定义执行典型的系统流程,定义负载测试执行总时间,定义抓取哪些事务的平均响应时间,定义用户可以接受的平均响应时间(通常为5秒) 测试时,增加用户数量,平均响应时间就会增加,当达到用户可以接受的平均响应时间这个临界点,即是此系统可以支持的并发用户数 压力测试 对Web系统进行压力测试,类似于普通机械、电子产品进行的破坏性试验。方法是实际破坏Web应用系统,测试系统的反应 压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃,崩溃以后会怎么样。 在Web应用系统性能测试过程中,常常将压力测试和负载测试结合起来。在负载测试的基础上,增大负载量,直到系统崩溃 实施性能测试需要注意 测试工具灵活使用 性能测试计划的制定 由于数据库安全性导致的Web应用系统安全性问题 Access数据库文件被下载 用户重要信息没有经过加密而存于数据库中 确认操作系统安全性 ,避免因操作系统漏洞导致Web应用程序的安全性问题 Web应用系统多采用登录的方式,产品发布时提供默认的管理员用户名和密码 确保应用系统实际应用中可修改默认管理员帐号和密码 用户名和密码设置要求(长度、大小写敏感、复杂度) 允许错误登录的次数 是否可以不登录而直接浏览某个页面 保证日志文件记录了Web应用系统的主要操作过程,并可根据日志文件追查到系统使用情况;同时还需要保证日志文件本身的安全性、完整性,防止被入侵者删除、获得 当Web应用系统采用了SSL等加密技术之后,需要确认加密、解密后信息传递的正确性和完整性 需要确认Web应用系统是否有超时设置,如有,则保证在超时设置时间内,如果未操作Web应用系统,当再次访问系统,需要重新登录 了解安全漏洞信息,避免Web应用系统中出现的漏洞被入侵者利用;及时升级补丁程序,提高系统安全性 Web应用系统多采用分布式体系结构,服务器端通常包括Web服务器组件、数据库服务器组件等。服务器还可能运行在不同的操作系统上,并且这些组件、操作系统等还可以有不同的配置方法,所以针对服务器的兼容性测试往往工作量较大 针对客户端浏览器的配置和兼容性测试是必不可少的,并且占据了Web应用系统客户端配置和兼容性测试的大部分时间 典型的应用服务器: Web服务器: 通过MS IIS、BEA Weblogic、IBM Websphere、Tomcat、Sun J2EE Application、Apache等中间件、插件,提供Internet/Intranet Web服务,实现与众多客户之间的数据交换和共享 数据库服务器 主要提供数据库查询、处理的平台,通过Oracle、SQLServer、Informix、DB2、Sybase、MySQL等中大型的数据库管理系统来构建 实时通信服务器 提供数据实时通信、消息传递等服务,如MSN、Yahoo message和ICQ等专用服务器服务器端配置和兼容性测试内容 Web服务器、数据库服务器、防火墙、操作系统、硬件兼容性等。

性能测试包括负载测试和压力测试。

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何测试服务器的稳定性?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情