如何对Linux的服务器进行性能评估
如何对Linux的服务器进行性能评估?如何有技术含量地开发了一个网页?针对这个问题,今天小编总结这篇有关服务器性能评估的文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。
公司主营业务:成都网站设计、网站制作、外贸营销网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出香格里拉免费做网站回馈大家。
CPU使用率和负载
首先需要分清楚CPU使用率和机器负载不是相同的概念,如果CPU使用率,但是不一定代表机器负载同样也高。所以关于CPU使用率和负载的区别:
- CPU使用率:显示的是程序在运行期间占用的CPU百分比;
- CPU负载:显示的是一段时间内正在使用和等待使用的CPU平均任务数;
查看CPU使用率和负载
对于查看负载可以使用uptime,w命令,同时top,vmstat工具也可以同时观察CPU使用率和负载情况。
查看CPU核数:
grep "model name" /proc/cpuinfo | wc -l
uptime命令:
命令返回信息中的load average就是关于系统的平均负载,里面的三个数字分别代表着1分钟、5分钟、15分钟内的系统平均负载。
top工具
(如果是多核CPU,1查看各个CPU详细信息)
top工具的第一行后面的三个值,分别也是代表之前的1、5、15分钟内的平均负载;
第三行关于CPU使用率各项参数的含义:
- (us)user:CPU在低nice值(高优先级)用户态所占用的时间;(大部分CPU时间都在执行此类程序)
- (sy)sytem:CPU处于内核所占用的时间,操作系统通过系统调用从用户态陷入内核态,执行特定的服务;(通常该值会比较小,当服务器执行的IO比较密集的时候,会比较大)
- ni(nice):CPU在高nice值(低优先级)用户态以低优先级运行占用的时间(nice>0);
- si(softirq):系统处理软中断所消耗的时间
- st(steal):在虚拟机情况下,因为虚拟机下的CPU是共享物理CPU,表明这段时间虚拟机等待hypervisor调度CPU的时间。
CPU使用率和负载指标
首先对于CPU使用率,如果长时间处于60-80%的范围,就意味着可能服务器出现瓶颈。如果需要具体分析,还需要观察是user占用率过高,还是system占用率过高。具体:
- us:当user占用率过高,通常是某些个别的进程占用了大量的CPU;
- sy:当system占用率过高,说明系统管理花费了大量时间,比如一些IO操作,或者部分内核,驱动模块;
*(其次负载指标来说,一直存在许多争议,我综合了一些文章的观点,具体是CPU负载保持在(CPU核数0.7)范围内,这样的负载是安全的,如果超过一定的负载(=CPU核数)就可以算是意味着over load。)**
内存
内存也叫内存存储器,作用是暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
- 物理内存:通过物理内存条获得的内存空间,即随机存储器(RAM),与CPU直接交换数据的内部存储器,也叫主存
- 虚拟内存:计算机的一种内存管理技术,使应用程序认为拥有可连续使用的内存(完整的地址空间),实际上,被分割为多个物理内存碎片,以及部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
- Swap分区:在系统的物理内存不够用的时候,将物理内存中的一部分空间释放出来,供当前运行的程序使用,这些被释放的空间可能来自于很长时间没有操作的程序,释放的空间被临时保存到Swap空间中,等到那些程序需要运行的时候,在从Swap分区中恢复保存的数据到内存。
查看内存情况
free命令:
free命令可以显示Linux系统中的空闲,已用的物理内存,Swap分区:
- total:总的可用空间,used:已使用空间;free:空闲可用空间;shared:共享使用物理内存空间;available:可以被应用程序使用的物理内存空间。
- buffers就是即将要写入到磁盘中,cache使从磁盘中读取出来。buff/cache:被buff和cache使用的物理内存空间
- free是真正未被使用到的物理内存空间,avaiable是从应用程序角度看,如果应用程序需要使用到内存,可以从buff/cache中回收内存满足应用程序的请求。
vmstat工具:
top工具:
(展示不同进程的内存占用情况)
磁盘I/O
对于磁盘I/O访问负载过高,通常会出现系统操作,应用服务无法响应等问题,通常可以通过top、iostat,iotop,ps,lsof工具定位问题。
top命令:
(wa:表示IO等待所占用的CPU时间占比,高过30%时IO压力过高)
iostat(额外安装sysstat包)
(当util接近100%时,说明产生的I/O请求太多,满负荷运行。)
iotop(额外安装iotop包,查看那些进程占用的IO过高)
网络
测试有关网络性能,一般从可用性、响应时间、网络利用率、网络吞吐量,网络带宽容量这几个方面。而常用的工具则有(ping、netstat、sar、tcpdump、iptraf)
iptraf(需要额外安装iptraf包)
查看制定以太网卡的吞吐量情况:
iptraf-ng -d eth0
sar(需要额外安装sysstat)
查看网卡性能:
sar -n DEV 1 100
参数含义:
- IFACELAN接口
- rxpck/s每秒钟接收的数据包
- txpck/s每秒钟发送的数据包
- rxbyt/s或者rxkB/s每秒钟接收的字节数(上传速度,网卡入流量)
- txbyt/s或者txkB/s每秒钟发送的字节数(下载速度,网卡出流量)
- rxcmp/s每秒钟接收的压缩数据包
- txcmp/s每秒钟发送的压缩数据包
- rxmcst/s每秒钟接收的多播数据包
服务器性能分析软件
关于服务器性能评估就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
分享名称:如何对Linux的服务器进行性能评估
标题网址:http://myzitong.com/article/pijeej.html