对于服务响应慢的问题排查和分析(1)

简单描述一下问题现象,主要是两个:1. 手机客户端偶尔有时候会出现卡顿现象,比如显示一直在加载,或者显示超时、连接不上服务器。但重新刷新又会问题消失。 2. 最近一段时间早上网站在10点前后一段时间在办公室访问特别慢,半天刷不出来。app有时候也卡。但同一时间,在服务器上直接wget 网站,速度飞快。

当前的服务架构:api server在一台机器上, 网站服务器web server在另一台机器上, 手机app直接请求api server,web server的大量功能会通过内网ip请求api server。master db和slave db分别在另外两台机器,和api server、web server之间的通信也是走内网ip。

问题排查过程如下:

1.  首先看服务器本身负载问题,包括机器网络环境,有一些是监控宝数据,一些是zabbix监控数据。

  web server api server master db slave db
cpu负载
早上10点左右为一天的最高峰,通常在4-7之间。

下午开盘后一般在2-4之间。其他时间在2以下

早上10点左右为一天最高峰,在2-2.5之间 5以内    5以内
网络流量
流入较多,高峰期在下午1点-3点,6M左右,流入只有4M左右。

10点的流入是4M左右,流出是2M左右(监控宝数据)

主要为流出,早上10点前后到达高峰,一般在25M左右(监控宝数据,zabbix数据超过30M)  zabbix数据: 流入不超过1.5M,各时段比较平均。流出在2.5M-4M之间,10点前后也不是一天的最高峰。  zabbix 数据:流入的峰值在10-14M(这台机器上有抓取),但一天内出现较多,10点左右的流量不比其他时段多。流出的峰值不到1M,并且各时段都差不多。
ping响应时间 可用率100%,平均响应30ms以内 可用率100%,平均响应30ms以内  无监控    无监控
端口连接数(netstat -nap统计) 早上10点左右为1w多,端口资源总数是2w多。 早上10点左右为5w多,端口资源总数在6w多   1w以内    1w以内
服务连接数 httpd进程在500以内(高峰期的active threads不超过300,Idle Threads为100出头),上限是2000  httpd进程在800以内(高峰期的active threads是450,Idle Threads为400出头),上限是1024   上限800,高峰期连接数最大不超过300 上限800,高峰期连接数最大不超过150

2.  其次看一下监控宝上对http接口的监控数据,一共监控了3个接口

  • 网站首页:web server上

  • 大盘行情接口:api server上

  • 公司主页:web server上

  • 推送服务接口:api server上

3. 查api server和web server上的/var/log/messagess,没有发现错误信息

综上,从上面数据看起来,更像是api和web服务内部性能的问题,而不是系统资源问题。因为在同一台服务器上的公司主页响应速度不慢。而且apache进程数和mysql的进程数都未到上限,我们在日志里也没有发现之前遇到过的mysql连接失败问题。推送服务接口响应慢是一个比较奇怪的现象。因为推送服务的逻辑相对简单。

问题原因仍然待查

时间: 2024-07-29 18:26:28

对于服务响应慢的问题排查和分析(1)的相关文章

一、高复用服务响应对象

一. 高复用服务响应对象 1 package com.mmall.common; 2 3 import com.fasterxml.jackson.annotation.JsonIgnore; 4 import com.fasterxml.jackson.databind.annotation.JsonSerialize; 5 6 import java.io.Serializable; 7 8 /** 9 * 高复用服务响应对象 10 * 11 * Created by ly on 2018/

Windows应急响应和系统加固(2)——Windows应急响应的命令使用和安全检查分析

Windows应急响应的命令使用和安全检查分析 1.获取IP地址: ·ipconfig /all,获取Windows主机IP地址信息: ·ipconfig /release,释放网络IP位置: ·ipconfig /flushdns,更新网络IP位置: ·ipconfig /renew,更新网络IP等消息获取DNS服务器的IP地址等. 2.获取端口信息: ·neystat -an,获取主机所有端口的开放情况和网络连接情况: ·-o,显示与每个连接相关的所属进程ID: ·netstat -ano

系统上线后WCF服务最近经常死掉的原因分析总结

前言 最近系统上线完修改完各种bug之后,功能上还算是比较稳定,由于最近用户数的增加,不知为何经常出现无法登录.页面出现错误等异常,后来发现是由于WCF服务时不时的就死掉了.后来就开始分析问题.得到的初步解决方案如下: 1.在Web端调用WCF服务使用后,未释放未关闭导致新的链接无法访问 2.增加默认的连接数,系统默认的链接数比较小 3.提供同一个WCF服务的不同实例 1.在Web端调用WCF服务使用后,未释放未关闭导致新的链接无法访问 首先保证客户端每次建立的连接在使用完成后进行关闭.那么请不

PHPWAMP自启异常,服务器重启后Apache等服务不会自动重启的原因分析

在使用"PHPWAMP自动任务"时,不少学生遇到如下问题: "phpwamp绿色集成环境重启动电脑(服务器)后,不会自动启动网站服务" (如果是其他环境或是自己搭建时遇到此问题,也是可以用此法解决) 此文章内容符合: 为什么网站服务由手动变成自动后还是无法重启? 为什么我把服务设置成自动后,开机又变回手动了? 为什么服务器(电脑)重启后服务不会自动跟着重启? windows服务器重启后网站服务不会自动重启的原因分析. 为什么服务设置成自动后,重启动服务器(电脑)服务

Android应用程序绑定服务(bindService)的过程源代码分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6745181 Android应用程序组件Service与Activity一样,既可以在新的进程中启动,也可以在应用程序进程内部 启动:前面我们已经分析了在新的进程中启动Service的过程,本文将要介绍在应用程序内部绑定Service的过程,这是一种在应用程序进程内部启动 Service的方法. 在前面一篇文章Android进程间通信(IPC)机

Openstack学习笔记之——Neutron-server服务加载与启动源码分析(三)

本文是在学习Openstack的过程中整理和总结,由于时间和个人能力有限,错误之处在所难免,欢迎指正! 在Neutron-server服务加载与启动源码分析(二)中搞定模块功能的扩展和加载,我们就回到Neutron-server服务加载与启动源码分析(一)中的_run_wsgi函数 <span style="font-size:14px;">def _run_wsgi(app_name): app = config.load_paste_app(app_name) ifno

【应急响应】windows入侵排查思路

海峡信息白帽子id:Bypass 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失. 0×00 前言 常见的应急响应事件分类: web入侵:网页挂马.主页篡改.Webshell 系统入侵:病毒木马.勒索软件.远控后门 网络攻击:DDOS攻击.DNS劫持.ARP欺骗 海峡信息白帽子id:Bypass 针对常见的攻击事件,结合工

微信公众服务响应脚本

很简单的被动回复脚本: 一般我们都用sdk: https://github.com/dodgepudding/wechat-php-sdk,自己写也是极好的, <?php // 微信与服务器通信安全监测 class wechatCallbackapiTest{ public function valid(){ $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature())

Android系统在新进程中启动自定义服务过程(startService)的原理分析

在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验.Android系统为我们提供了一个Service类,我们可以实现一个以Service为基类的服务子类,在里面实现自己的计算型逻辑,然后在主进程通过startService函数来启动这个服务.在本文中,将详细分析主进程是如何通过startService函数来在新进程中启动自定义服务的. 在主进程调用startService函数时,会通过Binder进程间通信机制来