Internal问题解决流程 Internal server error 500 问题解决思路-动态焦点
我们系统在一次升级之后,生产环境大量出现Internal server error 500错误,具体场景:
(资料图片)
在APP上使用拍照功能后,APP通过Http协议上传压缩后的照片到服务端,但是上传过程中大量出现Internal server error 500错误,很多照片都传不上去。
经过一番排查之后,我们最终成功解决了这个问题,最后的原因有些出乎意料,这里卖个关子先不说出来。下面是我们解决问题的整体步骤以及思路。
明确错误含义
首先明确这个错误的含义,参考HTTP状态码的描述。
根据这个描述,基本可以排除客户端以及网络因素,需要重点关注服务端的状态。
我们系统服务端的架构如下图:
接下来就要根据这个架构由前往后一层一层排查。
检查HAProxy
重点排查HAProxy当前是否可用,负荷是否超标,包括下面的一些指标。
排查项结果
CPU是否正常正常
内存是否正常正常
线程数是否超过配置上限正常
连接数是否超过配置上限正常
排查之后发现一切正常,与版本更新前的数据作比较,也没有出现大幅度波动。
而在查看请求日志时,发现大量500错误信息,说明HAProxy出异常的可能性较小,错误更可能来自HAProxy之后的环节。
检查Jetty
重点排查jetty的配置信息。
排查项结果
配置是否有变动正常
应用占用的线程数是否超过上限正常
应用占用的线程数是否超过上限正常
虽然jetty配置信息检查正常,但是在access.log中存在大量500错误,定位到这里,有两种可能的原因:
应用代码逻辑问题。部分异常信息没有被拦截住,直接抛给Jetty,导致500错误。Jetty逻辑问题。请求没有到达应用,而是由于Jetty自身的某些逻辑导致请求被直接返回了。
检查应用
为了验证是否第一个原因,我们继续走查了应用代码,发现所有的异常都被正确处理了,不存在继续往上抛的情况。另外,也检查了图片保存的代码,确认文件连接都正确释放了。
因此,由于应用逻辑问题导致错误的可能性很小,那么第二个原因的嫌疑最大,就是Jetty逻辑问题。
如果直接排查Jetty的源码,太费时费力,这个时候最好的办法是实时抓包,看看Jetty和应用服务之间到底发生了什么。
使用tcpdump抓包
使用tcpdump命令抓取从jetty到应用服务之间所有的数据包,将结果输出到临时文件中。
tcpdump -i eth0:0 -s0 host 1X.XXX.XXX.XX -w /tmp/out1.cap
使用wireshark打开out1.cap文件,查找出现500错误的数据包,然后很意外的看到了下面的逻辑。
通过这段代码我们发现,jetty对于请求数据的大小做了限制,超过200000 byte的时候就会报错,返回错误码500。
App这次更新后,上传了很多大于200000 byte的图片,于是便出现了大量的500错误。
找到问题根源,修正起来就很简单了,在WEB-INF目录下添加jetty-web.xml 文件解决,文件内容如下:
0
总结
出现Internal server error 500错误,往往意味着服务端出现一些未知异常,但是在排查的时候我们不能仅仅只是关注应用服务,而是要关注从服务端接收请求开始,一直到应用服务的整条链路。
以本文中的情景为例,就是从HAProxy 到 Jetty 再到 应用服务,中间的任何一个环节都有可能导致500错误。
另外,其实在一开始我们就可以采用抓包的方式去排查,因为在包数据中包含了完整请求/响应消息,比查看CPU、线程、配置信息要更加快捷,直接。
博文地址
https://www.taowong.com/blog/2018/07/07/internal-server-error-500.html
标签: 应用服务
相关推荐:
- []【天天速看料】Internal问题解决流程 Internal server error 500 问题解决思路
- []Internal问题解决流程 Internal server error 500 问题解决思路-动态焦点
- []Modbus通信协议是什么?Modbus通信协议详解
- []Modbus通信协议是什么?Modbus通信协议详解|全球报资讯
- []天天快报!disable怎么运用?disable简单易理解用法
- []每日观察!Trans系列是啥?基于翻译模型(Trans系列)的知识表示学习
- []全球百事通!格式化时间是什么?抽象类DateFormat是什么?
- []聚焦:工厂模式是什么?工厂模式的详解
最新新闻:
- 全球百事通!格式化时间是什么?抽象类DateFormat是什么?
- 格式化时间是什么?抽象类DateFormat是什么?:当前热文
- 迅雷怎么高速下载?迅雷高速下载方法
- 打印机共享需要密码怎么办?打印机共享需要密码解决方法
- 如何解决手机浏览器中出现404notfound的问题?手机浏览器404notfound解决方法
- 天天快报!disable怎么运用?disable简单易理解用法
- 电脑无法进入系统怎么办?电脑无法进入系统解决方法
- Internal问题解决流程 Internal server error 500 问题解决思路-动态焦点
- 电脑的显示器屏幕老是闪烁怎么办?电脑的显示器屏幕老是闪烁解决方法
- 如何联系爱奇艺APP中的人工客服?爱奇艺APP人工客服联系步骤
- 宽带的内网和外网什么意思?宽带的内网和外网介绍
- USB2.0怎样提高传输速度?提高传输速度方法
- 摄像头远程监控步骤是什么?手机远程监控摄像头设置方法
- 多普达有哪些型号的手机?多普达最新手机大全详情 天天新视野
- U盘遇到病毒怎么办?U盘遇到病毒解决方法
- 快讯:文章目录是什么?选择排序怎么设置?
- 【天天速看料】Internal问题解决流程 Internal server error 500 问题解决思路
- 信号的基本概念是什么?信号的分类有哪些?
- Excel函数之VLOOKUP()怎么使用?一文搞懂Excel函数之VLOOKUP()使用
- 倒车雷达哪个品牌好?汽车倒车雷达品牌及价格介绍_每日信息
- 美国多灵门锁怎么安装?美国多灵门锁安装步骤?
- 网络的利与弊是什么?网络的利弊分析:环球消息
- lol怎么在游戏里回复好友?lol游戏回复消息设置-环球视点
- OneNote是什么?OneNote的功能有哪些?
- 每日简讯:磁条读写器多少钱?磁条读写器怎么使用?
- 三星N8010如何设置?三星N8010的屏幕锁定图案_快消息
- Modbus通信协议是什么?Modbus通信协议详解
- 世界热文:c语言餐桌游戏有哪些?教会你这十款酒桌游戏让你在朋友圈稳站“C”位!
- 电脑默认网关如何查询?电脑默认网关查询的小技巧
- iPad Air(iPad5)什么时候上市?iPad Air(iPad5)的上市时间-今日快看
- IE浏览器不见了怎么办?IE浏览器不见了解决方法
- Win7专业版与Win7旗舰版如何区分?Win7专业版与Win7旗舰版区分方法
- 聚焦:工厂模式是什么?工厂模式的详解
- Win7系统安装声卡驱动失败怎么办?声卡驱动安装失败解决方法
- mysql置疑原因是什么?数据库置疑的处理办法
- 百度快照如何彻底删除?百度快照正确的删除方法
- 禁用宏则关闭excel文件怎么弄?设置流程_天天速递
- 英雄联盟无法全屏显示如何解决?英雄联盟无法全屏显示解决方法
- Modbus通信协议是什么?Modbus通信协议详解|全球报资讯
- 焦点热讯:支付宝阿里巴巴货到付款如何交易?货到付款交易流程
- 如何解决IE浏览器网页图片显示红叉问题?IE浏览器网页图片显示红叉解决方法
- 今日看点:手机QQ接收电脑端好友发送的文件存储在什么地方?文件储存的详细路径
- 每日观察!Trans系列是啥?基于翻译模型(Trans系列)的知识表示学习
- 语义分割:基于openCV和深度学习(二)_环球速看料
- 微特微电机怎么样?微特微电机详情介绍:热闻
- Win7系统安装CAD软件提示缺少dfst.dll怎么办?解决方法
- 电脑电源额定功率要多少才合适?电脑电源的额定功率|前沿热点
- 【世界快播报】CSS:好玩的‘伪类’系列之——(:only-child与:only-of-type) 例子说明
- 内网端口映射怎么设置?内网端口映射定义及设置方法
- 当前热议!如何正确使用系统清理bat程序?清理bat程序的方法
- 观点:颜料墨水和染料墨水的区别是什么?颜料墨水和染料墨水简介
- 天天速递!粘胶短纤维市场现状是什么?粘胶短纤维的未来发展趋势
- 浪漫主义时期的音乐有哪些?浪漫主义乐派是什么?-当前独家
- 世界热文:c语言餐桌游戏有哪些?教会你这十款酒桌游戏让你在朋友圈稳站“C”位!
- Android中LayoutParams是什么?Android中LayoutParams总结和用法
- 今日热门!数据结构试题有哪些?数据结构试题及评分解析
- ssm大学生兼职论坛是什么?大学生兼职有哪些?:每日观察
- 摄氏度和开氏度的换算 开氏度和摄氏度的换算公式 天天亮点
- 基础版本的基础版本 直方图均衡化系列
- 今日视点:怎么设置交换机?计算机交换机连接设置方法
- 天天要闻:图片或手写签名转电子签名怎么转?手写签名转电子签名教程
- 电脑默认网关如何查询?电脑默认网关查询的小技巧
- IE浏览器不见了怎么办?IE浏览器不见了解决方法
- Win7专业版与Win7旗舰版如何区分?Win7专业版与Win7旗舰版区分方法
- Win7系统安装声卡驱动失败怎么办?声卡驱动安装失败解决方法
- 百度快照如何彻底删除?百度快照正确的删除方法
- 英雄联盟无法全屏显示如何解决?英雄联盟无法全屏显示解决方法
- 如何解决IE浏览器网页图片显示红叉问题?IE浏览器网页图片显示红叉解决方法
- Win7系统安装CAD软件提示缺少dfst.dll怎么办?解决方法
- 内网端口映射怎么设置?内网端口映射定义及设置方法
- 美拍是什么?美拍怎么用?
- 怎么关闭微信的扫脸支付功能?微信的扫脸支付功能关闭步骤
- 朴叙俊将加盟《惊奇队长2》 演惊奇队长丈夫|当前头条
- PSVR2首发获两款老游戏强化!可4K、90帧运行
- 许多推倒重建正在发生 | 独家对话索尼互娱中国总裁
- 二代接班,一场父与子的「明争暗战」 全球新动态
- 《高达 水星魔女》一阶段最终话暂停 明年1月8日续播
- 传英伟达RTX 4070Ti首发价899美元 约合RMB 6268元|环球资讯
- 天天速看:CDP警告员工《巫师》AR手游停服后将会进行裁员
- 【新要闻】育碧:《纪元1800》于今日返回Steam平台
- 关注:《铁拳8》TGA预热视频 2023年发售
- 世界观点:看不起英特尔独显?一个驱动更新游戏帧数提升80%
- 游戏玩家抓紧更新!Win 11修复重大性能BUG 帧率显著提升
- 泛娱乐出海拉美,茄子科技(海外SHAREit Group)助力企业有效获客
- 在云南沙溪,这群年轻人每天做的事是「什么也不做」 每日视讯