公司每周会对.net web网站进行更新,而我这边每天会对该web网站进行定时压测,周二更新好后,周三的定时压测抛出大量的504错误,开始对其进行排查。如图:

公司的服务器环境使用阿里云,入口机器为一台linux,进行分流及转发的操作,而web服务器搭建在Windows2008上,起初怀疑是程序问题,因为504错误是在程序更新后发生的,并且压测过程中,CPU占用会处于100%,如图:

图中所示,深色线条是错误数,浅色线条是CPU占用,高并发下CPU 达到瓶颈,而错误数开始上升,2者之间呈规律式,请求多,cpu高;cpu高,错误多;错误多,请求少了;请求少了,cpu则低了,呈一个循环;经过观察,web段,开发自己编写了3个tcp服务,并且这3个tcp服务器在压测过程中,cpu占用特别高;所以将这3个服务停止,504报错就没出现。

该错误情况,本应该这样结束了;但是事后考虑,之前的每日压测,这3个服务也是开着,cpu也一直是饱和状态,但是系统从来没报504,为什么现在会报?应该不单单是这3个服务的问题;随后就想到,是不是程序逻辑的问题,通过检查IIS日志和系统日志,发现页面新调用了个接口超时,导致整个页面500,这问题上报给了开发,但是只是解决了500错误,而504错误仍然在,排查继续中....

然后继续使用windbg工具进行调试,压测中,使用windbg先抛出dump日志,然后进行分析,不过看了下,有问题的线程日志,都是内核原因,开发也无法定位,只能放弃。

问题排查进展到这里,好像进入了死胡同,之前从来没考虑过linux入口服务器的问题,因为这台服务器的设置没更改过;后来在压测中,先用netstat | find "ip" 查看到有3w左右的tcp端口开着,状态是close_wait(),网上查了下,该接口表示被请求端正在等待关闭,然后在linux服务器上同样检查netstat -ano | grep "ip" 发现同样开启了3w左右的端口,大多数tcp端口状态是open_wait(),然后查看了下本台linux服务器的端口配置,端口范围只能从32000-61000 只能开启29000个端口;终于,找到了问题所在,由于入口服务器,只能同时接收2w9个请求,在循环压测中,请求连续不断,而由于web服务器因为新增了功能,cpu处理能力下降,导致请求释放变慢,导致入口服务器tcp端口爆满,额外超出的请求,只能抛出504(gateway timeout)错误。

关于网站504问题排查相关推荐

  1. windwos服务器网站504,打开网站出现504 gateway time-out的原因及解决方法

    我们在访问大流量网站或者运营有较多数据的网站时候,偶尔会出现504 Gateway Time-out错误,那么造成504 gateway time-out是什么原因呢?这多是网站服务器配置不当导致的, ...

  2. 腾讯云服务器网站504,使用腾讯、百度云CDN现403和504错误的解决及使用CDN踩的坑...

    最近源站出网流量超出带宽的限定值,经常导致服务器丢包.最近有点频繁,甚至一小时丢好几次,如下图所示: 于是考虑接入 CDN ,腾讯云CDN送了300G流量,但是接入后经常打不开页面,就换了百度云CDN ...

  3. 【Linux学习】网站访问慢排查和解决办法

    有哪些方面的因素会导致网站访问慢 1.服务器出口带宽不够用 本身服务器购买的出口带宽比较小.一旦并发量大的话,就会造成分给每个用户的出口 带宽就小,访问速度自然就会慢. 跨运营商网络导致带宽缩减.例如 ...

  4. 【疑难解决】通过网页访问EasyDSS报错出现“无法访问此网站”提示的排查过程

    近期有用户反馈在通过网页登入EasyDSS时,访问EasyDSS出现"无法访问此网站"的提示,如下: 这个提示让我们不得不考虑到端口问题了,由于EasyDSS的http默认端口一直 ...

  5. 网站CPU占满,微信经常SSL不能建立的错误排查

    微信SSL经常建立失败的问题排查 问题描述 及应急方案 问题描述: 使用微信访问时,一段时间过后总会提示SSL连接无法建立[程序中需要获取用OpenId,因此有调用企业微信Api的请求] 应急方案:在 ...

  6. 服务器放n个网站,服务器放n个网站

    服务器放n个网站 内容精选 换一换 网站的访问与云服务器的网络配置.端口通信.防火墙配置.安全组配置等多个环节相关联.任意一个环节出现问题,都会导致网站无法访问.本节操作介绍网站无法访问时的排查思路. ...

  7. 服务器添加二级域名网站教程,服务器添加二级域名

    服务器添加二级域名 内容精选 换一换 本节介绍网站使用华为云CDN做内容分发加速,且网站域名解析至中国大陆节点服务器的网站备案场景.如图1所示:① 企业A在华为云CDN添加加速域名(www.pictu ...

  8. 网站位置服务器,如何查看网站的服务器位置

    如何查看网站的服务器位置 内容精选 换一换 华为云主机迁移服务帮助中心,为用户提供产品简介.快速入门.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用主机迁移服务. 用 ...

  9. 网站服务器安全维护,网站服务器安全维护

    网站服务器安全维护 内容精选 换一换 云服务器使用,服务器使用,服务器配置,云主机使用,弹性云服务器入门,ecs使用 来自:产品 域名注册(Domain Registration)是用户付费获取Int ...

最新文章

  1. RAFT-3D: 基于刚体变换的场景流估计(ICCV 2021)
  2. 网络知识:详解各种路由器组网方法!
  3. 如何理解操作系统的不确定性_温度最低-273度,最高却能有1.4亿亿亿亿度,如何定义的?...
  4. 如何关闭docker容器里的进程
  5. diamond升级IP,覆盖的时候报错
  6. Acticity 启动 AMS
  7. 0x00000116
  8. leetcode - 486. 预测赢家
  9. 整合Activiti Modeler到业务系统(或BPM平台)
  10. Qt实践录:非窗体代码片段
  11. 虚拟ldap服务器,ldap服务器 客户端配置
  12. maya 阿诺德水晶材质_Maya教程之Arnold材质
  13. shell脚本之统计进程数(ubuntu实测可用)
  14. 应用程序错误代码0xe06d7363怎么解决
  15. 用ANSYS画矩形_用SolidWorks画一个带波浪纹路的瓶子
  16. JavaScript之爆肝汇总【万字长文❤值得收藏】
  17. 深度学习中的激活函数导引
  18. PostgreSQL 导入和导出 CSV
  19. android 仿ios动画效果代码,Android仿IOS上拉下拉弹性效果的实例代码
  20. TypeScript-基础类型学习

热门文章

  1. J2EE究竟是什么?
  2. speechbrain - 小记
  3. IDEA离线安装Oracle数据库驱动包
  4. 武汉财政容灾系统应用案例
  5. goahead - 环境准备和基本使用
  6. [Halcon] WriteImage保存图像崩溃问题
  7. concurrent.futures模块使用
  8. 【枚举 + 求最大公约数方法】最大公约数等于K的子数组数目问题
  9. 我在成都火车站捡了个彝族美女 第1节:车站捡来的美女
  10. win7计算机窗口像xp,在Win7系统中登录界面变成Xp样式的方法