加强网站稳定性!学习如何进行高效压力测试!

这篇具有很好参考价值的文章主要介绍了加强网站稳定性!学习如何进行高效压力测试!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

1、什么是压力测试?

软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。

软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。

通常要进行软件压力测试的资源包括内部内存、CPU可用性、磁盘空间和网络带宽。压力测试涵盖,性能测试,负载测试,并发测试等等,这些测试点常常交织耦合在一起。

2、压力测试存在哪些问题?

操作系统默认安装,在未做任何优化的情况下实施压力测试。

1)未考虑磁盘IO对软件的影响 2)未考虑网络带宽对软件的影响 3)网络软件测试,没有考虑到TCP特点 4)各种超时参数优化 5)测试客户端未优化 6)并发理解有误 7)WEB服务器,数据库,等等服务器未优化

如果上面几项没有做优化,压力测试数据基本没有任何参考价值,任何一项没有优化,都会导致你的压力测试数据出现偏差。

逐条说明: ①操作系统问题,操作系统是大众化软件,出厂优化都是面向大众,不可能为某个领域做单独优化。所以我们第一步需要优化操作系统。Linux 系统优化内核参数,Windows 系统优化注册表等等。

②磁盘IO这是最容易出现瓶颈的地方,常常是CPU还没有达到极限,磁盘已经不堪重负。网络IO与磁盘IO相同,TCP连接几乎所有B/S,C/S软件都是采用多线程,或者多进程技术。

这种技术有个特点,开发者将程序设计为线程可自动伸缩模式,开启进程后会启动少量线程,当连接不断提高后,线程数逐渐增加,随着线程运行结束后,线程逐渐减少。

这样的设计会更有效地利用硬件资源,在程序空闲时将硬件资源让给其他进程。少有软件设计为开启服务独占资源。

这样测试软件做压力测试,不能一次并发很多请求,而是要采用逐渐增加的方式,否则第一次测试会有一部们并发不能及时响应,导致测试数据偏差。

另外也你可以多做几次压力请求(让多线程工作起来),从第三次开始记录测试数据,忽律前面两次的测试数据。

提示:另一个问题是TCP连接复用,这也是一个重要配置项。如果这项没有配置,我想测试出的数据也会有偏差。

③超时参数在压力测试中是非常重要的参数,例如从WEB到数据库连接超时是60秒,如果有一个SQL查询超过300秒,那么后面的请求会持续排队等待,当连接数达到数据库的最大连接时,接下来的所有请求都是失败的。

通常我们的WEB服务器超时不会超过30秒,有时我设置为10秒,一旦出现超时,宁可让该连接Timeout,不要让他影响整体服务。

客户端很多网络软件需要从客户端发出压力测试请求,所以客户端的优化也是必须的,否则客户端压力出不去,服务端压力进不来。

④并发很多人认为并发,就是同一时间内的最大连接数,这是错误的。如果你写过多线程程序,就会发现多线程运行时又规律的。是顺序排队运行的,根本不是同时运行的。

所以并发是指,相对时间内能完成的连接总和,例如,每秒并发,每分钟并发等等,通常我们以秒为单位。

我们目前使用的操作系统叫分时操作系统,这种系统的特点就是可能实现多用户,多任务。操作系统将进程排队(优先级)轮询运行,只不过这个操作太快了,使你认为多个进程在同时运行。

服务器优化主要B/S软件压力测试,WEB,缓存,数据库等等服务器,都需要逐一优化到最佳状态。

3、为什么做压力测试?

如果在软件设计阶段都将这些问题元素都考虑进去,同时开发阶段严格执行。那么开发出些软件几乎不用做这个劳人伤神的压力测试。

所以在软件设计阶段就要考虑,灵活性,扩展性,可靠性与性能,还要考虑高可用与负载均衡。同时软件优化伴随开发,持续集成,持续测试,持续部署。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

加强网站稳定性!学习如何进行高效压力测试!,软件测试,经验分享,自动化测试,学习,压力测试,测试工具,自动化测试,postman,软件测试

4、在哪里做压力测试?

有些软件需要封闭的环境测试,不能在共享资源的环境中做测试。所以你有必要做Vlan隔离,甚至独立的路由器与交换机在封闭网络中测试。

5、什么时间做压力测试?

任何时间都可能做压力测试,为什么将“时间”重点提出呢?目前受地球自转影响,经常闰秒,你不得不考虑这个问题。

6、压力测试过程参与部门有哪些?

运维部门、开发部门、测试部门

7、如何做压力测试?

下面我们举一些例子,讲述压力测试方法,限于篇幅不可能面面俱到,我仅仅是给你提供思路。

测试前你需要一些监控工具,事实监控服务器的资源变化。

例如 Web 服务器压力测试,测试场景是 nginx : worker_processes 8; 处理器数; worker_rlimit_nofile 65530; 允许最多打开文件数; worker_connections 4096; 最大连接数数为; keepalive_timeout 65; 开启复用连接; gzip on; 压缩传输数据。

怎么做压力测试呢?你要最大化性能?还是相对性能?

我们通常需要的是满足需求就好的相对性能,而不是最大化性能。

为什么呢? 因为要最大化性能是要做出很多配置牺牲的,例如关闭日志,禁止访问时间等等。

按照上面的配置你的测试用例应该是,每次并发4000 请求 8000~10000 次, 你不能并发8000 请求 4000 这样测试。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

加强网站稳定性!学习如何进行高效压力测试!,软件测试,经验分享,自动化测试,学习,压力测试,测试工具,自动化测试,postman,软件测试

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

加强网站稳定性!学习如何进行高效压力测试!,软件测试,经验分享,自动化测试,学习,压力测试,测试工具,自动化测试,postman,软件测试

加强网站稳定性!学习如何进行高效压力测试!,软件测试,经验分享,自动化测试,学习,压力测试,测试工具,自动化测试,postman,软件测试文章来源地址https://www.toymoban.com/news/detail-801245.html

到了这里,关于加强网站稳定性!学习如何进行高效压力测试!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何做好垂直域稳定性

      一个小小的故障就可能造成巨大的负面影响,因此稳定性工作复杂却又至关重要。本文将通过故障预防、修复、复盘来讲解该如何建设一个稳定性体系。   来到阿里后,我的工作内容一直都是商品中心的稳定性,这份工作对于我个人在技术和经验上的成长提升是无比巨大的

    2024年02月11日
    浏览(54)
  • 浪潮信息Inspur KOS性能及稳定性位列前茅 与万里安全数据库GreatDB高效兼容

    为满足企业在数据安全、产品可控等数字化转型中的多样化需求,浪潮信息正基于技术与应用的深厚积累,持续优化创新产品及服务能力,助力企业在数智化时代下构筑黑心竞争力。日前,浪潮信息打造的Inspur KOS V5与万里安全数据库软件GreatDB V1.0、V5.1完成兼容性互认证测试

    2024年02月12日
    浏览(46)
  • 如何区分排序算法的稳定性

            排序算法的稳定性是指在排序过程中保持相等元素的相对顺序不变。简单来说,如果一个排序算法能够保证相等元素的顺序不发生改变,那么它就是稳定的。以下是几种常见的排序算法的稳定性判断方法: 1.冒泡排序:         冒泡排序是稳定的,因为在比较相

    2024年02月09日
    浏览(32)
  • 面试百问:如何提高自动化测试脚本稳定性

    相信执行过自动化测试的同学都知道,测试脚本的维护也是不可或缺的,并不是你脚本写完之后就结束,往往自动化脚本执行报错了,你首先考虑的问题是自己的脚本出现的问题还是发现了开发bug,如果报错大部分因为你的脚本的问题,你的团队可能对自动化这个事情失去信

    2023年04月08日
    浏览(38)
  • 机器学习&&深度学习——数值稳定性和模型化参数(详细数学推导)

    👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习深度学习——Dropout 📚订阅专栏:机器学习深度学习 希望文章对你们有所帮助 这一部分包括了很多概率论和数学的知识,而书上的推导很少,这边会做个比较细致的讨论,数学基础不行就

    2024年02月14日
    浏览(35)
  • TypeScript的魔法:如何轻松提升JavaScript项目的稳定性

    JavaScript,作为Web开发的核心语言,因其灵活性和广泛的应用受到开发者的喜爱。然而,这种灵活性也带来了挑战,尤其是在大型项目中,代码的维护和错误的追踪变得越来越困难。 TypeScript,起初被许多开发者视为“带类型的JavaScript”,但实际上,它远不止于此。确实,Ty

    2024年02月10日
    浏览(41)
  • 企业如何通过熔断降级增强服务稳定性和系统可用性?

    API 的调用稳定性被视为数据服务的最重要的指标。该指标的影响因素是多种多样的,「袋鼠云数据服务平台 DataAPI」不仅多次对于调用性能和稳定性进行压测和调优,而且还提供了多种配置项优化手段供客户进行自行调优。但是当遇到不可预期的大流量或其他突然情况时还是

    2024年02月05日
    浏览(47)
  • 如何基于ELK构建实时告警系统,保障你的系统稳定性

    在现代的分布式系统中,日志数据是非常重要的。为了监控和分析日志数据,Elasticsearch 已经成为了一个非常流行的选择。Elasticsearch 不仅可以存储大量的日志数据,还可以实时地搜索和分析数据。但是,当您的系统发生异常情况时,如何及时获得通知呢?这就需要一个实时的

    2024年02月12日
    浏览(46)
  • 第一次操盘大促,稳定性保障如何做到万无一失?

      业界有很多大促活动,像618、双11、双12等等。每一次大促不只是给业务带来了新高,对于技术同样也有很重要的意义,纵观一些优秀的技术团队,都是跟着业务一起成长的。在高并发大流量的背景下,如何支撑好业务运营,是一件很有挑战性的事情, 它可以从多方面检验

    2024年02月11日
    浏览(40)
  • 上一任留下的 Eureka,我该如何提升她的性能和稳定性(含数据比对)?

    开篇:一次小小的技术讨论 Aliware 周末的时候,和一位在国内某互联网公司负责运维的朋友聊天,由于工作相关,刚好聊到了公司项目中微服务架构这块的一些问题,他们公司的微服务架构使用的是业界比较常用的 Spring Cloud Netflix 那一套作为底座,有专门的同学负责运维一套

    2024年02月04日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包