当前位置: 首页 > news >正文

性能——day3

学习目标:性能结果分析,分压

一、性能结果分析

       1、分析聚合报告的事物成功率值是100%,到达预定值,所以本次测试结果是有效的

       2、 然后观察其他性能指标,发现事物响应时间超过了预定的2s

        3、我们知道事物响应时间=网络消耗时间+web服务器消耗时间+sql消耗时间

        4、我们先分析网络

                1、使用ping命令查看网络是否稳定(问题处理方案:要么过会再测试,要么更换网络)

                2、检查交互数据是否过大(问题处理:让开发先压缩再传递)

                3、检查交换机,路由器,光猫等工作是否正常(问题处理:要么重起,要么更换设备)

                4、检查网络使用率是否超过预定值(问题处理:升级网络)

                        分析过程:

                                1、先看最高点:46153.8,确认单位:b(字节)

                                2、单位换算:1G=1024m

                                                        1m=125-128kb

                                                        1kb=1024b

                                                        所以46153.8b≈45.072kb≈0.361m

                                                        算下最高时,网络的使用率:0.361m/网线大小(5m)≈7.22%

        5、网络没问题,接着分析服务器层面

                1、检查服务器配置是否过低(问题处理:升级配置)

                        在测试计划可以看到服务器配置

                2、检查sql是否存在慢查询()

                        监控是否存在慢查询:

                                1、使用xshell链接linux服务器

                                2、搜索my.cnf所在的路径

                                

                                3、使用 vim /etc/my.cnf

                                4、在指定地方加入两个指令

                                

                                5、保存退出:esc+shift+:+w+q

                                6、重启mysql服务

                                

                                

                                7、使用tail -f /var/lib/mysql/mysql-slow.log ,动态查看日志,然后就开始做性能测试,如果有日志,显示,表示有慢查询问题

                3、如果上面都没有问题,那么我们会把排除后的结果告诉开发,让他去定位下相关代码

二、造成慢查询的原因

        1、缺少索引

        2、索引失效

                隐士转换:本来索引的字段是字符串,但写成了数字类型查询

         

explain 	SELECT * FROM demo2 WHERE NAME=1

      使用到了like模糊查询:

explain     SELECT * FROM demo2 WHERE NAME LIKE '85'

        3、数据量过大

三、索引是什么

        作用:加快查询速度

四、索引的类型

        1、主键索引:创建主键时,就自动创建

        2、普通索引:

CREATE INDEX 索引名 ON 表名(列名)

        3、唯一索引

        

create unique index 索引名 on 表名(列名)

        4、组合索引

        5、函数索引

        6、位图索引

五、存储过程

        1、存储过程是什么

                是一系列的sql,经过编译后在数据库中,以后直接调用存储过程,就可以完成相应的功能,无需再次编写代码,可以实现一个人编写,多人使用。

        2、存储过程的语法(以插入数据为案例)

                语法:

delimiter 其他标点符号
create procedure 存储过程名称([输入/输入类型  变量名称 数据类型])
begin定义一个变量设置开始值为1;-- 循环做事情while 前面定义的变量 <= 目标数字 do-- 插入语法insert into 表名 values (值1,值2,值3...);-- 每运行一次,让前面的变量都+1set 前面的变量 = 前面的变量 + 1;end while ;
end 其他标点符号
delimiter ;

                案例:

#创建表
CREATE TABLE demo2(id INT PRIMARY KEY,NAME CHAR(100)
)CHARSET=UTF8;
#插入50000条数据
delimiter //
CREATE PROCEDURE pro_demo2(IN num INT)#in表示num是传入的参数
BEGIN 
#定义一个变量,设置开始值为1DECLARE i INT DEFAULT 1;
#while循环while i<=num DO 
#插入语法INSERT INTO demo2 VALUES(i,i);
#每运行一次,都让i自动加1SET i=i+1;END while;
END //
delimiter ;#调用存储过程
CALL pro_demo2(10);
#查询插入的数据
SELECT * FROM demo2;

           3、如何查看表的索引

               show index from 表名

                或者可视化查看 

                

                        

                4.执行SQL,如何查看这个SQL是否走索引

                

                

                

                

                

三、分布式压力测试(分压)

        原理:

        步骤

                1.保证主控机跟分压机在同一网络

                2.保证主控机跟分压机得jdk版本一致

                3.关闭防火墙跟禁用多余IP

                4.在分压机得jmeter目录下找到jmeter.properties,然后修改remote_hosts=本机ip,然后找到ssl.disable,把值修改为true

                5.在分压机启动jmeter-server.bat

                6.在主控机得jmeter目录下找到jmeter.properties,然后修改remote_hosts=本机ip,分压机IP,然后找到ssl.disable,把值修改为true

                7.在主控机启动jmeter-server.bat

                8.把主控机脚本复制一份到分压机,保证路径,文件名称,大小一致


文章转载自:

http://aEJFNtGf.wsnbg.cn
http://wz57WB0k.wsnbg.cn
http://TkbSjruz.wsnbg.cn
http://zyw9qWdZ.wsnbg.cn
http://vsU7CCmF.wsnbg.cn
http://ssvZM4o6.wsnbg.cn
http://aGNc2WGx.wsnbg.cn
http://JpbKu1S1.wsnbg.cn
http://J6OTn6sW.wsnbg.cn
http://Cq0uIvei.wsnbg.cn
http://CaaOkptN.wsnbg.cn
http://lh7Rv3VY.wsnbg.cn
http://JmbinhsW.wsnbg.cn
http://dX39HgyJ.wsnbg.cn
http://QBnCWUXE.wsnbg.cn
http://vfyLTzZm.wsnbg.cn
http://9DwKE0nI.wsnbg.cn
http://0DIpncab.wsnbg.cn
http://ZzJCfAo4.wsnbg.cn
http://Oqtqpg1g.wsnbg.cn
http://dLGWhAQ0.wsnbg.cn
http://jJyLDoV2.wsnbg.cn
http://Z8BcwEiO.wsnbg.cn
http://iyfcuFJz.wsnbg.cn
http://4fiS3U7f.wsnbg.cn
http://XslnF1hU.wsnbg.cn
http://fdhOV6yN.wsnbg.cn
http://FTh2futC.wsnbg.cn
http://7dn2W4ta.wsnbg.cn
http://tpdXFvwv.wsnbg.cn
http://www.dtcms.com/a/377464.html

相关文章:

  • 安卓学习 之 SeekBar(音视频播放进度条)
  • CRMEB标准版PHP订单列表功能详解与优化技巧
  • Linux基础知识(五)
  • [数据结构——lesson7.队列]
  • 在算法竞赛中怎样正确的分析一个程序的时间复杂度
  • ES6笔记4
  • 实现一个动态顺序表(C++)
  • 10 分钟上手 ECharts:从“能跑”到“生产级”的完整踩坑之旅
  • Decode Global新官网上线披露核心数据
  • 【Redis】Scan 命令使用教程:高效遍历海量数据
  • 深度解析:抗辐射电源芯片 ASP4644S2B 在空间环境中的单粒子效应表现
  • 多链冷换仓攻略:如何在 Solana、BSC 与 Base 隐身管理资产
  • 【博弈论和SG函数 | 那忘算10】巴什博奕 尼姆博弈及其变种 威佐夫博弈(附例题)
  • Cubemx+Fatfs(解决挂载Fatfs失败的问题)
  • UVa1063/LA3807 Marble Game
  • leetcode LCR 170.交易逆序对的总数
  • 【学习笔记】Https证书如何升级到国密
  • 期权行权期限一般多久?
  • 0基础Java学习过程记录——枚举、注解
  • 【C++】C++ 内存管理
  • C++ STL之list的使用
  • Midjourney绘画创作入门操作创作(宣传创意)
  • 【数据库约束】
  • 小白成长之路-centos7部署ceph存储
  • python学习进阶之面向对象(二)
  • 【芯片设计-信号完整性 SI 学习 1.1.1 -- Unit Interval,比特周期】
  • sudo apt update sudo apt upgrade -y 两个命令的作用
  • 每日算法刷题Day68:9.10:leetcode 最短路6道题,用时2h30min
  • apache详细讲解(apache介绍+apache配置实验+apache实现https网站)
  • 一些常用的激活函数及绘图