mysql_query 堆栈毁坏 多线程_mysql query cache lock导致的性能问题

最近线上今天出现detail页面很慢的情况,通过btrace定位到是这条SQL:

select id,status,convert(buyable,UNSIGNED) as buyable,category,sender_id,album_id,parent_id,add_datetime,favorite_count,like_count,photo_id,group_id from message_message where id=?

c2a3a9ac55737514341a1879a0a424fa.png

但这条SQL通过pk查询不应该慢呀,去mysql 执行show processlist发现大量thread 在停在

Waiting on query cache mutex

24ad843f8b6a77902db0b539efbe2fc8.png

处理,线上观察一台mysql慢,一台不满:

s10:

mysql> show variables like '%query_cache_size%';

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| query_cache_size | 0     |

+------------------+-------+

1 row in set (0.00 sec)

mysql> show variables like '%query_cache_size%';

+------------------+-----------+

| Variable_name    | Value     |

+------------------+-----------+

| query_cache_size | 134217728 |

+------------------+-----------+

1 row in set (0.00 sec)

mysql> show variables like '%query_cache_size%';

+------------------+-----------+

| Variable_name    | Value     |

+------------------+-----------+

| query_cache_size | 134217728 |

+------------------+-----------+

1 row in set (0.00 sec)

mysql> set global query_cache_size=0;

Query OK, 0 rows affected (0.42 sec)

mysql> show variables like '%query_cache_size%';

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| query_cache_size | 0     |

+------------------+-------+

1 row in set (0.00 sec)

参考:

http://www.mysqlperformanceblog.com/2012/09/05/write-contentions-on-the-query-cache/

http://dinglin.iteye.com/blog/1625195

http://dev.mysql.com/doc/refman/5.0/en/query-cache-configuration.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值