Jmeter

Jmeter
    1、为什么使用jmeter?
        项目需要
            接口测试
            接口性能测试
            负载测试
            压力、稳定性测试
        求职需要--独立使用jmeter
        圈内需要
    2、jmeter工具是什么?
        多线程框架-支持多并发操作
        用于对服务器模拟负载
        支持web、数据库、ftp服务器系统的性能测试
        开源、纯java,可二次定制化开发
    3、jmeter怎么使用?
        (1)下载安装jdk,配置环境变量
        (2)下载jmeter,解压,进入bin,sh jmeter.sh(linux或者mac启动) jmeter.bat(windows启动)
    4、新建测试计划
        名称尽量是英文的
        独立运行每个线程组,每个线程组一块跑,不是顺序执行的
    5、线程组
        名称
        线程数  100用户
        ramp-up period in seconds :10    表示10s启动100个用户,一秒10个
            做并发的话,ramp-up period in seconds  一般写0或者写1
        循环次数   对请求进行循环
        调度器
            持续时间 300    #如果循环次数填写了,持续时间也填写了,先以循环次数为主
    6、元件
        取样器
        逻辑控制器
            仅一次控制器
                只执行一次
        前置控制器
        后置控制器
        断言
        定时器
        配置元件
        监听器
    7、什么是jmeter脚本
            用户操作被测软件系统某场景的请求
       快速开发漂亮的jmeter脚本--准确  快速(借助技术手动快速高效)  脚本逻辑维护性高
               (1)http 请求 
                   请求行
                       请求方式  url http版本
                   请求头
                   请求实体    
               (2)代理服务器
                   jmeter也有自己的代理,录制脚本前,我们只要启动好代理,手动通过浏览器录制,录制完毕停止代理。

               参数化:csv使参数参数化

    8、电商项目测试流程剖析
        提取性能测试场景
            登录
            进入商城首页
            商品搜索
            进入特价模块
            查看商品详情
            添加购物车
            添加商品收藏
            商品结算
            提交订单
            查看我的全部订单
        场景脚本开发与调试
        性能场景运行与监控
        性能分析及调优
            性能测试指标:响应时间、用户数、tps
            服务器性能指标
            web中间件(tomcat  nginx性能指标)
            数据库指标
        性能汇总及报告
            (1)测试基本信息
                测试目的、报告目标读者、术语定义、参考资料
            (2)测试环境描述
                服务器软硬件环境、网络环境、测试工具、测试人员
            (3)测试案例执行分析
                详细描述每个测试案例的执行情况,以及对应的测试结果分析
            (4)测试结果综合分析及建议
                对本次性能测试做综合分析,并给出测试结论个改进建议;
        9、jmeter导出测试报告
        10、性能测试关键指标
            响应时间
                对请求作出响应所需要的时间,是用户感知软件性能的主要指标;
                包括:
                    用户客户端呈现时间
                    请求或者响应数据网路传输事假
                    应用服务器处理时间
                    数据库系统处理时间
                标准:
                    2  非常好
                    5  可以接受
                    8  接受上限
            用户数
                系统用户数    软件系统注册的用户总数
                在线用户数    某段时间内访问的用户数,这些用户只是在线,不一定同时做某一件事情
                并发用户数    某一个时间同时向软件系统提交请求的用户数,场景不一定是同一个
                    并发:用于从业务的角度模拟真实用户访问同时访问
                    并发数:同时访问系统的用户数
                    分为:    
                        严格并发  同一个请求
                        广义并发     不一定同一个
                    ps:在确定并发用户数之前,必须先对用户的业务进行分解,分析出其中的典型业务场景(用户最常用、最关注的的业务操作),然后基于场景获得并发用户数。
                        核心场景:访问网站首页,登录功能,核心业务功能,个人中心
                    计算:平均并发用户数的计算:c=nL/T
                        c是平均的并发用户数
                        n是平均每天访问用户数
                        L是一天内用户从登录到退出的平均时间(login session的平均时间)
                        T是考察时间长度(一天内多长时间有用户使用系统)
                    并发用户数峰值计算:
                        c的峰值约等于=c+3*根号c
                    估计一个系统的并发用户数量:
                        使用系统用户数量*(5%~20%)

            吞吐量:反映的是服务器承受的压力,能说明系统的负载能力  每秒处理的事务数量
                从业务角度看:
                    吞吐量可以用:请求数/秒、页面数/秒、人数/天或者处理业务数/小时来衡量请求数/秒或者页面数/秒来衡量
                从网络角度来看:
                    吞吐量可以用:字节/秒来衡量
                吞吐量计算:
                    当系统没有遇到瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系:
                        F=VU*R/T=100*1/5=20
                        其中:F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间
            系统性能计数器
                描述服务器及操作系统性能的一些数据指标
                比如:内存  cpu   磁盘资源使用率
            思考时间
原文地址:https://www.cnblogs.com/feifei-cyj/p/12704818.html