北京中科白殿医院官网 http://www.xftobacco.com/m/1、背景介绍任何软件在正式发布前,都会对相对应的接口进行性能压测,以确保软件在高强度的压力下,能够满足用户的操作,避免系统卡死等异常的现象。特别是在大促进行之前,性能测试及调优就显得格外重要。以某系统正式环境为例,该系统压测接口透传,不涉及数据库,机器分布:涉及一台nginx和一台jboss服务器。针对该系统,可以通过linux系统自带的工具包,进行监控,查看性能指标。测试环境服务器资源Nuginx:Cpu/内存/磁盘:2C/2G/0GJboss:Cpu/内存/磁盘:4C/4G/0G2、sysstat工具简介sysstat是Linux系统中的常用工具包,一般系统会自带,如果没有安装,需要自行安装该工具包,它可以用来监控网络状况、cpu、内存情况。这些包括SAR、SADF、MPSTAT、IOSTAT、TAPESTAT、PIDSTAT、CIFSIOSTAT和SA工具。各工具的作用如下:iostat-提供CPU统计,存储I/O统计(磁盘设备,分区及网络文件系统);mpstat-提供单个或组合CPU相关统计;pidstat-提供Linux进程级别统计:I/O、CPU、内存等;sar-收集、报告、保存系统活动信息:CPU、内存、磁盘、中断、网络接口、TTY、内核表等;sadc-系统活动数据收集器,作为sar后端使用;sa1-收集系统活动日常数据,并二进制格式存储,它作为sadc的工具的前端,可以通过cron来调用;sa2-生成系统每日活动报告,同样可作为sadc的工具的前端,可以通过cron来调用;sadf-可以以CSV、XML格式等显示sar收集的性能数据,这样非常方便的将系统数据导入到数据库中,或导入到Excel中来生成图表;nfsiostat-sysstat:提供NFSI/O统计;cifsiostat:提供CIFS统计;sar是sysstat中的核心工具。为了实现sar的累计统计,系统必须周期地记录当时的信息,这是通过调用/usr/lib/sa/中的三个工具实现的:·sa1:收集并存储每天系统动态信息到一个二进制的文件中,用作sadc的前端程序;·sa2:收集每天的系统活跃信息写入总结性的报告,用作sar的前端程序;·sadc:系统动态数据收集工具,收集的数据被写入一个二进制的文件中,它被用作sar工具的后端。3、SAR命令介绍在使用Linux系统时,常常会遇到各种各样的问题,比如系统容易死机或者运行速度突然变慢,这时我们常常猜测:是否硬盘空间不足,是否内存不足,是否I/O出现瓶颈,还是系统的核心参数出了问题?这时,我们应该考虑使用sar工具对系统做一个全面了解,分析系统的负载状况。sar(SystemActivityReporter)是系统活动情况报告的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。为了提供不同的信息,sar提供了丰富的选项、因此使用较为复杂。4、Sar工具监控在日常使用中,通常SAR命令格式为:#sar–help以下列表为常用的选项说明:4.1网络服务每1秒采样一次,连续采样2次,观察网络服务情况,命令如下:sar-nDEV12我们通过MOBAXterm工具远程服务器,在压测执行过程中,查看服务器的cpu等性能信息。IFACE:就是网络设备的名称;rxpck/s:每秒钟接收到的包数目;txpck/s:每秒钟发送出去的包数目;rxbyt/s:每秒钟接收到的字节数;txbyt/s:每秒钟发送出去的字节数;rxcmp/s:每秒钟接收到的压缩包数目;txcmp/s:每秒钟发送出去的压缩包数目;txmcst/s:每秒钟接收到的多播包的包数目。rxbyt/s:.46txbyt/s:..2cpu监控查看CPU信息(型号)#cat/proc/cpuinfo
grepname
cut-f2-d:
uniq-ccpu的个数为4。(1)每1秒采样一次,连续采样1次,观察CPU的使用情况,命令如下:sar-PALL11#%user#用户空间的CPU使用;#%nice改变过优先级的进程的CPU使用率;#%system内核空间的CPU使用率;#%iowaitCPU等待IO的百分比;#%steal虚拟机的虚拟机CPU使用的CPU;#%idle空闲的CPU;#在以上的显示当中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求,如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。如图展示,接口调用过程中,用户占用cpu8%,内核占用1%,空闲90%,磁盘未占用。执行过程中,未出现cpu突增或突降的情况。表明该接口较稳定。每10秒采样一次,连续采样3次,观察CPU的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令:sar-u-otest%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比。根据监控情况,如出现下列情况,需要考虑是否性能异常。1.若%iowait的值过高,表示硬盘存在I/O瓶颈;2.若%idle的值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量;3.若%idle的值持续低于1,则系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU;按照目前的场景,未出现异常,cpu运行稳定。inode、文件和其他内核表监控,每10秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:sar-vdentunusd:目录高速缓存中未被使用的条目数量;file-nr:文件句柄(filehandle)的使用数量(在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄(filehandle),该文件句柄对于打开的文件是唯一的识别依据。要从文件中读取一块数据,应用程序需要调用函数ReadFile,并将文件句柄在内存中的地址和要拷贝的字节数传送给操作系统。当完成任务后,再通过调用系统函数来关闭该文件。);inode-nr:索引节点句柄(inodehandle)的使用数量;pty-nr:使用的pty数量(pty(虚拟终端):我们远程telnet到主机或使用xterm时的个终端交互,这就是虚拟终端pty(pseudo-tty);该指标便于后期问题定位和分析。4.3内存和交换空间监控(-r)sar-r55每5秒采样一次,连续采样5次,监控内存分页:kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间;.kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间;%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.;kbbuffers和kbcached:这两个值就是free命令中的buffer和cache;kb
转载请注明:http://www.aierlanlan.com/grrz/6729.html