InnoDB 监视器

http://www.51099.com/comp/damy/20110103/371755.html

在使用Innodb做为存储引擎的数据库系统中,可以使用innodb_monitor 来监控数据库的性能,启动innodb_monitor的方法为 Create table innodb_monitor (i int) engine=innodb 通过建立这个表就启动了innodb_monitor,监控的结果并不会记录到这个表中,而是记录到了mysql的err日志中,如果我们想监控更我的关于innodb的锁信息还可更进一步的建立表create table innodb_lock_monitor (i int) engine=innodb 这样在日志中会加入更多的锁信息,如果要关闭监控只要简单的删除这两个表就可以了.Drop table innodb_monitor; drop table innodb_lock_monitor;

参考:http://man.chinaunix.net/database/mysql/inonodb_zh/9.htm#InnoDB_tuning

 

InnoDB 监视器(Monitors)

从版本 3.23.42 开始,InnoDB 中就包含了 InnoDB Monitors,它可以显示出 InnoDB 的内部状态。从版本 3.23.52 和 4.0.3 开始,你可以使用一个新的 SQL 命令

SHOW INNODB STATUS
 

来读取标准 InnoDB Monitor 给 SQL client 的输出信息。这些信息对性能调整有益。

 

另外一个使用 InnoDB Monitors 方法就是让它在服务程序 mysqld 的标准输出上持续地写出信息。当开关打开时,InnoDB Monitors 大约每 15 秒显示一次数据(注意:MySQL 的客户端并不会显示任何东西)。一个简单地使用它的方法就是以一个命令行方式执行 mysqld 。否则输出将会定向到 MySQL 服务错误日志(error log file)中 'yourhostname'.err (在 Windows 下为 mysql.err),在 Windows 系统中必须在 MS-DOS 使用提示符下以 --console 选项运行 mysqld-max 来指令信息输出在命令提示符窗口上。

显示的信息包含下列信息:

  • 每一个活动的事务(active transaction)保持的表和记录锁定
  • 事务的锁等待 (lock waits of a transactions)
  • 线程的信号量等待 (semaphore waits of threads)
  • 文件 I/O 的等待请求 (pending file i/o requests)
  • 缓冲池(buffer pool)的统计信息
  • InnoDB 主线程的 purge buffer 和 insert buffer 归并活动(merge activity)

 

通过下列的 SQL 命令,可以使标准的 InnoDB Monitor 记录到标准的 mysqld 的输出上:

CREATE TABLE innodb_monitor(a int) type = innodb;
 

通过它来停止:

DROP TABLE innodb_monitor;
 

作者:ubuntuer 原文...51099在线学习网 http://www.51099.com

posted @   seasonzone  阅读(224)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示