app服务器已结束是什么意思?别急着重启,先排查服务器稳定性和配置瓶颈
本文未附完整的测试环境、工具版本与原始结果,内容作为故障排查或选型资料参考,不标记为实测报告。
公司的APP后端忽然无法打开,用户反映登录失败了,在运维界面上看到的是“app服务器已经终止”或者服务进程已经停止了,很多老板的第一反应就是:是不是软件出了问题?其实这些问题并不一定是程序的问题,也可能是由于服务器性能不够、磁盘异常、内存溢出、网络不稳定、数据库负载过重等原因造成的。特别是在业务高峰时期、老服务器长时间运转没有进行扩容的情况下,就容易发生这种情况。
“app服务器已经结束了”是指承载着APP业务服务进程停止运行的意思。它可以是程序自己退出,也可以是被操作系统杀死、资源用完了、端口冲突、数据库连接不上或者是硬件出了问题。对于企业而言,并不在于是否出现了错误信息,而是在于该服务器是否可以继续支持业务运转。
如果您的APP涉及到会员登录、订单、支付、库存、审批、数据查询等功能的话,那么在选择服务器的时候不能只考虑是否能正常运转,还要考虑到能否长时间稳定地工作。应该注意的是以下几个方面:
第一是看CPU的核心数量。一般的内部管理软件以及小规模的应用程序一般不需使用高性能配置;但是当并发访问量大、接口调用次数多、数据库查询负担重的时候,则需要更多的核心数与更高的主频来保证高峰时段的响应速度不会下降。
第二点就是看内存大小。很多“服务自动终止”的原因都是因为内存使用率太高了。当 Java、数据库、缓存、容器服务一起运行的时候,一定要给内存留出足够的空间。即使预算很少也应该先保证内存稳定,不能正好卡在最低的要求上。
第三是看硬盘种类以及RAID方案。系统盘最好使用企业级固态硬盘,而数据库和日志盘则需要考虑读写压力的问题。重要的业务不能只靠一个磁盘来运行,可以选用RAID 1、RAID 5或者RAID 10等方案,但是要依据实际需求选择合适的方案。
第四是电源冗余以及远程管理。机房服务器应该选用有冗余电源的型号来降低单一故障的风险;带有远程管理功能的服务器,在发生宕机、报警或者系统异常的时候,运维人员可以通过远程的方式查看到硬件的状态,这样处理起来就会快一些。
第五个方面就是网络以及扩展性了。APP业务后期可能会有用户增多、接口增多、图片附件多、日志分析或者AI等功能出现的情况,所以服务器需要留出网口、硬盘位、内存插槽以及PCIe扩展空间等,以免买了之后才发现不能扩容。
还有一点需要注意的是不要只看价格。有的便宜的服务器看上去配置很高,但是硬盘是不是企业级的、内存有没有错误校验功能、保修期有多长、有没有包含上门安装服务、有没有帮助我们安装操作系统并设置好RAID等等问题都关系到以后系统的稳定性以及维护费用。服务器不是一次性的电脑购买行为,它是保证业务持续运转的基础设施。
如果已经出现了“App服务器已结束”,系统卡顿,数据库连接失败,磁盘报警等现象,则应该进行一次现状评估:业务人数、并发量、软件架构、数据库大小、现有服务器配置、备份方式、机房网络以及预算范围。由此可知要对系统进行优化,增加内存与硬盘容量或者换一台新的服务器,并且还可以采用双机热备、备份或者云计算的方式。
可以按照你APP的应用场景来整理出服务器配置清单、品牌或者国产化的替代方案以及预算报价的方向,并且提供系统的部署、RAID配置、数据备份、上门安装、售后服务维护以及后期扩容建议。如果在排查此类问题的时候把报错截图、现有的配置情况、用户的数量规模以及预算范围发过来,我可以先帮你判断是需要修复、扩展还是更换。