• 「服务器」系统访问502状态排查思路


    系统访问502状态排查思路

    关于502

    1、后端服务器异常,直接返回

    可能的原因:PHP进程满,不接受请求

    2、响应超时,返回错误码
    3、502问题很多时候会反映在服务器某一部分系统性能上,因此如果通过日志解决不了问题时,通过观察系统性能是一个解决502问题的思路

    一些可用于排查问题的LOG

    1、access log
    2、系统慢查询 log
    3、数据库 log
    结合以上三个 log,基本上可以确定由于程序问题导致的502

    一些可用的命令

    如果通过以上 log 仍然不能确定502问题的原因
    可以通过以下命令,进一步观察系统状态来分析原因

    系统负载

    sar
    09:00:01 AM CPU %user %nice %system %iowait %steal %idle
    09:10:01 AM all 0.23 0.02 0.08 0.01 0.00 99.66
    

    通过对系统负载的观察,精确确定某一时间区间,进而根据此时间范围去查看对应日志,定位问题

    查看系统运行时状态

    vmstat 1
    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
    r b swpd free buff cache si so bi bo in cs us sy id wa
    

    推荐使用下面这个

    dstat
    ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
    usr sys idl wai hiq siq| read writ| recv send| in out | int csw
    

    着重观察磁盘和网络部分的数据
    可以通过此判断出程序是因为磁盘资源还是网络资源导致的处理速度下降,从而恶化

    查看网络流量来源
    iftop

    图形化的 top
    htop

    查看多个 log
    multitail

    查看最后登录人
    last

    个人经验

    1、系统swap高:可能存在大量计算,导致内存不足
    2、网络流量高:可能存在大数据量传输,通过PV限速
    3、CPU wait高:可能存在大量磁盘操作,网络操作,导致CPU闲置
    4、磁盘读写高:可能存在大量小数据写入读出,影响整体性能,减少读写次数,以提高性能
    5、某进程CPU使用率高:可能存在不合理的代码,长时间占用CPU,导致CPU负载高,进程调度受阻
    6、如何判断剩余可用内存:看内存cached,基本上就是还可分配给应用的内存量
    7、一些定时任务在某一时刻同时执行,造成堆积,也是导致系统性能大幅下降的原因,需要注意

  • 相关阅读:
    TFS 2012使用简介(一)
    Android手机应用程序开发环境配置(Eclipse+Java+ADT)
    关于 all-delete-orphan
    Rest中的XML与JSON的序列化与反序列化
    C#Base64编码
    Visual Studio 2013支持Xamarin的解决方案
    【转】[WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
    【转】 MEF 和 MAF
    Enable tfs feature in sharepoint
    Using a local farm account for a SharePoint 2013 installation
  • 原文地址:https://www.cnblogs.com/ColdJk/p/14845373.html
Copyright © 2020-2023  润新知