有同学咨询,他们公司的一台服务器,是一台Linux用作负载均衡的服务器,最近在使用过程中,随着连接数的增加,服务器突然挂掉了,这是怎么回事呢?今天丁老师就这个问题做一下解答。
故障分析
服务器:Linux
用途:负载均衡服务
故障情况:用户连接数增加,服务器挂掉。
故障排查:
1.应用程序故障:通过测试,无Bug报错,应用程序正常。
2.系统故障:无,系统无报错,仅用户连接增加到一定程度后才会崩溃。
猜测与分析:
在确定不是系统本身和部署的程序故障而导致的问题后,丁老师心里已大概有了方向,估计就是哪个地方的配置引起的故障,意思就是某个地方配置的连接数量达到了实际连接数量的峰值而导致的系统崩溃。
故障修复
在确定了大概方向后,丁老师对相关的系统文件进行了逐一排查。
1.首先,分别查看系统CPU负载情况、内存是否爆满、load是否异常。
top
htop
uptime2.一切正常,其次查看系统连接数。
netstat -an | wc -l
ulimit -n此时发现,系统连接数非常高,并且文件句柄返回1024,此时丁老师判断该问题大致是由高并发引起的故障。
3.查看Nginx服务器日志,检查报错信息。
tail -f /var/log/nginx/error.log在错误日志中,查看到返回too many open files信息,再查看系统日志。
/var/log/messages
dmesg返回socket: too many open files。这时丁老师已经可以判断,这基本上是由高并发引起文件句柄被耗尽而引发的故障。
4.查看limits.conf
/etc/security/limits.conf5.增加连接数
soft nofile 65535
hard nofile 655356.修改系统配置
/etc/systemd/system.conf
/etc/systemd/user.conf
DefaultLimitNOFILE=65535
DefaultLimitNPROC=655357.给Nginx加大文件句柄。
vi /usr/lib/systemd/system/nginx.service
LimitNOFILE=655358.重启服务器,故障解决。
全文总结
通过该问题发现,该故障引起的核心是Linux服务器在高并发情况下,因文件句柄上限过低(默认设置为1024),导致连接耗尽,服务崩溃,同时相关配置是未持久化的,因此每次重启后,都会恢复默认值从而再次引起故障。
这种故障出现时通常表现为:
1.网站突然打不开、请求超时。
2.并发一高服务器就崩溃宕机。
3.服务器重启后会短暂恢复,但很快就再次崩溃。
常见错误日志:
too many open files
EMFILE
socket: too many open files针对该故障,丁老师先是通过查看系统负载、连接数以及错误日志,快速定位是由文件句柄耗尽引起的故障。然后在解决时,通过修改Nginx的limits.conf、调整systemd的LimitNOFILE等配置文件参数,提升系统的文件句柄数配置,避免因高并发导致处罚文件句柄上限而引起崩溃的问题。
经常使用Phpmailer来发信,作为事件的通知渠道,遇到过各种情况的问题,总结了一些经验和注意事项分享给大家:1.phpmailer使用ssl发信,无需在服务器中开启任何端口,无需在防火墙中开启端口;2.出现SMTP Error: C...
客户有这样一个需求,他们分别在丁老师这里开发了微信小程序和APP,最近想把小程序的流量和业务,往APP上转移,也就是准备实现品牌的私域流量,目前是使用图文+二维码的方式,引导用户去应用市场下载,现在是想实现在打开小程序的时候,自动唤起已...
使用mysql在查询数据,涉及使用中文排序时,出现了排序结果不对的情况,如图:select * from area order by name asc;由上图可见,排序结果是乱的,并不是根据拼音ABCD按顺序排序的,引起这样的原因是为什...
在开发微信小程序时,涉及到获取用户位置的业务部分,需要使用wx.getLocation方法。但是wx.getLocation接口很难申请,基本上申请了都不给通过,主要是因为申请该方法,需要提供相关场景的图片、视频、业务流程说明,并且使用...
丁老师软件,推出图片在线加水印功能,支持图片和PDF文件加水印,可以添加文字水印、图片水印,文字水印支持调整文字大小、文字颜色、位置、透明度等,添加水印后可以自动生成文件,可以下载。在线添加图片水印地址https://www.dls6.co...
这几年AI技术的发展已经达到新的高度,从提高个人生产力到企业操作效率的各个方面,AI都扮演着不可或缺的角色。无论是进行语言交流、内容创作、或是任务管理,都有相应的AI工具可以帮助我们更加轻松地完成工作。以下是丁老师觉得不错的AI工具推荐,希...
fontawesome所有图标class类名单,适用于4.7.0版本。总计有593个图标class类(包含别名):fa-500pxfa-address-bookfa-address-book-ofa-address-cardfa-addre...
开发抖音小程序所需资料及费用概览随着短视频平台抖音(TikTok)在全球范围内的迅速崛起,越来越多的企业和个人开始意识到在抖音平台上开发小程序的重要性。抖音小程序不仅可以增强品牌曝光率,还能为用户提供更加便捷的服务体验。那么问题来了,开发一...