如何衡量mysql库的健康度

如何衡量mysql库的健康度,第1张

系统mysql的进程数

查看 mysql buffer pool hit

ps -ef | grep "mysql" | grep -v "grep" | wc –l

2Slave_running

mysql > show status like 'Slave_running';

如果系统有一个从复务器,这个值指明了从服务器的健康度

3Threads_connected

mysql > show status like 'Threads_connected';

当前客户端已连接的数量。这个值会少于预设的值,但你也能监视到这个值较大,这可保证客户端是处在活跃状态。

4Threads_running

mysql > show status like 'Threads_running';

如果数据库超负荷了,你将会得到一个正在(查询的语句持续)增长的数值。这个值也可以少于预先设定的值。这个值在很短的时间内超过限定值是没问题的。当Threads_running值超过预设值时并且该值在5秒内没有回落时, 要同时监视其他的一些值。

5Aborted_clients

mysql > show status like 'Aborted_clients';

客户端被异常中断的数值,即连接到mysql服务器的客户端没有正常地断开或关闭。对于一些应用程序是没有影响的,但对于另一些应用程序可能你要跟踪该值,因为异常中断连接可能表明了一些应用程序有问题。

6Questions

mysql> show status like 'Questions';

每秒钟获得的查询数量,也可以是全部查询的数量,根据你输入不同的命令会得到你想要的不同的值。

7Handler_

mysql> show status like 'Handler_%';

如果你想监视底层(low-level)数据库负载,这些值是值得去跟踪的。

如果Handler_read_rnd_next值相对于你认为是正常值相差悬殊,可能会告诉你需要优化或索引出问题了。Handler_rollback表明事务被回滚的查询数量。你可能想调查一下原因。

8Opened_tables

mysql> show status like 'Opened_tables';

表缓存没有命中的数量。如果该值很大,你可能需要增加table_cache的数值。典型地,你可能想要这个值每秒打开的表数量少于1或2。

9Select_full_join

mysql> show status like 'Select_full_join';

没有主键(key)联合(Join)的执行。该值可能是零。这是捕获开发错误的好方法,因为一些这样的查询可能降低系统的性能。

10Select_scan

mysql> show status like 'Select_scan';

执行全表搜索查询的数量。在某些情况下是没问题的,但占总查询数量该比值应该是常量(即Select_scan/总查询数量商应该是常数)。如果你发现该值持续增长,说明需要优化,缺乏必要的索引或其他问题。

11Slow_queries

mysql> show status like 'Slow_queries';

超过该值(--long-query-time)的查询数量,或没有使用索引查询数量。对于全部查询会有小的冲突。如果该值增长,表明系统有性能问题。

12Threads_created

mysql> show status like 'Threads_created';

该值应该是低的。较高的值可能意味着你需要增加thread_cache的数值,或你遇到了持续增加的连接,表明了潜在的问题。

13客户端连接进程数

shell> mysqladmin processlist

mysql> show processlist;

你可以通过使用其他的统计信息得到已连接线程数量和正在运行线程的数量,检查正在运行的查询花了多长时间是一个好主意。如果有一些长时间的查询,管理员可以被通知。你可能也想了解多少个查询是在"Locked"的状态—---该值作为正在运行的查询不被计算在内而是作为非活跃的。一个用户正在等待一个数据库响应。

14innodb状态

mysql> show engine innodb status\G;

该语句产生很多信息,从中你可以得到你感兴趣的。首先你要检查的就是“从最近的XX秒计算出来的每秒的平均负载”。

(1)Pending normal aio reads: 该值是innodb io请求查询的大小(size)。如果该值大到超过了10—20,你可能有一些瓶颈。

(2)reads/s, avg bytes/read, writes/s, fsyncs/s:这些值是io统计。对于reads/writes大值意味着io子系统正在被装载。适当的值取决于你系统的配置。

(3)Buffer pool hit rate:这个命中率非常依赖于你的应用程序。当你觉得有问题时请检查你的命中率

(4)inserts/s, updates/s, deletes/s, reads/s:有一些Innodb的底层 *** 作。你可以用这些值检查你的负载情况查看是否是期待的数值范围。

测试过程的度量

1)测试度量的作用(-)

A:为制定测试计划时提供依据

需要多长时间 需要什么物质条件?  需要多少人,什么素质的人? 在规定的时间内能完成到什么程度?

哪些模块及功能需要重点关注? 测试工作量占整个项目的比例? 测试结束后我们能达到什么样的目标 ?等等

( 这些数据是我们在项目启动过程中,制定测试计划,尤其在规划资源的过程中,一些必要的参考值。不同项目可能会有其特殊性,但从总体上看,他们还是有一些规律可寻的,过去的经验数据可以作为一个大概估算,如果项目经验丰富,那么可以从历史数据中找出和新项目 类似的情况,以能更为准确的完成计划。 )

B: 提高测试流程可控性

提高测试效率和质量

提高测试人员的成就感

2)在测试哪个过程做度量

(产品早期的市场评估、测试策略分析、可测试性需求分析、测试工具分析、用例设计阶段、执行阶段和 FOA 阶段)

我们需要在测试的几个关键阶段做度量,它们分别是:用例设计阶段、执行阶段和 FOA 阶段。测试用例设计阶段包括测试方案的最终确定、测试工具的设计、测试用例编写等,测试执行阶段很明显,即我们测试的各个过程,如集成测试、系统测试、性能测试、回归测试等,也包括开发人员完成的单元测试的度量工作。 FOA 阶段是检验测试质量的第一步,通过 FOA 我们可以获得很多为产品质量做贡献的度量,这也是体现测试价值的度量。看起来几乎包括了测试过程的全部。其实这里包括的只是测试的具体工作阶段。

3)测试度量的内容

两种度量类型:

A: 项目度量:规模、测试工作量、测试进度、测试生产率

B: 质量度量:缺陷率(阶段)、缺陷排除率、可靠性等

四个基本度量项:规模、工作量、进度、缺陷

5)测试执行阶段的度量:

测试用例执行率  测试用例通过率

测试用例问题发现率  BUG数量

BUG级别统计  BUG分布统计(模块)

BUG分布统计(阶段)  BUG密度

BUG关闭率  人均BUG发现效率

测试用例执行工作量项目  回归测试执行工作量

发布文档数量 发布文档缺陷数量、级别

现场发现的BUG数量 回归测试现场BUG的工作量

版本发布过程中的验证周期 版本发布过程中的验证工作量

测试用例覆盖率  功能的用户关注度

需求变化程度

6)测试的度量为项目实施做的贡献

7)由谁来做度量

8)怎样做度量

PDCA方法:

第一步:Plan ( 计划、设置标竿) ( 计划--制定我们想要达到的目标)

第二步:do(执行)(日报--记录数据)( 周报--汇总数据,给出度量结果)

第三步:check( 检查和标竿有什么差距) (周例会--针对度量结果,作出下一步工作建议)

第四步:action(改进过程)( 阶段总结--子系统、集成、系统测试等各测试阶段结束后做度量评估,为后续工作做出指导)

第五步:return to plan

本文转自网络

数据库性能监视的指标主要有:

1吞吐量:数据库的处理能力,开始监视数据库的最简单方法是跟踪数据库接收的请求数。我们对数据库抱有很高的期望;我们希望它们能够可靠地存储数据并处理我们向它们提出的所有查询,这可能是一天中的一次大量查询,或者是用户整天的数百万次查询。吞吐量可以告诉您具体的处理情况。

2执行时间:数据库完成工作需要多长时间这个指标看起来很明显,但往往被忽视了。您不仅想知道数据库收到了多少请求,还想了解数据库在每个请求上花费了多长时间。然而,使用上下文来处理执行时间非常重要:对于像InfluxDB这样的时间序列数据库而言,缓慢可能意味着毫秒,对于像MySQL这样的关系数据库的SLOW_QUERY变量默认值是10秒。

3并发:数据库同时执行了多少个作业,一旦您知道数据库处理了多少请求以及每个请求需要多长时间,您就需要添加一层复杂性以开始从这些指标中获取实际价值。并发任务的数量会改变数据库资源的使用方式。当您考虑连接数和线程数等事项时,您将开始更全面地了解数据库指标。并发还可以影响延迟,其不仅包括完成任务所花费的时间(执行时间),还包括任务在处理之前需要等待的时间。

4利用率:数据库繁忙的时间百分比是多少,利用率是描述吞吐量,执行时间和并发性的高峰值时,用于确定数据库可用的频率,或者,数据库忙于响应请求的频率。

此度量标准对于确定数据库的整体运行状况和性能特别有用。如果只有80%的时间可以响应请求,则可以重新分配资源,进行优化或以其他方式进行更改以更接近高可用性。

以上就是关于如何衡量mysql库的健康度全部的内容,包括:如何衡量mysql库的健康度、软件测试过程的度量、数据库性能监视的主要指标有等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9641692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存