三七养生

 找回密码
 三七养生加入
查看: 6694|回复: 8

【原创】我学计算机的,闲来没事写一篇中西医与系统工程的问题

[复制链接]
发表于 2010-3-12 14:40 | 显示全部楼层 |阅读模式
                                                                        中西医与系统工程                                                               

跟好友聊中西医,发现实在难以沟通,在我看来中医很明显的理论在她看来却很难理解,一直试图采用西医的理解方式理解中医。回想到与该同志除了中西医以外,还存在计算机系统架构沟通难的问题,突然发现两者其实很相似。

举个例子,假设我们目前有个页面,它每次运行使用了20句SQL语句,并且,有另外一个模块负责将所用到的SQL语句如实登记到日志文件里面,该日志文件每一个月会自动删除一个月前的日志。

现在问题来了,由于该页面访问的频繁性,它所产生的日志量远远大于我们的估算,日志量的剧增导致了运行时间的延长,导致该页面一访问就处于假死断网超时的假象,于是我们开始要处理这个问题。

西医,重点处理直接引起不适的症状。在我们的例子里面,症状很明显:日志量暴增引起的效率降低。所以,西医的处理方式为:去掉引起不适的症状---日志。采用去掉日志功能(手术摘除),或者清空日志(清洗),或者缩短日志自动清理的时间(定期检查),以此达到症状缓解,不影响正常运作(健康)。日志被消灭或者量减少了,于是由于日志引发的假死断网超时的不适症状得到解决。

中医,七分补,三分泄。不明中医的人一定搞不懂这“补”怎么回事,简单说,就是找到原来负责这个功能的部位,加强它的运作能力。用这种思维来处理我们例子里的故障:日志量这么大,是谁负责生产的?---就是那20句SQL,七分补,我们花70%的精力来辅助这个模块,优化它的SQL语句和结构,例如降低到只需要5句,那么,该页面的日志量直接被降低到1/4,与此同时,三分泄,也就是针对目前日志量已经严重影响运行的情况,对日志量进行一次清理。

这两种处理分别的结果是什么?

首先:去掉日志是绝对不可取的,因为我们可能存在着依靠这个日志来分析或者完成自动同步发布的功能,去掉日志将直接毁灭这一系列的功能;而人工清除的方式存在不稳定性和难操作性(可能很轻松,也可能很复杂,例如:洗澡很轻松,但是每隔段时间就去洗胃呢?受得了不?);缩短日志保存时间本身可能需要连贯性的修改所有依赖于日志的系统模块(例如缩短所有与之相关物化视图或者备份系统的时间),以防止数据丢失,否则会因为你修好了这个页面引起了系统其他环节的BUG;采用矛头直指那20句SQL的方法,可以最大程度保证系统的稳定性,并且,在优化了这20句SQL以后,不仅仅是日志,其余依赖于该模块的系统都将得到效率的提升。这就是看上去很神话的:中医明明在治理你的宫寒,结果你的虚胖就消失了,身材变好了。

当然,如果你要挑刺,你也可以说:我那20句SQL已经是非常非常的优化了,没法再优化了。这点也的确如此,当一个人的五脏六脉都非常健康强盛,突然就挂掉了,那中医也的确没办法。

其实这种思维和实际案例,在我们目前公司的主页中就存在:客户反映某页面数据刷新不稳定,有时候可以显示完整,有时候只显示一半。一开始我们上网Google从去寻找原因,但没有找到相似的案例,没有可抄袭的经验就只能自己想办法;我们把苗头对准该页面,大刀破斧地对该页面本身进行了非常精彩的优化,投产后发现,故障有所缓解,但是依然存在。既然数据库无法返回完整数据,那么根源应当是数据库或者网页服务器的压力太大,减缓数据库和网页服务器的压力才能治根。于是我们对数据库进行跟踪寻找产生压力的SQL语句和页面,对这些表面上看运行很正常的页面一并进行统一的优化措施,此举直接解决了客户所反映的页面问题。

闲来没事,瞎写一片,仅供娱乐。

[ 本帖最后由 贫民住厕 于 2010-3-12 16:03 编辑 ]
发表于 2010-3-12 16:18 | 显示全部楼层
我刚刚做完一个系统的优化,发现里面的sql语句大量使用了not in,not exsit等等效率低下的语句,索引建立的也不对。好多都是从花费10分钟优化到4秒钟左右,

搂主和我是同道中人,不过没有搂主那样能和中医联想到一起,我先顶一个!
发表于 2010-3-13 17:41 | 显示全部楼层
万物理相通,楼主思考、想象力皆强
发表于 2010-3-19 11:04 | 显示全部楼层
哈哈 我也是搞IT的 楼主说的可谓真形象!
发表于 2010-3-19 21:33 | 显示全部楼层
不错,联想能力超强,希望楼主再多出些这样的好文。
发表于 2010-5-16 15:56 | 显示全部楼层
呵呵,我也是曾经搞IT的,看到你的文章让我想起了以往的IT生活,比喻真是太贴切了,赞一个!
发表于 2010-5-16 16:30 | 显示全部楼层
把象在数理层面统一起来,提炼为八卦【8种模型】,甚至只有二元化【阴阳】,任何行业任何技术层面都通用,一通百通,而不必一科一科的学习。还有什么解决问题的方法比这个更智慧?

为术日增,为道日损。这就是术和道的区别。

现在有it版的医道,同样还可以有艺术版、金融版、人才管理版……等等诸多演绎版本。期待大家的精彩演绎!!

贫民住厕 ——文章堪为典范!名字就不要学他的……
发表于 2014-7-11 13:08 | 显示全部楼层
楼主的文章不错,严重支持!
发表于 2014-7-11 16:34 | 显示全部楼层
这篇文章精彩,很形象!
您需要登录后才可以回帖 登录 | 三七养生加入

本版积分规则

小黑屋|手机版|Archiver|三七养生

GMT+8, 2024-11-23 11:15 , Processed in 0.030246 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表