查看LINUX服务器性能负载的常用工具和nginx问题的排查方法

《查看LINUX服务器性能负载的常用工具和nginx问题的排查方法》要点:
本文介绍了查看LINUX服务器性能负载的常用工具和nginx问题的排查方法,希望对您有用。如果有疑问,可以联系我们。

相关主题:nginx配置 / 服务器配置

下面对查看服务器性能负载的常用工具做简单介绍,详细的工具使用请另行查阅。

1、查看服务器CPU的性能负载

a)uptime

用于观察服务器整体负载,系统负载指运行队列(1分钟、5分钟、15分钟前)的平均长度, 正常情况需要小于cpu个数。

b)vmstat

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,通常使用vmstat 5 5(表示每隔5秒生成一次数据,生成五次)命令测试。将得到一个数据汇总他能够反映真正的系统情况。

c)top 

top命令是最流行Unix/Linux的性能工具之一。系统管理员可用运行top命令监视进程和Linux整体性能。

2、查看服务器内存的性能负载

a)free

Linux下的free命令,可以用于查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。

3、查看网络的性能负载

b)netstat

Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

c)sar

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。本文主要以CentOS 6.3 x64系统为例,介绍sar命令。

4、查看磁盘的性能负载

a)iostat

Linux下的iostat命令,可用于报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息。

附:nginx问题的排查方法

当出现直接超时、处理返回慢时的报警时,nigix侧的故障排查参考方法有如下: 1、检查请求日志情况, tail -f logs/access.log ,看upstream_status字段。

   200:表示正常;

   502/503/504:表示处理慢,或者后端down机;再看upstream_response_time返回的时间是否真的较慢,有没有上百毫秒,或更高的,有则说明是后端服务有问题。

   404:表示请求的路径不存在或不对,文件不在了。需要检查你配置在公众平台上的url路径是否正确; 服务器上的文件、程序是否存在。

   403:表示无权限访问。 检查一下nginx.conf 是否有特殊的访问配置。

   499: 则是客户端的问题,请联系微信团队。  此错误少见。

2、检查错误日志情况,tail -f logs/error_log ,查看是否有connect() failed、Connection refused、 Connection reset by peer等error错误日志,有则说明有可能nginx出现的连接数超负载等情况。

   (1)查看系统的网络连接数情况确认是否有较大的链接数

    # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}' 

    解析:    

CLOSED //无连接是活动的或正在进行    
LISTEN //服务器在等待进入呼叫    
SYN_RECV //一个连接请求已经到达,等待确认 
SYN_SENT //应用已经开始,打开一个连接    
ESTABLISHED //正常数据传输状态/当前并发连接数     
FIN_WAIT1 //应用说它已经完成     
FIN_WAIT2 //另一边已同意释放     
ITMED_WAIT //等待所有分组死掉    
CLOSING //两边同时尝试关闭    
TIME_WAIT //另一边已初始化一个释放    
LAST_ACK //等待所有分组死掉

   (2)查看系统的句柄配置情况,ulimit -n ,确认是否过小(小于请求数)

   (3)worker_rlimit_nofile、worker_connections配置项,是否过小(小于请求数)

相关文章

随着云计算和网络技术的发展,越来越多的数据需要在服务器之...
阿里云服务器Tomcat无法从外部访问一、环境阿里云Ubuntu 12....
购买一系列的东西其实就是花钱买块区域,服务器,域名,云解...
前言昨天买了域名,服务器,然后搭建了环境,然后想他通过默...
前言由于服务器centos6.8安装mysql一直出现不能连接问题,然后...
前言用 SSH客户端登录上以后,自己想要在本地连接服务器上的...