最近线上今天出现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=?
但这条SQL通过pk查询不应该慢呀,去mysql 执行show processlist发现大量thread 在停在
Waiting on query cache mutex
处理,线上观察一台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
相关推荐
query_cache_size、query_cache_type、innodb_buffer_pool_size、innodb_log_file_size、innodb_log_buffer_size、innodb_flush_logs_at_trx_commit、transaction_isolation、innodb_file_per_table、innodb_open_...
MSQL 问题集合,线上环境到底要不要开启 query cache MSQL 问题集合中关于 Query Cache(查询缓存)的讨论非常重要。在线上环境中,到底要不要开启 query cache 是一个需要仔细考虑的问题。 Query Cache 的优点是...
MySQL 是一个广泛使用的开源关系型数据库管理系统,在实际应用中,如何提高 MySQL 的性能是一个关键的问题。本文将总结 MySQL 性能调优参数,涵盖 Innodb 相关参数、连接参数、缓存参数、日志参数等多方面,帮助...
2. **减少锁等待**:如果`Waiting for query cache lock`或`System lock`时间过长,可能存在并发问题,需要考虑事务隔离级别和锁策略。 3. **优化JOIN操作**:如果JOIN操作耗时较高,可能需要重新设计表结构,合理...
《mysql管理之道:性能调优、高可用与监控》由资深mysql专家撰写,以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、...
MySQL作为最流行的开源数据库管理系统之一,其性能调优和运行状态监控是数据库管理员(DBA)日常工作中不可或缺的技能。本文档详细介绍了如何查询MySQL运行状态以及解释相关参数,从而帮助DBA更好地维护和优化MySQL...
MySQL作为一款广泛使用的开源关系型数据库管理系统,在实际应用中经常会遇到性能瓶颈问题。这些问题可能来源于硬件限制、系统配置不当、数据库设计不合理等多个方面。因此,对MySQL进行有效的性能优化是非常重要的。...
### cacti-mysql-template指标解释 #### 概述 本文档主要介绍cacti-mysql-template中的各项指标,...通过以上指标,可以全面地监控MySQL数据库的运行状态,及时发现并解决性能问题,确保数据库系统的稳定性和高效性。
MySQL Flush 命令用法详解 ...MySQL Flush 命令是一个非常强大和灵活的命令,它可以用于清除或重新加载各种高速缓存、表或者获取锁等,以便解决各种问题。但是,需要注意的是,执行 Flush 命令必须要有 reload 权限。
slow_query_log_file = /home/mysql/data/slow.log long_query_time = 1 read_buffer_size = 1024M thread_cache_size = 16 key_buffer_size = 512M table_open_cache = 16384 table_definition_cache = 16384 ...
# MySQL每打开一个表,都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时,才会去磁盘上读取。默认值64 # 假定系统有200个并发连接,则需将此参数设置为200*N(N为每个连接所需的文件...
19. **query_cache_size**:查询缓存的大小,可以提高查询性能,但对写密集型应用可能不是最佳选择。 20. **slow_query_log**:启用或禁用慢查询日志,有助于分析和优化长时间运行的查询。 调整这些参数时,需要...
- **Query Cache作用**:用于缓存查询结果,提高查询性能。 - **使用限制**:存在一定的限制条件,如不适用于所有查询类型。 #### 14. SELECT INTO OUTFILE 和 LOAD DATA INFILE 用法 - **SELECT INTO OUTFILE**:...
- 缓存机制,如`MEMORY`存储引擎和MySQL Query Cache。 7. **复制与集群**: - 主从复制的工作原理,包括异步和半同步复制。 - 多源复制和Group Replication。 - 高可用性和故障切换策略。 8. **安全性**: -...
* query_cache_type:查询的 Cache 类型,0 OFF,不进行缓冲,1 ON,进行缓冲,2 DEMAND,对 SELECT SQL_CACHE 开头的查询进行缓冲 * query_cache_limit:查询的结果的限制长度,小于这个长度的数据才能 Cache ...
需要注意的是,在实际部署时还需要考虑安全性、性能调优等方面的问题,例如设置防火墙规则、优化MySQL配置文件中的参数等。此外,还可以考虑使用自动化工具如Ansible来简化安装过程,提高效率。希望这份指南能够为...
MySQL 5.5 版本相对于之前的版本有显著的变化,特别是在性能优化和稳定性方面。配置文件是数据库高效运行的关键,因为它定义了服务器的行为和资源分配。以下是一些关键的配置参数及其作用: 1. `character-set-...
- **调整缓存大小:** 如 query_cache_size。 - **增加连接数限制:** 如 max_connections。 - **禁用不必要的服务:** 如不需要的复制功能。 **总结:** 本教程笔记涵盖了 MySQL 的一些高级主题,包括用户权限...
在MySQL数据库管理中,合理的参数配置对于提升系统性能、保障数据安全性具有重要作用。本文将根据提供的MySQL配置示例,详细介绍其中的关键参数及其作用。 #### 一、基本设置(Basic Settings) 1. **user=mysql**...