1、查看CPU的性能负载
a) uptime用于观察服务器整体负载,系统负载指运行队列(1分钟、5分钟、15分钟前)的平均长度, 正常情况需要小于cpu个数。
b) vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,通常使用vmstat 5 5(表示每隔5秒生成一次数据,生成五次)命令测试。将得到一个数据汇总他能够反映真正的系统情况。
c)top命令是最流行Unix/Linux的性能工具之一。系统管理员可用运行top命令监视进程和Linux整体性能。
2、查看内存的性能负载
a) free Linux下的free命令,可以用于查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。
3、查看网络的性能负载
b) Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
c) sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。本文主要以CentOS 6.3 x64系统为例,介绍sar命令。
4、查看磁盘的性能负载
a) iostat Linux下的iostat命令,可用于报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息。
5 、nginx配置和排查指引
a)nginx问题的排查方法
当出现直接超时、处理返回慢时的报警时linux常用命令,nigix侧的故障排查参考方法有如下:
1、检查请求日志情况, tail -f logs/access.log ,看upstream_status字段。
200:表示正常;
17:proxy_intercept_errors:设置nginx服务器返回客户端的错误状态,当后端服务器返回大于等于400的错误码的是,如果本功能是打开的,则nginx服务器返回自定义的错误页面(使用error page定义的),如果没有开启就将后端服务器返回的http状态直接返回给客户端,默认为关闭:。只应该在onmessage消息处理函数内部调用default调用缺省的窗口过程,它提供了对应用程序没有处理的任何窗口消息的缺省处理pretranslatemessage在消息被发送到windows函数translatemessage和dispatchmessage之前,cwinapp使用这个函数来过滤窗口消息sendmessage向cwnd对象发送一个消息,直到这条消息被处理之后才返回postmessage将一条消息放入应用程序的消息队列,然后不等窗口处理这条消息直接返回sendnotifymessage将一条消息发送到窗口并尽快返回,返回的速度取决于该窗口是否是由调用线程所创建。我找到的几个原因,基本就是后端sql运行的比较多,单次访问看不出来,但是人比较多的时候就比较慢了,人少的时候20-200毫秒,人多的时候,200-6000毫秒,优化之后基本保持在几十毫秒,优化策略就是减少不必要的sql,加上缓存,基本解决了卡顿的问题,顺便把这次用的一系列命令记录下来,当个总结吧。