魏文王问扁鹊曰:「子昆弟三人其孰最善为医?」扁鹊曰:「长兄最善,中兄次之,扁鹊最为下。」魏文侯曰:「可得闻邪?」扁鹊曰:「长兄於病视神,未有形而除之,故名不出於家。中兄治病,其在毫毛,故名不出於闾。若扁鹊者,鑱血脉,投毒药,副肌肤,闲而名出闻於诸侯。」
魏文王问名医扁鹊说:“你们家兄弟三人,都精于医术,到底哪一位最好呢?”
扁鹊答说:“长兄最好,中兄次之,我最差。”
文王再问:“那么为什么你最出名呢?”
扁鹊答说:“我长兄治病,是治病于病情发作之前。由于一般人不知道他事先能铲除病因,所以他的名气无法传出去,只有我们家的人才知道。我中兄治病,是治病于病情初起之时。一般人以为他只能治轻微的小病,所以他的名气只及于本乡里。而我扁鹊治病,是治病于病情严重之时。一般人都看到我在经脉上穿针管来放血、在皮肤上敷药等大手术,所以以为我的医术高明,名气因此响遍全国。”
文王说:“你说得好极了。”
文中意思是:事后控制不如事中控制,事中控制不如事前控制,可惜大多数的事业经营者均未能体认到这一点,等到错误的决策造成了重大的损失才寻求弥补,有时是亡羊补牢,为时已晚。
我听过很多故事其实都是属于要到扁鹊这种起死回生的境地才去处理的。我自己也是经历过。一个系统一开始就看到有问题的苗头,这个时候提出,开发不以为然,等到了宕机的时候,希望我能力挽狂澜。虽然有时候也解决了,表面上是我分析和解决了问题,但是实际上这些大可不必发生。
我们常见的问题有哪些?
1、GC时间长(对象过大)
2、OOM (那是从数据库取了太多的不应该的数据)
3、CPU高 (Java的实现逻辑有问题或者数据库全表扫描)
4、IO高(数据库全表扫描)
5、连接数高(数据库全表扫描或者锁)
6、空间满(这个就不用说了)
大体就这些吧,能占到网上找到的90%
刚一开始是不会出这些问题,但是可以通过踩油门的姿势预判。
比如
1表设计上来都是blob或者text类型,
2字符串巨长,
3没有索引,
4没有时间,
5多表关联
后面有几十项我就不一一列举了。
但是一般提出都不太会引起重视的。直到出现问题。其实从一开始都可以预见到,但是一般人觉得还早呢。
这不CPU才60%。要知道数据库的CPU50%就是问题,已经出现等待了。
这不磁盘还有5%嘛,要知道一个无节操的操作就可以瞬间耗尽。
所以要想不出事情,请提高标准。甚至你可以假定问题是一直存在的解决不完。
中国的地理决定了防御战略,我们有战争年代和和平年代。但是西方军事说只有两种状态,战争和准备战争。
同样对于我们也只有处理故障和准备处理故障。
不过现在扁鹊三兄弟的故事在管理学上却是反面教材,因为中国的用人制度,往往出大事时能解决的人才能被管理者重用,但那些防患于未然的人,就像扁鹊的哥哥们就被冷落了。





