MySQL之优化服务器设置(六)

操作系统状态

操作系统会提供一些帮助发现操作系统和硬件正在做什么的工具。其中包括最常用的工具iostat和vmstat。如果系统不能提供它们中的任何一个,有可能提供了相似的替代品。当然目的不是让大家熟练使用iostat和vmstat,而是告诉大家用类似的工具诊断问题时应该看什么指标。除了这些,操作系统也许还提供了其他的工具,如mpstat或者sar.如果对系统的其他部分感兴趣,例如网络,你可能希望使用ifconfig(除了其他信息,它能显示了多少次网络错误)或者netstat.
默认情况下,vmstat和iostat只是生成一个报告,展示自系统启动依赖很多计数器的平均值,这其实没什么用。然而,两个工具都可以给出一个间隔参数,让它们生成增量值得报告,展示服务器正在做什么,这更有用

如何阅读vmstat的输出

在这里插入图片描述

我们先看一个vmstat的例子。用下面的命令让它每5秒钟打印出一个报告:

vmstat 5

可以用Ctrl +C停止vmstat,可以看到输出依赖于所用的操作系统,因此可能需要阅读一下手册来解读报告。刚启动不久,即使采用增量报告,第一行的值还是显示自系统启动以来的平均值,第二行展示现在正在发生的情况,接下来的行会展示每5秒的间隔内发生了什么。每一列的含义在头部,如下所示:

  • 1.procs
    r这一列展示了多少进程正在等待CPU。b列显示多少进程正在不可中断地休眠(通常意味着它们在等待IO,例如磁盘、网络、用户输入,等等)。
  • 2.memory
    swapd列显示多少块被换出到了磁盘(页面交换)/剩下地三列显示了多少块时空闲的(未被使用)、多少块正在被用作缓冲,以及多少正在被用作操作系统的缓存。
  • 3.swap
    这些列显示页面交换活动:每秒有多少块正在被换入(从磁盘)和换出(到磁盘)。它们比监控swapd列重要多了。大部分时间我们喜欢看到si和so列时0,并且我们很明确不希望看到每秒超过10个块。突发性的高峰一样很糟糕。
  • 4.io
    这些列显示有多少块从块设备读取(bi)和写出(bo)。这通常反应了硬盘IO
  • 5.system
    这些列显示了每秒中断(in)和上下文切换(cs)的数量
  • 6.cpu
    这些列显示所有的CPU时间花费在各类操作的百分比,包括执行用户代码(非内核)、执行系统代码(内核)、空闲,以及等待IO.如果正在使用虚拟化,则第五个列可能是st,显示了从虚拟机中"偷走"的百分比。这关系到那些虚拟机想运行但是系统管理程序转而运行其他的对象的时间。如果虚拟机不希望运行任何对象,但是系统管理程序运行了其他对象,这不算被偷走的CPU时间

vmstat的输出跟系统有关,所以如果看到跟展示的例子不同的输出,应该阅读系统的vmstat(8)手册。一个重要的提示是:内存、交换区,以及IO统计是块数而不是i字节。在GNU/Linux,块大小通常是1024字节

使用如下命令查看系统手册:

man vmstat

vmstat(8)使用手册如图
在这里插入图片描述

如何阅读iostat的输出

在这里插入图片描述

现在让我们转移到iostat。默认情况下,它显示了与vmstat相同的CPU使用信息。我们通常只是对IO统计感兴趣,所以使用下面的命令之战是扩展的设备统计:

iostat -dx 5

与vmstat一样,第一行报告显示的是自系统启动以来的平均值(通常删掉它节省空间),然后接下来的报告显示了增量的平均值,每个设备一行。有多种选项显示和隐藏列。官方文档有点难以理解,因此我们必须从源码中挖掘真正显示的内容是什么。说明的列信息如下:

  • 1.rrqm/s和wrqm/s
    每秒合并的读和写请求。"合并的"意味着操作系统从队列中拿出多个逻辑请求合并为一个请求到实际磁盘
  • 2.r/s和w/s
    每秒发送到设备的读和写请求
  • 3.rsec/s和wsec/s
    每秒读和写的扇区数。有些系统也输出为rkB/s和wkB/s,意味着每秒读写的千字节数。为了简洁,省略了那些指标说明。
  • 4.avgrq-sz
    请求的扇区数
  • 5.avgqu-sz
    在设备队列中等待的请求数
  • 6.await
    磁盘队列上花费的毫秒数。很不幸,iostat没有独立统计读和写的请求,它们实际上不应该被一起平均
  • 7.svctm
    服务请求花费的毫秒数,不包括排队时间
  • 8.%util
    至少有一个活跃请求所占时间的百分比。如果熟悉队列理论张利用率的标准定义,那么这个命名很莫名其妙。它其实不是设备的利用率。超过一块硬盘的设备(例如RAID控制器)比一块硬盘的设备可以支持更高的并发,但是%util从来不会超过100%,除非在计算机时有四舍五入的错误。因此,这个指标无法真实反映设备的利用率,实际上跟文档说的相反,除非只有一块物理磁盘的特殊例子。

可以用iostat的输出推断某些关于机器IO自系统的实际情况。一个重要的度量标准时请求服务的并发数。因为读写的单位时每秒而服务时间的单位是千分之一秒,所以可以利用利特尔法则(Littele’s Law)得到下面的公式,计算出设备服务的并发请求数(另一种计算并发的方式是通过平均队列大小、服务时间,以及平均等大i时间:(avuqu_sz * svctm) / await):

concurrency = (r/s + w/s) * (svctm/1000)

把数字带入并发公式,可以得到(0.38 + 0.02) * (0.43 / 1000) = 0.000172.由于我这台服务器配置是乞丐版的,所以得到的并发数比较低。这意味着在一个采样周期内,这个设备平均要服务0.000172次的请求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/717304.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

css布局方式汇总

css布局解决方案 文章目录 css布局解决方案水平居中布局1. text-algin:center使用场景原理优点与缺点 2. margin:0 auto原理优点和缺点 3. inline-blocktext-align属性配合使用原理优点和缺点 4. table配合margin属性使用原理优点和缺点 5. absolutetransform属性的translateX原…

周跳的探测及修复

前言: 本章节代码均在Gitee中开源: 导航工程: 导航工程及其有关的所有项目 - Gitee.comhttps://gitee.com/Ehundred/navigation-engineering/tree/master/%E5%8D%AB%E6%98%9F%E5%AF%BC%E8%88%AA%E5%8E%9F%E7%90%86/%E5%91%A8%E8%B7%B3%E6%8E%A2%E6%B5%…

Excel批量一列转多列多行

你在公司或学校是否遇到过对人员进行分组,你是否曾一个一个复制粘贴,如只有100人,尚有时间一一分组,如1000人,甚至更多,不知分到“地老天荒”是否可以完成! 今天刘小生分享一个方法“用替换等号…

OZON爆款新品推荐丨OZON珠宝首饰好款推荐

在OZON平台上,珠宝首饰一直以其独特的魅力和精致的工艺吸引着广大消费者。以下是几款推荐的OZON珠宝首饰好款: Top1 隐形树藤项链 MARIOLA Ювелирное колье серебро 925 леска невидимка женское сере…

一个示例学习C语言到汇编层面

给出以下代码 #include<stdio.h> int main() {int x 0, y 0, z 0;while (1) {x 0;y 1;do {printf("%d\n", x);z x y;x y;y z;} while (x < 255);}return 0; }我们把这个程序编写成32位程序&#xff0c;然后我们放入IDA中进行分析 .text:0080187…

DAY04 HTMLCSS

文章目录 一 表单(1) 数字控件(2) 颜色控件(3) 日期控件(4) 月份控件(5) 星期控件(6) 搜索控件(7) 范围控件 二 浮动框架三 结构化标签四 CSS1 CSS概述2 CSS的编写位置1. inline style 行内样式2. inner style 内部样式3. outer style 外部样式4. 小结 3 CSS选择器1. 通用选择器…

OSPF 动态路由协议(思科、华为)

#交换设备 OSPF 动态路由协议 一、基本概念 1.中文翻译&#xff1a;开放式最短路径优先路由协议&#xff08;open shortest path first&#xff09;&#xff0c;是一个内部网关路由协议&#xff08;一个自治系统内&#xff09;2.也称为&#xff1a;链路状态路由协议&#xf…

【操作系统原理】三级项目-基于并行计算的的单词统计

前言 这是当时选修《操作系统原理》时需要做的一个实验项目&#xff0c;也是三级项目&#xff0c;选题选的是第二章有关并行计算的实验&#xff0c;这个项目有匿名版的PPT和视频&#xff0c;可以私我&#xff0c;发送“基于并行计算的的单词统计”即可获取整个项目的压缩包。 …

java:【@ComponentScan】和【@SpringBootApplication】扫包范围的冲突

# 代码结构如下&#xff1a; 注意【com.chz.myBean.branch】和【com.chz.myBean.main】这两个包是没有生重叠的。 主程序【MyBeanTest1、MyBeanTest2、MyBeanTest3】这两个类是在包【com.chz.myBean.main】下 # 示例代码 【pom.xml】 <dependency><groupId>org.…

基本表的定义:创建表、修改表、删除表

一、创建数据库与打开数据库 学生选课数据库 学生&#xff08;学号&#xff0c;姓名&#xff0c;性别&#xff0c;出生时间&#xff0c;所在系&#xff09; 课程&#xff08;课程编号&#xff0c;课程名&#xff0c;先修课程号&#xff09; 选课&#xff08;学号&#xff0…

【机器学习300问】120、该怎么用RNN来构建语言模型?

一、基本概念补充 在构建语言模型之前补充几个自然语言处理&#xff08;NLP&#xff09;基本概念。 &#xff08;1&#xff09;语料库&#xff08;Corpus&#xff09; ① 语料库的定义 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;语料库是一个经过组织和加工…

二叉树-根据先序遍历和中序遍历序列重建二叉树

目录 一、问题描述 二、解题思路 1.首先明确先序遍历和中序遍历的性质&#xff1a; 2.确定根节点及左右子树 3.对子树进行递归操作 4.递归返回条件 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 1.首先明确先序遍历和中序遍历的性质&#xff1a; 先序遍历&am…

探索比特币多面体

目录 前言 一、比特币挖矿 1.挖矿设备的演化 2.矿池 二、比特币脚本 1.交易结构 2.交易的输入 3.交易的输出 4.P2PK 输入输出脚本的形式 实际执行情况 5.P2PKH 输入输出脚本的形式 实际执行情况 6.P2SH 输入输出脚本的形式 7.进一步说明 8.多重签名 9.脚本执…

Graphviz——安装、绘制可视化协议状态机(Python)

1、简介 Graphviz 是一个开源的图形可视化软件包&#xff0c;特别擅长绘制有向图和无向图等结构化图形。它非常适合用于生成各种图表&#xff0c;例如流程图、网络图、状态机图、层次结构图等。Graphviz 的主要组件 dot: 这是Graphviz最常用的布局程序&#xff0c;用于创建有向…

(杭州中科微)全星座定位导航模块GM32的应用推荐及性能指标解析

1、 关于GNSS的原理&#xff1a; 它是通过接收来自地球轨道上的W星信号&#xff0c;并利用信号传播延迟的原理&#xff0c;计算与接收器之间的距离&#xff0c;从而实现对接收器位置的精确测量。 而GNSS的定位原理&#xff1a;W星导航系统GNSS接收机主要是通过三边测量法&…

Postgresql配置SSL连接

1、系统需要有openssl、openssl-devel包 yum -y install openssl openssl-devel 2、查看当前数据库是否使用openssl编译 pg_config|grep CONFIGURE 如果没有重新编译 make clean make && make install 3、服务器端证书配置 服务器端需生成三个文件: root.crt(根证…

如何用stable diffusion画出这种风景幻视画?

最近出现了一种奇怪的表情包。 看到小图的时候有几个字&#xff0c;点看一看却是一张正常的图片。 比如&#xff0c;看一个有意思的图&#xff0c;这两张图的预览模式下有明显的“银河”两字。 点开放大呢&#xff1f; 竟然是服饰的形状和颜色。 再看一张类似效果的&#xf…

Java_JDK下载与环境变量配置

目录 一、JDK下载安装 二、安装后配置环境变量 三、在编辑器里使用JDK 一、JDK下载安装 JDK 是Java开发工具包&#xff0c;它提供了用于开发和运行Java程序所需的工具和库。JDK包括Java编译器、Java虚拟机、Java标准库等。在IDEA中使用Java语言编写代码时&#xff0c;需要安…

20240617通过串口配置索尼SONY的HDMI OUT输出的8530机芯

20240617通过串口配置索尼SONY的HDMI OUT输出的8530机芯 2024/6/17 15:54 缘起&#xff1a;需要在RK3588开发板OK3588-C上使用SONY的8530机芯。特意熟悉8530的串口命令&#xff01; 目的&#xff1a;需要配置SONY的8530机芯为RGB输出&#xff0c;4K分辨率。 串口波特率&#x…

Redis 管道

Redis的消息交互 当我们使用客户端对Redis进行一次操作时&#xff0c;如下图所示&#xff0c;客户端将请求传送给服务器&#xff0c;服务器处理完毕后&#xff0c;再将响应回复给客户端&#xff0c;这要花费一个网络数据包来回的时间。 如果连续执行多条指令&#xff0c;那就会…