服务器的查看TPS的命令_服务器查看路由命令

hacker|
84

文章目录:

我的世界服务端查看剩余资源信息中的TPS是啥意思?

tps,全称是tick per second,也就是每秒运行的游戏刻数。正常应该是20,即服务器50ms运行一刻(tick),当tps小于18时,卡顿会非常明显,当tps小于10时,游戏通常会卡顿到无法运行。

sar命令查看历史数据

前言

有的时候,我们要通过对系统的cpu负载等性能数值的查看,来判排查系统产生某种故障(经常死机或者运行速度突然变慢)的原因。但是,简单的top,uptime,w等命令只可以查看当前的负载,而无法查看过去的某一时间段的cpu的负载情况。

下面就介绍一个用于性能分析的命令,其可以用于查看过去的某一时间段的cpu的负载情况(系统性能)。

查看某一时间段的cpu使用情况,请直接跳到第七节。

一、sar概念

sysstat是Linux 系统中的常用工具包,而sar 是 Linux中sysstat工具包中的用于监控Linux系统性能的工具之一。

sysstat 工具包中包含两种类型的工具:即时查看工具(iostat、mpstat、sar);累计统计工具(sar)

因此sar命令,又叫做系统活动情况报告。不仅可以实时查看服务器的性能,还可以做累计统计。

二、sar可监控的范围

文件的读写情况

系统调用的使用情况

磁盘I/O使用情况

CPU的使用统计

内存使用状况

进程活动

IPC有关的活动

三、sar命令使用环境

sar命令使用格式:

sar+ 命令行选项(可选) + 间隔时间(可选) + 次数(可选)

常用来判断一个系统瓶颈问题

查询CPU可用 sar -u 和 sar -q 等来查看查询内存可用 sar -B、sar -r 和 sar -W 等来查看查询io可用 sar -b、sar -u 和 sar -d 等来查看

四、sar命令累计统计的实现过程

系统会通过调用 /usr/lib64/sa/ 中的三个工具(sa1 sa2 sadc)来实现,周期地记录当时的系统性能的信息的功能。

sa1 :收集并将每天的系统性能的信息写入一个二进制的文件中,它是sadc的前端程序

sa2 :收集每天的系统活跃的信息并写入总结性的文件中,其作为 sar的前端程序

sadc :收集系统的动态数据的数据并写入一个二进制的文件中,其作为 sar 工具的后端

五、sar的日志

sar是由有类似日志切割的功能的,它会依据/etc/cron.d/sysstat中的计划任务,将日志放入/var/log/sa/中

注:日志为二进制文件,不可使用more、less、vim工具查看,必须使用sar或sadf

可以根据需求修改该计划任务

如要查看某一时间段的服务器的性能的其中一个方法就是:使用sar命令,查看当天的日志文件

sar -f /var/log/sa/sa15

[root@    lib64]#sar-f/var/log/sa/sa15Linux3.10.0-327.el7.x86_64(ops-node7)07/15/2018_x86_64_(24CPU)12:00:01AMCPU%user%nice%system%iowait%steal%idle12:10:01AMall1.350.000.850.120.0097.6712:20:01AMall1.320.000.860.110.0097.7112:30:02AMall1.370.000.870.110.0097.6512:40:01AMall1.320.000.910.110.0097.6612:50:01AMall1.350.000.890.110.0097.6501:00:01AMall1.360.000.870.110.0097.6601:10:01AMall1.360.000.850.110.0097.6801:20:01AMall1.350.000.890.100.0097.6601:30:01AMall1.320.000.890.110.0097.6801:40:01AMall1.290.000.950.110.0097.6501:50:01AMall1.350.000.880.120.0097.6402:00:01AMall1.340.000.880.110.0097.6802:10:01AMall1.330.000.900.110.0097.6502:20:01AMall1.360.000.870.120.0097.6502:30:01AMall1.350.000.850.120.0097.6802:40:01AMall1.410.000.920.120.0097.5602:50:01AMall1.570.000.950.130.0097.3503:00:01AMall4.210.000.810.160.0094.8103:10:01AMall2.500.000.870.130.0096.5003:20:01AMall1.370.000.870.120.0097.6503:30:01AMall1.360.000.950.130.0097.5603:40:01AMall1.480.000.970.240.0097.3003:50:01AMall1.350.010.910.130.0097.6004:00:01AMall1.390.000.950.190.0097.4704:10:01AMall1.360.000.990.130.0097.52

注意:

sar查看性能或其日志时,使用的12/24小时制;日志的切割是昨天晚上12点到今天12点为一天;默认只保留一个月的日志

六、sar命令参数及输出项详解

【1】格式

用法:sar + 选项 + 时间间隔(可选) + 次数 (可选)

interval: 取样周期,单位是秒count:取样次数,默认值为1options:命令行选项

【2】常用选项

-A          所有报告的总和-B          输出内存页面的统计信息-b          输出I/O和传送速率的统计信息-C          输出进程统计信息及每秒创建的进程数-d          输出每一个块设备的活动信息-H          输出交换空间利用率信息-h          输出帮助信息-p          输出友好设备名字,以方便查看,常与-d和-n参数结合使用-q          输出进程队列长度和系统平均负载状态统计信息-R          输出内存页面的统计信息-r          输出内存和交换空间的统计信息-S          输出交换空间利用率信息-t          读取 /var/log/sa/下的某日志的数据时显示其中记录的原始时间-u          输出整体CPU使用情况的统计信息-V          输出版本信息-v          输出内核表状况统计信息(inode、文件和其他内核表的统计信息)-W          输出系统交换的统计信息-w          输出任务创建与系统转换统计信息-y          输出终端设备的活动信息-----------I          输出指定中断的统计信息,后方可加参数{...|SUM|ALL|XALL}  ...          指定中断号SUM          指定输出每秒接收到的中断总数ALL          指定输出前16个中断XALL        指定输出全部的中断信息-----------P          输出指定的部分的CPU的统计信息,后方可加参数{cpu|ALL}cpu          指定cpuALL          输出单个和整体cpu的统计数据-----------n          输出网络设备(网卡)状态统计信息,后方可加参数{DEV|EDEV|NFS|NFSD|SOCK|ALL}    DEV          输出网络设备的统计信息EDEV        输出网络设备的错误统计信息NFS          输出NFS客户端的活动统计信息NFSD        输出NFS服务器的活动统计信息SOCK        输出网络套接字的使用统计信息ALL          输出所有类型的网络活动统计信息-----------f          从文件中读取数据信息。一般读取sar日志,也可读取-o选项生成的文件,后方要加文件名-o          将sar的输出信息保存到文件中,后方要加文件名-i          指定间隔时长,单位为秒-s          指定输出统计数据的起始时间(格式为hh:mm:ss;例如01:00:00)  -e          指定输出统计数据的截至时间,通常与-S选项连用。无数值时默认为18:00:00(格式为hh:mm:ss;例如09:00:00)

【3】输出项

1cpu的输出

sar -u

%usr              CPU在用户模式下,执行进程的时间百分比 %nice              CPU在用户模式下,用于nice操作,所占用CPU总时间的百分比 %system            CPU处在系统模式(内核态)下,执行进程的时间百分比 %iowait            CPU用于等待I/O操作完成(等待输入输出完成),占用CPU总时间的百分比 %steal            管理程序为另一个虚拟进程提供服务而等待虚拟CPU的百分比%idle              CPU空闲时间百分比

注意:

如果%iowait的值过高,表示硬盘存在I/O瓶颈 如果%idle值高,表示CPU较空闲如果%idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量 如果%idle 的值持续低于10,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU

2I/O和传送速率输出

sar -b

tps                每秒向磁盘设备请求数据的次数,包括读、写请求,其为rtps与wtps的和。每一次IO下发后会先将多个请求合并为一个I/O磁盘请求,这里tps指请求合并后的请求计数rtps              每秒向磁盘设备的读请求次数 wtps              每秒向磁盘设备的写请求次数 bread/s            每秒钟从物理设备读入的数据量,单位为 块/s bwrtn/s            每秒钟向物理设备写入的数据量,单位为 块/s

3设备使用情况输出

sar -d

DEV                磁盘设备,加上用参数-p可以打印出sda等磁盘设备名称;如不加参数-p,设备则显示为dev253-0等tps                每秒向磁盘设备请求数据的次数,包括读、写请求,其为rtps与wtps的和。每一次IO下发后会先将多个请求合并为一个I/O磁盘请求,这里tps指请求合并后的请求计数rd_sec/s          每秒读扇区的次数wr_sec/s          每秒写扇区的次数avgrq-sz          平均每次设备I/O操作的数据大小(扇区)avgqu-sz          磁盘请求队列的平均长度await              从请求磁盘到系统处理完,每次请求的平均消耗时间,包括请求队列等待时间(单位是毫秒)svctm              系统处理每次请求的平均时间,不包括在请求队列中消耗的时间%util              I/O请求占CPU的百分比

4网络设备统计信息输出

sar -n EDEV

IFACE              网络设备名rxpck/s            每秒接收的包数量txpck/s            每秒传输的包数量rxbyt/s            每秒接收的字节数(单位为byte)txbyt/s            每秒传输的字节数(单位为byte)rxkB/s            每秒收的数据量(单位为kB)txkB/s            每秒发的数据量(单位为kB)rxcmp/s            每秒接收压缩包的数量txcmp/s            每秒传输压缩包的数量rxmcst/s          每秒接收的多播(multicast)包的总数排查网络设备故障

5网络设备故障信息输出

EDEV |egrep ‘eth0|IFACE’ (本次指定了网卡etho0,可填入其他网卡)

IFACE网络设备名rxerr/s每秒接收的坏包数量txerr/s传输包时每秒发生错误的数量coll/s传输包时每秒发生冲突的数量rxdrop/s接收包时,每秒丢弃的包的数量(缺乏缓存导致)txdrop/s传输包时,每秒丢弃的包的数量(缺乏缓存导致)txcarr/s传输包时,每秒发生的传输错误的数量rxfram/s接收包时,每秒发生帧校验错误的数量rxfifo/s接收包时,每秒钟缓冲区溢出错误的数量txfifo/s传输包时,每秒钟缓冲区溢出错误的数量

6内存分页状态输出

sar -B

pgpgin/s每秒从磁盘空间或交换空间置换到内存的字节数(单位为KB)pgpgout/s每秒从内存置换到磁盘空间或交换空间的字节数(单位为KB)fault/s每秒钟系统产生的缺页数(主缺页加次缺页)majflt/s每秒钟产生的主缺页数pgfree/s每秒被放入空闲队列中的页个数pgscank/s每秒被kswapd扫描的页个数pgscand/s每秒直接被扫描的页个数pgsteal/s每秒钟从cache中被清除来满足内存需要的页个数%vmeff每秒清除的页占总扫描页的百分比

7进程队列长度和平均负载状态输出

sar -q

runq-sz          运行队列的长度,等待运行的进程数量

plist-sz        进程列表中进程和线程的数量

ldavg-1          最后1分钟的系统平均负载

ldavg-5          过去5分钟的系统平均负载

ldavg-15        过去15分钟的系统平均负载

8内存和交换空间状态输出

sar -r

kbmemfree空闲的内存数量(单位为KB)kbmemused已使用的内存数量,不包含内核使用的内存(单位为KB)%memused已使用内存的百分数kbbuffers内核缓冲区buffer,使用的内存数量(单位为KB)kbcached内核高速缓存cache数据使用的内存数量(单位为KB)kbcommit保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap)%commitkbcommit与所有内存总量的百分比

9系统交换活动信息输出

sar -W

pswpin/s          每秒系统换入的交换页面数量

pswpout/s          每秒系统换出的交换页面数量

七、sar使用实例-查看某一时间段的情况

1查看凌晨1点到3点的cpu

sar -s 01:00:00 -e 03:00:00

2查看凌晨1点到3点的系统的平均负载

若要看某时间段其他性能,加上对应选项

sar -s 01:00:00 -e 03:00:00 -q

3查看本月3号的cpu

注意:

该操作需要去查看sar的日志(第五节已经介绍一次)

默认只保存一个月的

sar查看性能或其日志时,注意自己的使用的是12还是24小时制

日志的切割是昨天晚上12点到今天12点为一天

cd/var/log/sa/sar -f sa03

linux查看磁盘io的几种方法

linux查看磁盘io的几种方法

怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式:

第一种:用 top 命令 中的cpu 信息观察

Top可以看到的cpu信息有:

Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si

具体的解释如下:

Tasks: 29 total 进程总数

1 running 正在运行的进程数

28 sleeping 睡眠的进程数

0 stopped 停止的进程数

0 zombie 僵尸进程数

Cpu(s):

0.3% us 用户空间占用CPU百分比

1.0% sy 内核空间占用CPU百分比

0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比

98.7% id 空闲CPU百分比

0.0% wa 等待输入输出的CPU时间百分比

0.0% hi

0.0% si

0.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。

第二种:用vmstat

vmstat 命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

输入命令:

vmstat 2 5

如果发现等待的进程和处在非中断睡眠状态的进程数非常多,并且发送到块设备的块数和从块设备接收到的块数非常大,那就说明磁盘io比较多。

vmstat参数解释:

Procs

r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间

Memory

swpd: 虚拟内存使用情况,单位:KB

free: 空闲的内存,单位KB

buff: 被用来做为缓存的内存数,单位:KB

Swap

si: 从磁盘交换到内存的交换页数量,单位:KB/秒

so: 从内存交换到磁盘的交换页数量,单位:KB/秒

IO

bi: 发送到块设备的块数,单位:块/秒

bo: 从块设备接收到的块数,单位:块/秒

System

in: 每秒的中断数,包括时钟中断

cs: 每秒的环境(上下文)切换次数

CPU

按 CPU 的总使用百分比来显示

us: CPU 使用时间

sy: CPU 系统使用时间

id: 闲置时间

准测

更多vmstat使用信息

第二种:用iostat

安装:

Iostat 是 sysstat 工具集的一个工具,需要安装。

Centos的安装方式是:

yum install sysstat

Ubuntu的安装方式是:

aptitude install sysstat

使用:

iostat -dx 显示磁盘扩展信息

root@fileapp:~# iostat -dx

r/s 和 w/s 分别是每秒的读操作和写操作,而rKB/s 和wKB/s 列以每秒千字节为单位显示了读和写的数据量

如果这两对数据值都很高的话说明磁盘io操作是很频繁。

+++++++++++++++++++++++++++++++++++++

linux wa%过高,iostat查看io状况

1, 安装  iostat  

yum install sysstat

之后就可以使用 iostat 命令了,

2,入门使用

iostat -d -k 2

参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次。

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。kB_read/s:每秒从设备(drive expressed)读取的数据量;

kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。

指定监控的设备名称为sda,该命令的输出结果和上面命令完全相同。

iostat -d sda 2

默认监控所有的硬盘设备,现在指定只监控sda。 

3, -x 参数

iostat还有一个比较常用的选项 -x ,该选项将用于显示和io相关的扩展数据。

iostat -d -x -k 1 10

输出信息的含义

4, 常见用法

iostat -d -k 1 10        #查看TPS和吞吐量信息(磁盘读写速度单位为KB)

iostat -d -m 2            #查看TPS和吞吐量信息(磁盘读写速度单位为MB)

iostat -d -x -k 1 10      #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态

5, 实例分析

iostat -d -k 1 | grep vda

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

sda10            60.72        18.95        71.53  395637647 1493241908

sda10          299.02      4266.67      129.41      4352        132

sda10          483.84      4589.90      4117.17      4544      4076

sda10          218.00      3360.00      100.00      3360        100

sda10          546.00      8784.00      124.00      8784        124

sda10          827.00    13232.00      136.00      13232        136

上面看到,磁盘每秒传输次数平均约400;每秒磁盘读取约5MB,写入约1MB。

iostat -d -x -k 1

Device:    rrqm/s wrqm/s  r/s  w/s  rsec/s  wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz  await  svctm  %util

sda          1.56  28.31  7.84 31.50  43.65    3.16    21.82    1.58    1.19    0.03    0.80  2.61  10.29

sda          1.98  24.75 419.80  6.93 13465.35  253.47  6732.67  126.73    32.15    2.00    4.70  2.00  85.25

sda          3.06  41.84 444.90 54.08 14204.08 2048.98  7102.04  1024.49    32.57    2.10    4.21  1.85  92.24

可以看到磁盘的平均响应时间5ms,磁盘使用率80。磁盘响应正常,但是已经很繁忙了。

可以看到磁盘的平均响应时间5ms,磁盘使用率90。磁盘响应正常,但是已经很繁忙了。

await:  每一个IO请求的处理的平均时间(单位是微秒毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了

svctm    表示平均每次设备I/O操作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,

如果await的值远高于svctm的值,则表示I/O队列等待太长,  系统上运行的应用程序将变慢。

%util: 在统计时间内所有处理IO时间,除以总共统计时间

所以该参数暗示了设备的繁忙程度

。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

也可以使用下面的命令,同时显示cpu和磁盘的使用情况

等待时间超过5ms, 磁盘io有问题

在linux上怎么取出mysql数据库中的tps

在linux下安装mysql数据库并配置的流程比较繁琐,需要耐心调试,具体方法和步骤如下:

1.查找以前是否安装有mysql,使用下面命令:

rpm -qa|grep -i mysql

如果显示有如下包则说明已安装mysql

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

2.如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库

删除命令:rpm -e --nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )

删除老版本mysql的开发头文件和库

命令:rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

rm -f /etc/my.cnf

rm -fr /var/lib/mysql

3.下载mysql的rpm包

可以通过wget下载具体的地址因为不能用链接请大家去官网去找

(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;

(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;

(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。

下载后放到Liunx服务器中。

4.安装MySQL Server的rpm包

rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm

安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看。

5.安装MySQL客户端

rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm

6.安装MySQL开发依赖包

rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm

7.启动msyql

安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

可使用如下命令启动MySQL:

service mysql start

或者使用如下命令:

/etc/init.d/mysql start

可使用SET PASSWORD命令修改root用户的密码,参考如下:SET PASSWORD = PASSWORD('root123456');

8.登录MySQL

使用mysql命令登录MySQL服务器,运行MySQL的命令时,会提示需要设置root用户密码。

9.设置开机自启动

/etc/init.d/mysql start

设置完成后重启系统,使用natstat –nat命令可看到MySQL的3306端口。

10.至此已经安装好了mysql数据库,当然现在我们的数据库还不支持远程连接,远程连接会出现以下代码:1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server,可以通过以下以下来解决。

11.改表法:在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。

mysql

mysqluse mysql;

mysqlselect 'host' from user where user='root

12.到此为止,mysql数据库在linux中安装完毕。

4条大神的评论

  • avatar
    访客 2023-03-30 上午 01:57:31

    ff: 被用来做为缓存的内存数,单位:KB Swap si: 从磁盘交换到内存的交换页数量,单位:KB/秒 so: 从内存交换到磁盘的交换页数量,单位:KB/秒 IO bi: 发送到块设备的块数,单位:块/秒 bo: 从块设备接收到的块数,单位:块/秒 Sys

  • avatar
    访客 2023-03-30 上午 12:21:20

    日志为二进制文件,不可使用more、less、vim工具查看,必须使用sar或sadf 可以根据需求修改该计划任务 如要查看某一时间段的服务器的性能的其中一个方法就是:使用sar命令,查看当天的日志文件 sar -f /var/log/sa/sa15 [root@    lib64]

  • avatar
    访客 2023-03-30 上午 02:44:32

    项 1cpu的输出 sar -u %usr              CPU在用户模式下,执行进程的时间百分比 %nice              CPU在用户模式下,用于nice操作,所占用CPU总时间的百分比 %system            CPU处

  • avatar
    访客 2023-03-30 上午 07:25:36

    vh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm6.安装MySQL开发依赖包rpm -ivh MySQL-devel-5

发表评论