zoukankan      html  css  js  c++  java
  • 案例:Mysql慢SQL与加索引前后对TPS的影响

    写在最前

    关于慢sql的开启与配置查看之前我整理的文章:

    http://www.cnblogs.com/hanxiaobei/p/5515624.html

    前提准备:

    tomcat7.x

    mysql--Perfteach

    jmeter

    测试接口:192.168.1.102:8081/PerfTeach/SlowQuery?cardNO=1000009

    脚本编写:

    单接口的测试jmeter比较方便,所以本文就用jmeter进行测试

    环境搭建及测试:

    1、配置Perfteach包 连接本地数据库(Perfteach库有一万条数据)

    2、启动tomcat

     ./startup.sh & tail -f ../logs/catalina.out

    3、浏览器验证接口是否通,看到如下界面为接口已通

    本文只做cardno字段的索引测试

    4、jmeter设置为20线程,1秒启动,循环永远

    同时,服务器进行监控

    5、没有添加cardno字段索引的时候,测试的结果TPS大概在120左右。为如下图所示

    同时,如果开启了慢查询日志,会看到不断的往日志里添加数据。如下图文件大小不断增加

    具体查看哪些SQL的执行有问题,打开写在最前的链接地址。

    6、添加cardno字段索引的时候,测试的结果TPS大概在600左右。为如下图所示

    同时,慢查询日志的大小不会有变化。证明索引起作用了

    7、下图为开始添加了cardno索引而后去掉cardno索引的TPS截图:

    下降很明显。

    本篇文章只是从TPS的角度考虑有无索引的情况对比分析。

    还有 在有索引的前提下,CPU和内存是怎样的状态;在无索引的前提下,CPU和内存又是怎样的状态。

    MySQL优化:http://zhanghongxin.blog.51cto.com/11255031/1851374

  • 相关阅读:
    cds.data:=dsp.data赋值有时会出现AV错误剖析
    iOS -- 十进制、十六进制字符串,byte,data等之间的转换
    iOS -- 原生NSStream实现socket
    CA认证原理以及实现(下)
    CA认证原理以及实现(上)
    android -- 存储byte
    iOS -- 字符串(NSString *)转uint8_t的两种方法
    Android -- AsyncTask 使用和缺陷
    Swift oc 混编
    Android -- native关键字
  • 原文地址:https://www.cnblogs.com/hanxiaobei/p/5544419.html
Copyright © 2011-2022 走看看