软件系统运维常见问题
系统部署常见问题
- 环境配置、兼容性问题。生产与测试环境的操作系统、库版本、中间件版本不一致,运行环境软件版本不匹配。新旧版本代码/依赖不兼容。
- 依赖缺失或冲突问题。后端包启动失败,提示类/方法/第三方依赖库找不到或者版本冲突。
- 配置错误。系统启动后,功能异常,数据库连接失败,权限不足。
- 数据库相关表结构升级失败。
- 性能问题。系统响应变慢、资源(CPU、内存)占用过高。
- 部署失败或回滚困难。部署后新版本系统不可用,无法快速回滚到旧版本。
系统升级后客户端缓存问题的无感知解决方案
1.缓存资源版本化。
2.设置缓存过期时间,确保升级后旧缓存快速过期。
3.缓存隔离,为新旧版本分配不同的缓存空间名,避免缓存污染。
排查系统后台报错
- 查看日志文件。查找ERROR、WARNING、Expection、Caused by 等关键字。
- 检查启动命令和参数是否正确。JVM 参数:检查 -Xms(初始内存)、-Xmx(最大内存)是否合理。
- 检查依赖和配置文件。
- 检查端口和资源权限是否正常。
系统加载过慢排查与优化
1.确认问题范围。(影响单个or所有用户?某个页面or整个系统?)
2.前端性能排查。(浏览器开发者模式抓包看网络、性能是否有异常)
3.后端服务排查。(服务器响应时间、查看应用模块的日志)
4.数据库排查。(sql过慢、explian分析执行计划、连接池配置是否合理)
5.服务器资源。(CPU、内存、磁盘是否负载,检查是否有异常进程占用资源)