• mysql-笔记-性能


    Mysqldump 工具 导出数据到文件
    Alter table mytable engine= innodb 修改表的存储引擎
    Insert select导入数据到其他引擎 prercona toolkit 提供的pt-online-schema-change 工具
    基准测试 先确定测试目标
    指标:吞吐量 单位时间内的事务处理数 http://www.tpc.org 参考 主要针对在线事务处理的吞吐量,适用于多用户的交互式应用。常用 的测试单位是每秒事务数TPS
    响应时间:用于测试任务所需的整体时间。最大响应时间每次都不同,可以使用百分比响应时间 percentile response time 来替代最大响应时间。
    并发性:在任意时间有多少同时发生的并发请求。关注正在工作中的并发操作,测试应用在不同并发下的性能
    mysql数据库的并发性可以通过 sysbench 指定 32 64 128个线程的测试。记录mysql数据库的 threads_running 状态值
    可扩展性:
    测试规划应该记录测试数据、系统配置的步骤、如何测试和分析结果、以及预热的方案等
    应建立将参数和结果文档化的规范
    Pt-diskstats 工具 捕获/proc/diskstats的数据为后续分析磁盘IO使用。
    脚本语言:shell php perl 尽可能地使所有测试过程都自动化 包括 装载数据、系统预热、执行测试、记录结果

    基准测试工具 ---集成式测试工具
    1 Ab 是一个apache http 服务器基准测试工具 可以测试http服务器每秒可以处理多少请求。只能针对单个url 进行尽可以快的压力测试。
    Http_load 对web服务器进行测试。可以通过一个输入文件提供多个url
    Jmeter 是一个java 应用程序,可以加载其他应用并测试其性能。可以用于测试其他诸如FTP服务器,测试web应用,或者通过jDbc进行数据库查询测试
    Mysql 的benchmark()函数,可以测试某些特定操作的执行速度,参数可以是执行的次数和表达式
    Set @ input :='hello world'; Benchmark(100000,md5(@input)); benchmark(100000,sha1(@input));
    mysql基准测试套件:在安装目录 下的sql-bench 子目录中
    Sysbench 可以执行多种类型的基准测试,可以用于测试数据库的性能,数据库服务器的性能
    mysql剖析服务器性能:
    New relic 插入到应用程序中进行性能剖析,将收集到的数据发送到一个基于WEB的仪表盘。浏览器、应用代码、数据库及其他外部调用。
    IFP工具
    2 慢查询日志 是开销最低、精度最高的测量查询时间的工具。带来的开销可以忽略不计。生成剖析报告再分板查询日志 工具:pt-query-digest
    通用日志:在查询请求到服务器时进行记录,不包含响应时间和执行计划
    v/m :方差均值比也就是离差指数,离差指数商的查询对应的执行时间的变化较大,通常值得优化。
    Show profile 查询剖析工具 默认是禁用的,在会话级别动态修改:set profiling=1;
    Select * from tt1 ; show profiles; show profile for query 2; select state,duration from information_schema.profiling order by duration;

    Show status; 返回一些计数器包含:全局计数器、会员级另计数器。Show global status; 从服务器启动时开始计算的查询次数统计。
    慢查询日志中详细 记录的条目包含了show profile 和show status所有的输出。通过 pt-query-digest(用于分析mysql慢查询的一个工具) 发现 坏 查询后,在慢查询日志 中可以获得足够有用的信息
    Explain 显示了mysql如何使用索引来处理select语句以及连接表,在select 语句前加上explain就可以:
    Explain select * from a,b where a.id=b.id
    dns是一个域名系统,是万维网上作为域名和IP地址相互映射的一个分布式数据库。能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串
    开启慢查询日志,可以让mysql记录下查询超过指定时间的语句
    Slow_query _log 慢查询开启状态
    Slow_query_log_file 慢查询日志存放的位置,这个目录需要mysql的运行账号的可写权限,一般设置为mysql的数据存放目录
    Long_query_time查询超过多少秒才记录
    Show variables like 'slow_query%'; show variables like 'long_query_time';
    将slow_query_log 全局变量设置为 on 状态:set global slow_query_log='ON';
    设置慢查询日志存放的位置:set global slow_query_log_file='/usr/local/mysql/data/slow.log';
    查询超过1秒就记录:set global long_query_time=1;
    配置文件设置:my.cnf 在[mysqld]下加入 slow_query_log=ON slow_query_log_file=/slow.log long_query_time=1
    重启mysql服务:
    测试:select sleep(2);

  • 相关阅读:
    cassandra复制到一个新机器编译失败的问题
    cassandra在服务端像leveldb一样进行插入初试成功
    git push不成功 insufficient permission for adding an object to repository database
    fuse进级
    fuse入门
    cassandra的写过程
    cassandra-执行请求入口函数
    cassandra-replication_factor 和 consistency level
    根据金额大小升序排序
    PL/SQL Developer连接本地Oracle 11g 64位数据库(转)
  • 原文地址:https://www.cnblogs.com/caojuansh/p/11250124.html
Copyright © 2020-2023  润新知