这是一个只要跟软件应用系统打交道可能会经常遇到的问题:
笼统的讲就是客户端访问应用系统慢。
以下例子问题描述的不是很精确,主要是先从如何定位排查这个问题去解决这个角度。
1. 系统部署环境:
2台云主机光纤外挂存储,都安装linux系统,1台部署应用和中间件,1台部署数据库服务器。
2. 出现问题:
应用系统检测到有70个系统在线,其他用户访问应用系统出现系统响应非常慢,页面加载速度大概10s。
3. 如何定位排查解决:
在出现问题的那个时候,获取当时硬件性能信息。具体排查项列出如下清单:
3.1 排查网络问题
线路是否存在丢包
3.2 排查硬件环境
用linux系统监控服务器cpu、内存、io读写、磁盘、网络带宽命令查看,记录查看的值。记录的值与一个参数进行比对才能确定是否存在问题。需要咨询一下厂商。
3.3 检查应用及支撑软件配置
应用程序: 查看访问慢的服务的调用链,查看一下调用链中的每一步响应时间是否合理1,这部分内容需要与自己的程序开发人员进行协助。
中间件: 查看内存缓存、查看线程并发
数据库: 查看数据库自带的性能检测工具(让专业的人看)
以上根据现场实际情况比如有多少并发数、是否有负载均衡等,联系软件支撑厂商对其产品进行优化配置。
3.4 查看日志
服务器请求日志 /var/log/xxx
中间件日志
数据库日志
3.5 其他事项
检查是否有人上传超大附件
4. 应用系统运维
通过写上面的解决方法,可联想到应用系统上线后后期运维需要重点关注的内容。上述几个点都是日常运维需要关注的。每天运维工作大概内容如下:
-
先记录访问系统人员在线数(这个需要人工判断什么时候是使用量最大时间段,一天2次或多次,经过1、2星期记录就可以看出系统每天固定在线人数。要是开发人员愿意去协助,可以让他们在程序上监控)
-
其次巡检并记录应用系统所在服务器性能参数
结合上面2步,这样就可以统计得到基础数据。
-
检查应用所在服务区网络情况
-
检查各软件日志并尝试分析
补充知识:
uos基于debain/ubuntu
kylin基于fedora