Stress Tests

Stress Tests determine the load under which a system fails, and how itfails.  This is in contrast to Load Testing, which attempts to simulateanticipated load.  It is important to know in advance if a ‘stress’situation will result in a catastrophic system failure, or if everything just“goes really slow”.  There are various varieties of Stress Tests, includingspike, stepped and gradual ramp-up tests. Catastrophic failures requirerestarting various infrastructure and contribute to downtime, a stress-fullenvironment for support staff and managers, as well as possible financiallosses.  If a major performance bottleneck is reached, then the systemperformance will usually degrade to a point that is unsatisfactory, butperformance should return to normal when the excessive load is removed.

Before conducting a Stress Test, it is usually advisable to conduct targeted infrastructure tests on each of thekey components in the system. A variation on targetedinfrastructure tests would be to execute each one as a mini stress test.

The diagram below shows an unexpectedly high amount of demand on atypical web system.  Stress situations are not expected under normalcircumstances.

The following table lists possible situations for a variety ofapplications where stress situations may occur.

Type of Application

Circumstances that could give rise to Stress levels of activity.

Online Banking

After an outage - when many clients have been waiting for access to the application to do their banking transactions.

Marketing / Sales Application

Very successful advertising campaign - or substantial error in advertising campaign that understates pricing details.

Various applications

Unexpected publicity - for example, in a news article in a national online newspaper.


Focus of stress test.

In a stress event, it is most likely that many more connections will berequested per minute than under normal levels of expected peak activity. In many stress situations, the actions of each connected user will not betypical of actions observed under normal operating conditions. Thisis partly due to the slow response and partly due to the root cause of thestress event.

Let’s take an example of a large holiday resort web site.  Normalactivity will be characterized by browsing, room searches and bookings. If a national online news service posted a sensational article about the resortand included a URL in the article, then the site may be subjected to a hugenumber of hits, but most of the visits would probably be a quick browse. It is unlikely that many of the additional visitors would search for rooms andit would be even less likely that they would make bookings.  However, ifinstead of a news article, a national newspaper advertisement erroneouslyunderstated the price of accommodation, then there may well be an influx ofvisitors who clamour to book a room, only to find that the price did not matchtheir expectations.

In both of the above situations, the normal traffic would be increasedwith traffic of a different usage profile.  So a stress test design wouldincorporate a Load Test as well as additional virtual users running a specialseries of 'stress' navigations and transactions.

For the sake of simplicity, one can just increase the number of usersusing the business processes and functions coded in the Load Test. However, onemust then keep in mind that a system failure with that type of activity may bedifferent to the type of failure that may occur if a special series of 'stress'navigations were utilized for stress testing.

Stress test execution.

Typically, a stress test starts with a Load Test, and then additionalactivity is gradually increased until something breaks.  An alternativetype of stress test is a Load Test with sudden bursts of additionalactivity.  The sudden bursts of activity generate substantial activity assessions and connections are established, where as a gradual ramp-up inactivity pushes various values past fixed system limitations.

Ideally, stress tests should incorporate two runs, one with burst typeactivity and the other with gradual ramp-up as per the diagram above, to ensurethat the system under test will not fail catastrophically under excessiveload.  System reliability under severe load should not be negotiable andstress testing will identify reliability issues that arise under severe levelsof load.

An alternative, or supplemental stress test is commonly referred to as aspike test, where a single short burst of concurrent activity is applied to asystem.  Such tests are typical of simulating extreme activity where a'count-down' situation exists.  For example, a system that will not takeorders for a new product until a particular date and time.  If demand isvery strong, then many users will be poised to use the system the moment thecount down ends, creating a spike of concurrent requests and load.

Stress Tests相关推荐

  1. Bank Checkup Also Tests Regulators

    在医学上,压力测试是指医生让你在踏车上运动,以检查你的心脏功能.如果病人明显有心脏病,是不会让他再做测试的,否则可能会让他丧命.在金融领域,压力测试是管理层使用的一种正式途径,用以模拟"假设 ...

  2. 调试代码遗留_陷入遗留代码地狱吗? 这里有一些想法可以帮助您处理情况

    调试代码遗留 by Felipe Lopes 通过Felipe Lopes 陷入遗留代码地狱吗? 这里有一些想法可以帮助您处理情况 (Stuck in legacy code hell? Here a ...

  3. 记一次lwip中 遇到 pcb == pcb-next 的pcb死循环debug过程

    amoBBS 阿莫电子论坛 标题: 记一次lwip中 遇到 pcb == pcb->next 的pcb死循环debug过程 [打印本页] 作者: kayatsl 时间: 2013-10-11 1 ...

  4. pip安装deb_技术|如何在 Ubuntu 上安装 pip

    pip 是一个命令行工具,允许你安装 Python 编写的软件包. 学习如何在 Ubuntu 上安装 pip 以及如何使用它来安装 Python 应用程序. 有许多方法可以在 Ubuntu 上安装软件 ...

  5. 如何在Go中编写防弹代码:不会失败的服务器工作流程

    by Tal Kol 通过塔尔科尔 如何在Go中编写防弹代码:不会失败的服务器工作流程 (How to write bulletproof code in Go: a workflow for ser ...

  6. UBIFS - UBI File-System

    参考:http://www.linux-mtd.infradead.org/doc/ubifs.html#L_raw_vs_ftl UBIFS - UBI File-System Table of c ...

  7. JAVA11 - ZGC 特性

    JAVA11 - ZGC 特性 快速开始 ZGC全称是Z Garbage Collector,是一款可伸缩(scalable)的低延迟(low latency garbage).并发(concurre ...

  8. UNREAL ENGINE 4.13 正式发布!

    这次的版本带来了数百个虚幻引擎 4 的更新,包括来自 GitHub 的社区成员们提交的 145 个改进!感谢所有为虚幻引擎 4 添砖加瓦贡献的人们: alk3ovation, Allegorithmi ...

  9. Microsoft SQL Server数据库部署过程

    介绍 (Introduction) Database deployments are critical tasks that can affect negative in on performance ...

最新文章

  1. 你必须尝试的20个 Python 库
  2. 2018年全国多校算法寒假训练营练习比赛(第五场)题解
  3. 怎样查找this的指向
  4. linux 内核load addr,linux2.4启动分析(1)---内核启动地址的确定 vmlinux LOAD_ADDR ZRELADDR...
  5. 微软称开源.NET吸引了更多开发者
  6. 计算机网络基础实训精品课,《计算机网络技术》精品课程建设总结报告【荐】.doc...
  7. 记录一个相当好用的反编译工具下载地址
  8. SpringCloud Gateway 服务网关,过滤器
  9. 【致青春】我们挥霍时间的年代
  10. 求大于3的素数c语言,c语言判断一个大于3的数是否是素数
  11. phpcms v9模板制作教程
  12. 单片机实验一、单片机开发环境设置
  13. window计算机截屏快捷键,Win7系统电脑截图快捷键是什么?
  14. 《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理
  15. WEB认证苹果手机锁屏后出现断开WI-Fi的现象和解决
  16. Jira 和 国内替代品TAPD的对比
  17. Android小程序-涂鸦板
  18. win10找不到文件无法卸载的解决方法
  19. 记录下我磕磕碰碰的三个月找工作经历,最强技术实现
  20. chapter7 面向对象之向上转型、向下转型及多态

热门文章

  1. Xcode支持iOS6、iOS7版本
  2. python 鼠标轨迹录制_python记录鼠标滑动轨迹
  3. 2022-2028年中国生活垃圾转运站行业竞争现状及投资决策建议报告
  4. 华为称包裹遭美国联邦快递“转运” 重新审视双方合作关系
  5. c语言基础知识入门(c语言基础知识入门代码)
  6. 做自媒体不赚钱了,有多少人是月入过千的?
  7. 双线双网双IP路由配置总结
  8. 2020CSP复赛赛试题答案
  9. 黑莓os软件下载_在PC上试用BlackBerry OS
  10. 今日学习感悟(Java)