mysql数据库

2,压力测试 一是基准测试,所有测试数据和实际数据不一定相符合,但这样可以保证绝对的数据全面。
二是虚拟数据测试,根据真实数据为基础,造出假数据,但是这样造出来的数据有局限性,而且耗时,所以不推荐使用。
3,剖析数据库查询性能,耗时的位置有两个,一是查询时间,二是等待时间,然后通过MySql自带的慢查询日志或者第三方工具(比如Percona Server),判断查询时间,可以是从controller一直到db再返回去,也可以是只判断查询db的时间。
查询可以在一些典型的时间窗口如业务高峰期的一小时内记录查询,如果业务趋势比较均衡,一分钟甚至更短的时间内捕获需要优化的低效查询也是可行的,然后应该生成一个剖析报告(使用pt-query-digest工具),如果需要,则可以再查看日志中需要特别关注的部分,自上向下是比较好的方式,否则有可能像前面提到的,反而导致业务的逆优化。
附:###### 设置数据库属性的语句 set global XXXX = X 例如:
set global long_query_time=1
set global slow_query_log = on
查询语句:
show variables like XXXX 例如:
show variables like ‘%long_query_time%’;
show variables like ‘%slow_query_log%’
show profile
通过 set profiling = 1开启 查询分析
也可以在查询语句前加 explain 得出更多的分析资料,还有如下sql
SELECT
STATE,
SUM( duration ) AS Total_R,
ROUND( 100 * SUM( DURATION ) / ( SELECT SUM( DURATION ) FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID = @query_id ), 2 ) AS Pct_R,
COUNT( * ) AS Calls,
SUM( DURATION ) / COUNT( * ) AS “R/Call”
FROM
INFORMATION_SCHEMA.PROFILING
WHERE
QUERY_ID = @query_id
GROUP BY
STATE
ORDER BY
Total_R DESC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值