如何快速提升已有屎山稳定性?业务逻辑非常复杂,重构不现实

2023-03-03 23:44:42 +08:00
 edis0n0
公司一套十几年前买的外包写的外贸商城系统,3 个程序员修修补补用了十几年,什么日志都没有,变量名乱起,函数名和作用不一致,平均每月炸两次,一大半能重启解决(莫名其妙数据库连不上,日志里没有任何错误,重启服务没用、nginx 莫名其妙写了 1.6TB 稀疏文件把固态硬盘写满了,重启就会消失 这类完全不知道怎么排查的故障),关键还经常半夜炸,然后时差原因半夜还是客户最多的时候。

不想润,因为系统没炸的时候非常闲,基本都在摸鱼,每周只要工作半小时那种
3741 次点击
所在节点    程序员
37 条回复
lingex
2023-03-04 09:18:26 +08:00
看着有点兴奋哈,每解决一个都是很有成就感的。

先加日志吧,出问题的操作多加点,如有可能每个跳转都加上。
jaggle
2023-03-04 09:22:05 +08:00
好奇问一下楼主你们的日订单数量多少多少,能重启而没用户不抱怨吗
centralpark
2023-03-04 09:49:59 +08:00
加日志,加单元测试,加监控。切割好了才好改。当然,就像楼上说的,这一切都不要让你领导知道,不然你的地位危矣
awalkingman
2023-03-04 10:00:29 +08:00
@v2defe 哈哈哈哈哈你是懂稳定的
vacker
2023-03-04 10:07:28 +08:00
你是老板的话你可以直接重构,否则 保持现状修修补补就好
charlie21
2023-03-04 10:09:39 +08:00
jQuery 时代的吗?
falcon05
2023-03-04 10:25:30 +08:00
我现在也有一套这种的,非常恐怖,nginx 的配置太蛋疼了,换成 openresy ,准备学点 lua ,相当加了一层。
enchilada2020
2023-03-04 10:37:20 +08:00
@pengtdyd 求出处
liangxin1998
2023-03-04 11:10:00 +08:00
git 有一项规则,就是重构
fds
2023-03-04 11:21:08 +08:00
先给主要逻辑加上些测试?
数据库连接断开可以加些 log 吧,还有压测或者手动 kill 连接试试。
pengtdyd
2023-03-04 11:40:22 +08:00
@centralpark 《“Any problem in computer science can be solved by another layer of indirection.”》
billytom
2023-03-04 13:22:56 +08:00
@edis0n0 首先,你这是内存无法回收造成的 boom ,那就要定时重启,而不是出问题连不上再重启。把故障率控制到从 40% -> 20% 就够了,不要去碰程序主体(防止手贱问题越来越大),之后好好公司呆着就行。

最后,偶尔半夜 boom 是好事,要让老板知道你在辛勤工作,这工资给得值
zhengfan2016
2023-03-04 15:32:03 +08:00
楼上说的很对,维持现状修修补补就好了,

重构好了,没有功劳,一旦经济下行,可能第一个毕业的是你,反正炒了系统也很稳定不会 boom

重构不好,锅全是你的,该卷铺盖被炒的,还是你,搞不好让公司蒙受损失,毕业以后还得吃官司😂
mafanding
2023-03-04 18:16:07 +08:00
弄一个定时重启+一个磁盘使用量预警 足够了 总要有点工作量 不然你干嘛等老板来开你么
em0miao0
2023-03-04 18:38:28 +08:00
@netnr 很有道理,我就是被这么干掉的,系统弄得太好,一度没有啥新需求,导致系统长达 4 ,5 个月没啥问题不用重启升级啥的然后被干掉了;所以。。OP 还是慢慢改吧。
MrHyde
2023-03-05 03:23:24 +08:00
@billytom 32 楼有道理,你就主动重启,在白天,人少的时候
esile
2023-03-05 12:34:33 +08:00
如果你修好了就证明你随时可以被优化掉。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/920978

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX