[Case] Web Server不定时卡住(冻结)

楼主: qpowjohn (pose)   2020-02-15 21:33:19
[硬件资讯]
Host: Windows Server 2012 R2
Guest OS: Windows Server 2012 R2 10core/24GB
[软or韧体版本资讯]
IIS 8.5
开启DFS
防毒软件使用ESET
已做过machine.config调整可连线数及减少TIME_WAIT等相关设定
已做过Regedit调整参数,参考网址如下
https://www.filehold.com/help/technical/Windows-Server-Tuning-to-Prevent-TCPIP
-Port-Exhaustion
缩网址:https://reurl.cc/Qp03b9
[状况描述]
前端采用HAProxy做负载平衡
后端串2个VM处理服务
每台VM上有一百多个AppPool在运作
CPU使用量大概在30%~50%左右(开工作管理员切到效能分页查看)
RAM使用量经常性在80%以上(开工作管理员切到效能分页查看)
从HAProxy Log上可以看到以下状况
https://imgur.com/QraRriT
会出现504回应是因为HAProxy设定30秒无回应就往Client抛回504
[已尝试过的方法]
从Event Log看不到当下有哪些错误
硬件无异常(皆为HP主机或San Storage)
以上,感谢各位观看
已经找不到方法了才上来讨教
感谢各位先进的协助,谢谢
作者: asdfghjklasd (好累的大一生活)   2020-02-15 22:16:00
你只看log ,实际做了什么 TS ?telnet 有 504 的 80 port?
作者: dennisxkimo (Dennis(一上B就糟糕))   2020-02-15 22:48:00
看来是压力测试API运作haproxy环境遇到问题上来问
楼主: qpowjohn (pose)   2020-02-15 22:49:00
先是看到Port用尽,所以做了注册表和config调整改了之后确实没有了,但是却会不定时从HAProxy看到问题然后RDP进不去,从hypervisior也进不去(已关加强模式)只能从hypervisior强制关闭重开VM..正常的回应速度大概都是100ms以内,超过30000ms很不正常而且已经排除AppPool回收的阶段站台本身每分钟都在打,所以也排除超时未使用被回收以上回答算是测试吗...?
作者: dennisxkimo (Dennis(一上B就糟糕))   2020-02-15 22:56:00
没记错的话 那log是这样看,事件504返回长度194
楼主: qpowjohn (pose)   2020-02-15 22:56:00
telnet这段没做过,因为都是不定时卡住,抓不准时间
作者: dennisxkimo (Dennis(一上B就糟糕))   2020-02-15 22:59:00
apppool 进阶设定默认值 好像不适合高量频繁
楼主: qpowjohn (pose)   2020-02-15 23:00:00
HAProxy应该是没有问题的,提出图片只是证明说MS卡住哦,求解,我们的服务确实是每天会被打百万次...如果是加VM上去做LB的方式也是可行,只是我感觉不是这层面的问题...觉得好像是系统哪边没设定好
作者: xxoo1122 (一个连IE6都能相容的男人)   2020-02-16 00:52:00
你POST什么资料?有DB吗?
作者: ddoll288 (风儿卿卿)   2020-02-16 02:14:00
你给的资料玩全无法除错,只知道504,504谁造成的不知如果你不敢透漏太多就自己请写程式的RD或厂商来处理机器默认可以开5000port是没有问题的,问题是程式坏了导致5000port被request塞爆,如果有保密问题就花钱吧
作者: darktasi (桃园达克大叔)   2020-02-16 03:32:00
server配置资讯不够怎么判断
作者: asdfghjklasd (好累的大一生活)   2020-02-16 04:28:00
不忍嘘
作者: dennisxkimo (Dennis(一上B就糟糕))   2020-02-16 08:27:00
这问题有时侯不是只有一面要看 但是不会用这么少的线索来找
楼主: qpowjohn (pose)   2020-02-16 09:25:00
不好意思,让各位有点隔空抓药的感觉,因为抓不准系统卡住的时间,然后正常的时候进去看netstat也没啥问题(大概300-400左右的连线),其实给的图都是一样的资讯,只能证明说那个时间点request打进去完全无法回应。server配置,是指型号吗?HP DL460c G8
作者: konkonchou (卡卡猫)   2020-02-16 23:23:00
我会查web handler是不是用到不该用的,而造成排队
作者: ddoll288 (风儿卿卿)   2020-02-17 04:17:00
既然是VM的问题,那应该是请写AP的RD或厂商来处理你不给AP是什么,就要大家隔空抓药,也是了不起req超过30s通常是资源锁定或程式坏了等timeout如果你当过RD或是DevOp,没有CD/CI,这种事情根本是日常很多RD开发环境都很乱,然后issue丢来都说我跑没问题然后MIS只能吃闷亏,抓出问题还好,没抓到就是每天狗干最可怜的是user,因为系统有问题每天哎哎哎,加班做不完所以要先保留现场,确认网络硬件作业系统都正常最好两台VM在同一台主机内,把问题缩限在VM内,然后再叫RD或厂商来解决问题这问题我猜是程式的并行写得不好,造成DB lock,然后大家就在等那个lock解锁,所以就拼命timeout,这也是日常你可以试试看先不要用haproxy,把req都塞到一台去跑隔一段时间没问题再换另一台,我猜应该是都没有问题确认问题出在并行,再把问题交给RD或厂商处理有些driver如果连线没有正常关闭,DB lock是永不释放的RD只在哪边跑个几次,没有压测,根本测不出问题的
作者: dennisxkimo (Dennis(一上B就糟糕))   2020-02-17 12:56:00
有些RD只懂RD,有时我是问他的程式工作内容,对方愿意就一起解问题你说不定时卡住,你可以想办法追踪各种数据多收集一点线索,有时候挂掉前的资料也是破案关键
作者: domototice (tice)   2020-02-19 14:24:00
proxy 30秒无回应 通常会是什么造成? 太多要求?有proxy服务器吗?会是proxy负载过重吗? 对不起 我的功力不足。。。。proxytSR port用尽 如何处理呢? VM可接受的连接数?port用尽 可以修改port使用数再度使用新增的port吗?求解答谢谢...!proxy服务器 可以再多一台吗? 两台下去配置???你给的资讯是 server2003的port处理方式说。。。。而且 server2012 怎么可以说是硬件呢? 是运行环境说可以请教你的HAproxy 怎么跟WINSR DFS怎么做结合吗?IIS8.5的最大连接数呢? 方便请教吗? qpowjohn大大可以再请教HAproxy可以在winserver2012上运行吗?http://oset.mcu.edu.tw/2009/paper/09.pdfHAProxy可在WIN上运行 那它的最大连接数呢?https://kknews.cc/zh-tw/news/92qe3o5.html所以问题不是在于HAProxy 就是在于两个VM配置问题囉?另一个VM能正常接受HAProxy的连入吗?HAProxy有释放资源吗? 还是阻挡连入数 你只设30秒外丢回应回去求最后的解答哦~感谢大大....!
楼主: qpowjohn (pose)   2020-02-19 17:14:00
haproxy用linux架,504是server经过30秒无回应就抛给client,发生状况的当下是一台server正常另一台无回应,其实就是个很普通的做法
作者: domototice (tice)   2020-02-19 21:23:00
qpowjohn大大 那你两台sever的proxy 都设HAProxy位址?其实不简单说,尤其对我这个新手来说...!谢谢你的分享
楼主: qpowjohn (pose)   2020-02-20 18:49:00
两台vm的gateway都是指到haproxy
作者: domototice (tice)   2020-02-21 04:34:00
那...可以请教问题出在哪吗= =+ 对不起...!https://reurl.cc/31d5Vj是这样子没错嘛??对不起,gateway跟proxy的设定用途我有点忘记了= =+gateway不是路由器的端点吗?也是出口?跟proxy要分开设定吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com