免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2608 | 回复: 7
打印 上一主题 下一主题

【处理中】mysql 只读 slave 数据库,每日大量慢查询。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-11 17:10 |只看该作者 |倒序浏览
本帖最后由 lxxpsp2007 于 2013-03-12 09:52 编辑

   
我们公司的一台 slave mysql 服务器,提供只读服务。  MYISAM 引擎
  每天都有 150MB左右的 慢查询日志。
  我单独拿出这些被记录到慢日志的 语句 执行,发现速度很快的。
  慢查询设置超过1秒被记录。
  我很迷惑,明明语句不变态也有索引,手动单独执行也很快。 不知道为什么被记录近了慢查询日志。
  请大家指点迷津,或者给个思路,谢谢大家。
  比如下面经过 mysqlsla 处理后的排名第一慢的
  1. Count         : 4.58k  (2.68%)
  2. Time          : 4617 s total, 1.008739 s avg, 1 s to 4 s max  (6.20%)
  3.   95% of Time : 4348 s total, 1 s avg, 1 s to 1 s max
  4. Lock Time (s) : 1 s total, 218 祍 avg, 0 to 1 s max  (3.85%)
  5.   95% of Lock : 0 total, 0 avg, 0 to 0 max
  6. Rows sent     : 16 avg, 15 to 16 max  (0.75%)
  7. Rows examined : 46 avg, 32 to 48 max  (0.09%)
  8. Database      : xxpp_data
  9. Users         :
  10.         xxppx@ 192.168.0.101 : 42.30% (1936) of query, 41.27% (70379) of all users
  11.         xxppx@ 192.168.0.102 : 33.71% (1543) of query, 32.70% (55761) of all users
  12.         xxppx@ 192.168.0.103 : 23.99% (1098) of query, 24.35% (41533) of all users

  13. Query abstract:
  14. SELECT m.id, m.title, from_unixtime( m.cdate, 'S') AS cdate, from_unixtime( m.udate, 'S') AS udate, m.image, m.spec, m.product_area, m.shop_id, m.gcid, s.rid, m.price, m.stat, s.company, s.level AS shop_level, b.title AS brand, b.id AS brand_id, N AS type, unit FROM xxpp_goods.goods AS m LEFT JOIN xxpp.shop AS s ON m.shop_id = s.id LEFT JOIN xxpp.brand AS b ON m.brand_id = b.id WHERE m.id IN (N16);
  15. Query sample:
  16. SELECT
  17.                 m.id,
  18.                 m.title,
  19.                 FROM_UNIXTIME( m.cdate, '%Y-%m-%d %H:%i') AS cdate,
  20.                 FROM_UNIXTIME( m.udate, '%Y-%m-%d %H:%i') AS udate,
  21.                 m.image,
  22.                 m.spec,
  23.                 m.product_area,
  24.                 m.shop_id,
  25.                 m.gcid,
  26.                 s.rid,
  27.                 m.price,
  28.                 m.stat,
  29.                 s.company,
  30.                 s.level AS shop_level,
  31.                 b.title AS brand,
  32.                 b.id AS brand_id,
  33.                 1 AS type,
  34.                 unit
  35.             FROM xxpp_goods.goods AS m
  36.                 LEFT JOIN xxpp.shop as s ON m.shop_id = s.id
  37.                 LEFT JOIN xxpp.brand AS b ON m.brand_id = b.id
  38.             WHERE m.id IN (2676271,2667626,2769278,2915621,2542843,1635917,1788116,2662136,2505980,1201328,2493089,1995808,2490642,2125146,2042179,2068516);
复制代码

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
2 [报告]
发表于 2013-03-11 17:19 |只看该作者
贴出来

论坛徽章:
0
3 [报告]
发表于 2013-03-11 17:36 |只看该作者
本帖最后由 lxxpsp2007 于 2013-03-11 17:38 编辑

回复 2# ruochen


    请你帮忙看看。我贴了一个。
   加 explain 后的结果
  1. +----+-------------+-------+--------+---------------+---------+---------+---------------------------+------+-------------+
  2. | id | select_type | table | type   | possible_keys | key     | key_len | ref                       | rows | Extra       |
  3. +----+-------------+-------+--------+---------------+---------+---------+---------------------------+------+-------------+
  4. |  1 | SIMPLE      | m     | range  | PRIMARY       | PRIMARY | 8       | NULL                      |   16 | Using where |
  5. |  1 | SIMPLE      | s     | eq_ref | PRIMARY       | PRIMARY | 8       | xxpp_goods.m.shop_id  |    1 |             |
  6. |  1 | SIMPLE      | b     | eq_ref | PRIMARY       | PRIMARY | 4       | xxpp_goods.m.brand_id |    1 |             |
  7. +----+-------------+-------+--------+---------------+---------+---------+---------------------------+------+-------------+
  8. 3 rows in set (0.00 sec)
复制代码

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
4 [报告]
发表于 2013-03-11 22:22 |只看该作者
@lxxpsp2007
给你几点可能的原因。
1、query cache导致的。
2、磁盘IO不够导致的
3、某个执行次数并不多,但是执行时间很长,相当消耗资源的查询。

论坛徽章:
0
5 [报告]
发表于 2013-03-12 09:04 |只看该作者
明显的是进程堵塞原因嘛.

论坛徽章:
0
6 [报告]
发表于 2013-03-12 09:53 |只看该作者
回复 4# chinafenghao


    谢谢你的思路。我去挨个看。

论坛徽章:
0
7 [报告]
发表于 2013-03-13 15:32 |只看该作者

你的情况是否为:

query单次执行很快,但高并发时,就慢了?

你查一下,并发的配置,如:并发数等

论坛徽章:
0
8 [报告]
发表于 2013-03-14 11:21 |只看该作者
可能某个出现次数不多,但是速度很慢的sql导致的堵塞。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP