• Mac 性能测试环境搭建——理论篇


    此篇为博主原创内容,若转载请写明出处,谢谢!

    前言

    在搭建之初,我们要思考的2个点:

    1.性能怎么测试?
    2.性能的测试环境如何搭建(该如何去做)?


    1.什么是性能?

        个人理解为:合理的架构、低耦合、高内聚、吞吐好,计算强,一系列的组合

    2.什么是性能测试?

        通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试

    3.性能测试的目的:
        性能测试的目的,简单说其实就是为了获取待测系统的响应时间、吞吐量、稳定性、容量等信息。而发现一些具体的性能相关的缺陷(如内存溢出、并发处理等问题),我认为只是一种附加结果。从更高的层次来说,性能测试最想发现的,是瓶颈。如何能得到所需要的信息,就需要从多方面进行测试。

    2.性能怎么测试?

    在实际工作,一般的应用系统会从这么几个方面进行性能测试:
     
        1.基准测试
              Benchmark或者Baseline测试。一般为单用户测试,或者是零数据量环境下的测试。目的在于建立一个可度量的参考标准,为其他测试场景或者调优过程提供对比参考。也可认为是最基础的性能测试,如果基准测试的结果都不能达到预期要求,那么后续场景也就没必要测试了。
     
          2.日常压力测试
              在基准测试通过后,应该先进行较小压力下的测试,首先对系统在日常压力下的表现进行测试。此压力需要根据系统使用相关数据得出,如系统平均每天访问量、平均在线人数、每日完成事务数等。通过此测试,发现一些较表面的性能问题并进行处理。
     
          3.峰值压力测试
              在日常压力测试通过后,需要进行更大压力的测试。此处压力同样需要相关数据的支持,一般为未来几年后的预期压力。可根据历史日均压力、日最高压力等信息,估算出未来几年的日均以及日最高压力。再通过一些通用估算方法、如二八原则(80%的工作在20%时间内完成,相当于2小时完成一天8小时的工作量),将日压力转换成峰值压力。
              峰值压力为可预期到的最大负载压力,通过了此测试,则认为系统有能力满足未来增长的压力。
        
        4.容量测试
            验证了系统是否可满足预期的压力后,还需要知道系统能够承受的最大压力,也就是容量。一般通过“拐点法”进行测试,逐步增大系统的压力,直到性能指标不可接受或者出现了明显的拐点

        5.稳定性测试
            验证系统是否可长期稳定的运行,是否存在一些短时间内可能无法发现的缺陷(如内存溢出、数据库连接不释放等)。为了缩短测试工期,一般可将预期一天的压力集中在2小时内完成(二八原则),这样持续加压10小时,便相当于系统运行5天。注意监控各种性能指标是否平稳,有无下降。

    性能测试要统一考虑这么几个因素:Thoughput吞吐量,Latency响应时间,资源利用(CPU/MEM/IO/Bandwidth…),成功率,系统稳定性

    二、性能测试环境搭建:

    1.搭建被测试对象服务器

    2.搭建测试所需要用到的数据库【Oracle or mySQL】

    3.本地进行Jmeter的下载以及环境配置

    因性能需求,个人所需的被测试对象服务器采用虚拟机:1G内存,1核CPU,软体为:Centos 7

    本人使用电脑为Mac,所以,上述工作为此带来大量的工作量,新手建议在windows下列进行上述环境搭建。

    搭建步骤:

    1.Mac采用VMware Fusion 搭建虚拟机。

    2.搭建完成后,在虚拟机进行环境配置(详细步骤不做阐述,可百度):
        1.卸载linux自带JDK
        2.下载SUN 公司的JDK进行安装
        3.安装成功后进行环境变量配置
        4.下载tomcat
        5.进行tomcat环境变量配置包括端口名称的更改,有些端口会占用
        6.可对tomcat进行设置为开机启动(自选)
        7.tomcat启动后,打开firefox进行登录check,查看localhost:xxxx/是否成功开启,若是开启失败,请自行百度,成功说明没有问题
        8.在虚拟机启动后,关闭防火墙(不同公司的linux命令不同,请自行百度)
        9.设置桥接(wifi连接与网线连接有区别,所以要进行设置),原因:其他机器需要访问你虚拟机所以要开启桥接,方便日后测试

    设置完毕后,在本机访问虚拟机下的tomcat服务器,在此,要使用虚拟机IP+端口进行访问,若是无法访问,需要看桥接是否正常开启


    二:根据公司性能需求,搭建所需开发框架,之后进行打包操作,本人使用的是IntelliJ IDEA IDE编辑器
    在使用的过程中,需要使用到maven进行打包

    打包成功后,把war包加载入虚拟机中,war包放入tomcat下webapps下,并开启tomcat服务,war会自动解析,

    查看是否已上传成功,可根据ip+端口+项目目录名称/index.jsp进行访问。


    其中坑多的点在于:
    1.tomcat
    2.虚拟机网络设置、防火墙无法永久性关闭
    3.tomcat若是不觉得麻烦,不要对其做过多修改,避免出现更多奇奇怪怪问题,比如更改server。xml等等文件操作,需谨慎
    4.项目打包时,需要本地提前做数据库以及其他的相关操作,并验证是否可以通过编译不会出错
    5.如何将本机的war包放入虚拟机中?
        我的操作是将本地搭建一个ftp,然后虚拟机进行访问
        windows下列可以进行一个共享文件夹进行访问

  • 相关阅读:
    Sqlserver的Transaction做Rollback的时候要小心(转载)
    注意Sqlserver中使用with(nolock)后实际上还是会加架构锁,只是不对要查询的数据加S锁而已(转载)
    为什么Sql Server的查询有时候第一次执行很慢,第二次,第三次执行就变快了
    Sql Server 中如果使用TransactionScope开启一个分布式事务,使用该事务两个并发的连接会互相死锁吗
    Css中路径data:image/png;base64的用法详解 (转载)
    android获取mp4视频文件总时长和视频宽高<转>
    “Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle)instead”
    android 除法运算保留小数点
    Directshow 采集音视频数据H264+AAC+rtmp效果还不错
    VS2010中将CString转换为const char*
  • 原文地址:https://www.cnblogs.com/michael-andrews/p/6972967.html
Copyright © 2020-2023  润新知