从维护识别当前产品主要问题
博客专区 > bigsloth 的博客 > 博客详情
从维护识别当前产品主要问题
bigsloth 发表于4年前
从维护识别当前产品主要问题
  • 发表于 4年前
  • 阅读 13
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 从维护角度识别当前产品主要的问题与改进点

系统自监控

目前做法是通过watchdog单纯监控Java进程是否存在。但在Java应用程序下面,

系统不正常工作,往往有以下几个原因:

1. 系统core dump,进程异常退出。--watchdog可以搞定

2. 内存溢出,OutOfMemory,Java进程仍然存在

3. 资源泄漏导致无可用资源,如无数据库连接,达到了最大的文件句柄数,导致文件或socket无法创建

4. 系统线程被长期挂起(正在等待获取资源等),导致线程池无可用线程。


系统日志及空间管理

印尼X项目日志动辄1G,800M大小,用NotePad根本打不开,还要上传到SUSE系统进行处理删除垃圾日志,浪费时间。许多无用的日志打印出来。

对于维护人员来说,日志对于问题的定位至关重要。系统日志设计的好坏会直接影响解决问题的效率和质量。看日志只要看精华,不需要的日志不要打印出来。比如日志中出现

的心跳日志,用户ehcache日志等打印频繁,对于问题定位几乎可以忽略。在异常发生时,日志中有明确的调用上下文,关键入口必须有日志打印。

通过了解一般管理员没有意识去删除日志,出于磁盘空间的考虑,日志必须定期压缩。

日志包括日志表需要定期清理。说到磁盘空间规划同样值得思考,斯里兰卡、印尼、伊朗都出现过磁盘空间不足现象,尤其是印尼上线运行不到一年,RMAN备份出来的两天数据接近300G,规划的/oradata目录只有200G,前期加的数据库表空间文件都在该目录下面


系统配置及资料让用户不容易理解

界面配置最典型的例子就是短信配置界面,几乎只有专业人士才能看懂,短信从V1R3在到V2R5,针对现场场景我们的短信功能一直在完善,但是每次升级后或者刚启用短信功能后,这块配置现场一直在抱怨看不懂。

资料太多写的太啰嗦 SPC271操作指导写了六十页还有歧义,完全是站在开发者角度编写,现场人员搞不清楚哪步该执行哪步不该执行,这样的资料难怪现场升级失败。


代码对数据库表ID依赖性强

重灾区表单配置,代码里面一堆魔鬼数字


高并发场景验证不充分

CPU居高不下,内存消耗大,表单环节数据发生窜乱,数据丢失表单无法提交,系统宕机等许多问题在印尼局点暴露出来,我们的压力测试到底仿真程度有几层。


没有重发机制用于救急

维护中经常出现表单无法提交,SLA/Rule/短信没有触发没有发出。系统没有提供类似的API进行数据恢复,重发机制


异常场景,现场组网模拟测试欠缺

几次发生的接口对接异常没有设置超时,升级后ehcahce只有只读权限系统无法启动,尼日利亚因为组网及对接场景不符(项目名称不一致)直接导致无法对接及待发布版本打回重新测试。


某些基础数据缓存后修改需要重启现场不可接受

经常遇到修改某些后台配置(如短信邮件某些未在前台展现的参数),一个简单的SQL脚本,但是生效就是需要重启服务,对于维护人员来说难办,现场更是不可接受


常见代码问题有

(1)空指针,这样的问题数不尽数,分析一下现场日志这个是高概率出现的

(2)数组越界

(3)逻辑分支判断错误

(4)数据过滤条件不对

(5)对象构造成员变量赋值错误

(6)使用易出性能问题对象


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 4
博文 53
码字总数 47326
×
bigsloth
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: