前言
我们的服务器为什么要优化性能,这个不用做很多事情,大家都知道! 如果出现性能问题,您需要确定性能瓶颈在哪里。 谈谈解决瓶颈的想法吧。
另一方面,影响服务器性能的因素CPU(CPU的运行速度直接影响服务器的性能) )。
硬盘(I ) o的读写速度对其影响最直接) ) ) ) ) ) ) )。
内存(避免使用SWAP ) )。
网卡(NIC的吞吐量) )。
二.性能分析步骤
1、服务器需要长期监控,收集服务器性能指标(可以使用zabbix ) )。
2、遇到性能瓶颈时,我们需要使用一些工具来确定问题(Vmstat、top、iostat等)
三.可能引起性能瓶颈的因素
1、服务器硬件配置
2、编程缺陷(遇到过死循环,CPU利用率高,服务器速度慢) )内存泄漏。
3、物理内存不足时使用交换分区,引起CPU和磁盘I/o开销
4、数据库查询sql未索引或索引不合理
四. vmstat命令详情1
2
3
4
5
6
7[root@tshare365~]#vmstat13
procs-------memory-----swap---- io---- system---- CPU
rbswpdfreebuffcachesisobiboincsussyidwast
00077618880316396560013113100010000
0007761488031639676000017100010000
0007761728031639676000017120010000
[root@tshare365~]#
注释:
vmstat 1 3显示每隔一秒收集数据,共收集三次
进程:
r :表示正在运行的进程数和等待cpu时间片的进程数。 如果r的值大于cpu的核心数,则表示cpu不足,需要增加cpu。)
b :等待运行的进程数(如果此值较大,则必须检查服务器的内存使用情况,以确定是否正在使用交换分区,以及是否也在使用磁盘I/o ) )。
内存:
swpd :虚拟内存的使用大小。 理想情况下,该值为0,表示内存足够
free :以千字节为单位显示当前可用的物理内存数量
buff :表示buffers cache的内存数量,通常需要缓冲区才能读写块设备
cache :表示page cached的内存量,通常用作文件系统的cached,经常访问的文件被cached。 如果cached的值较大,则cached文件的数量会较大。 此时,如果IO的bi较小,则文件系统效率会较高
WAP :
si )每秒从交换空间写入内存的大小,即从硬盘写入内存的大小
so :如果si相反,则表示从内存写入交换分区的大小
理想情况下,swap的两个值都为0,表示内存足够大,没有使用交换分区
io :
bi :每秒读取的块数
bo :每秒写入的块数
system :
(in )每秒的中断数包括时钟中断
cs :每秒的上下文切换数
cpu :
us )用户空间占用的CPU时间(如果此值高得多,则必须优化程序) )。
sy )核心空间占用CPU的时间(此值高表示系统不正常,需要查找原因) )。
(id ) CPU空闲时间(该值越高,表示CPU正在精力充沛地奔跑) )。
wa :等待io所需的CPU时间。 如果此值较高,则磁盘可能成为瓶颈。)
st :虚拟机占用时间(不太受关注) ) ) ) ) ) ) ) ) ) )虚拟机占用时间) ) ) ) ) ) ) )。
vmstat的介绍到此结束。 vmstat中我们最关心的指标是proc中的r、b。 这也是很多面试官最喜欢的问题。 我希望你能记住。 vmstat在平时的工作中也很常用。 请注意理解各参数的含义。
这个博客到此结束。 如果有什么问题,请留言!