在平常生活中,通常我们访问的百度,新浪,淘宝等超大型网站系统,为什么感觉如此的流畅,如此的愉悦。而我们企业内部的系统为什么在使用过程中那么痛苦。以前经常听人抱怨,在公司系统做一项操作,出去抽一个烟回来,结果才可能出来。虽然听起来觉得像个笑话,不过这样的事情在我们企业里确确实实是存在的,这种系统被称为“抽烟系统”。还有一些系统被称为“削苹果系统”、“上茅房系统”等等,不一而足。正是这样的缓慢的系统在蚕食我们企业的效率,由此造成的企业资源浪费是十分巨大的。系统优化的主要作用就是来解决类似这样的问题。
那么什么是优化?打个比喻,如果一个人生病了,或者处于亚健康状态,这个时候需要专业的医护人员及专有设备进行诊断,出具诊断报告,然后对出现问题的病症进行治疗。同样系统优化是专业的技术人员结合专业的工具,对系统进行全面的数据采集、诊断分析、找出问题所在,最后结合问题来进行调整实施。在百度词条上,“系统优化“的定义如下:系统优化原来是系统科学(系统论)的术语,现在也用作(而且常用作)计算机方面的术语。它尽可能减少计算机执行少的进程,更改工作模式,删除不必要的中断让机器运行更有效,优化文件位置使数据读写更快,空出更多的系统资源供用户支配,以及减少不必要的系统加载项及自启动项。当然优化到一定程度可能略微影响系统稳定性,但基本对硬件无害。
在我们这些做了近二十年系统优化的人来说,这个定义是十分不准确的,甚至是谬误的,因为这个词条来自于十分窄的领域,仅仅是计算机系统。系统优化的领域十分宽广,可以涉及到国民经济甚至是每个人的方方面面,因此我们需要给系统优化加上一个定语-信息:信息系统优化,似乎加上定语以后,涉及的领域就窄多了,这样就应该能说清楚信息系统优化到底是什么了吧?事实上,还是不行,因为在这个信息化时代里,信息系统的范围仍然是太宽泛了。不同的企业,不同的部门,不同的应用系统,不同的用户,面对着千差万别的信息系统。对于这些千差万别的系统,优化所能体现出的内容,仍然是很难穷举的。
于是我们不再关注和纠缠系统优化这个词从表面上表达出的意思,转而关注其主要特征。在谈信息系统优化的特征之前,我们也把讨论的范围限制在传统的企业应用,因为信息化领域的市场分工日益清晰,传统企业与互联网企业的信息化建设模式完全不同,甚至传统互联网企业、新型互联网企业、创新型技术企业等在信息化建设模式方面都存在较大的差异。橘生淮北则为枳,机械的照搬别人的成功经验与刻舟求剑无异。
从广义上说,信息系统优化的目的是为了更稳定,更高效的运行信息系统,为达到这个目标的一切工作,都属于信息系统优化;从狭义上讲,信息系统优化是调整吞吐量、响应时间和资源使用率之间的关系,使之达到一种适当的平衡。广义和狭义的定义并不矛盾,广义上的信息系统优化是战略层面的工作,而狭义的信息系统优化是战术层面的工作;广义上的优化重在关注优化的目标,而狭义上的定义主要侧重于实现目标的方法。
按照这种定义,一切有利于信息系统建设、升级、运行的工作,都可以属于广义的优化范畴,这实际上基本上覆盖了企业信息化的全过程,这个和我们近些年提出的“信息系统全生命周期优化”和“信息系统常态化优化”的概念是吻合的。
首先,信息系统优化的目的是让信息系统运行的更为稳定、高效,因此优化的首要要点就是“稳”,绝对不能为了让系统运行的更高效而降低其稳定性、可靠性。系统优化工作应该提升系统的健壮性,提高系统运维的自动化程度,降低系统运维的难度,减少系统运维的成本。
其次,系统优化需要改善用户的使用体验,让用户更好的使用信息系统,因此在优化过程中,就需要多考虑改善用户体验,而不是一味的从技术手段去做优化。把一个响应时间200毫秒的SQL优化到20毫秒,虽然提升了十倍的性能,但是对于最终用户体验来说,提升的感知度可能为0,当然也不能说这种优化就没有意义,这种优化在降低应用资源开销上是十分有价值的,不过如果我们在改善用户体验的时候总是把这类优化当作重点,那么我们的优化可能会不太成功。而把一个需要一个小时跑完的报表优化到20分钟,对用户体验提升来说也一样是极低的,如果能进一步提升到5分钟,才能够产生真正的用户体验改善。另外一方面,我们一味的考虑如何提升信息系统运行的效率,考虑提升响应时间的问题,而不去考虑优化措施对于系统运行可靠性带来的负面影响,那么一个性能不错但是三天两头宕机的系统肯定也不是客户所需要的。如果我们不能够很好的了解用户体验提升的本质问题,那么我们的优化工作可能就会事倍功半,从技术角度上看,我们获得了十分好的效果,但是从用户体验上看,我们的工作很难被用户认可。
第三,企业很需要通过优化来降低企业信息化的建设投资,真正的帮助企业省钱。这个“省钱”二字的含义太过宽泛,因此怎样的省钱才是真正的省钱呢?这里有一个例子,大家可以一起来算算帐。如果我们要建一个系统,需要配置一台4路服务器,有三种方案,一种是配置较高的配置,使系统在未来的5年内不会存在任何运行瓶颈;第二种方案是先配置较低的配置,满足未来3年的需求,3年后再去逐步升级硬件,满足客户的需要;第三种方案是CPU配置较高的配置,支持未来5年的业务负载,内存可以少配置一点,等以后扩容。如果你是企业的IT主管,该如何来选择方案呢?传统的土豪大企业一般会选择第一种方案,而比较节约的人会选择第二种,精打细算的人会选择第三种。那种最优呢?有可能大多数读者会选择第三种,既考虑了未来的支撑能力,又充分考虑了性价比。但是在传统企业的传统架构模式下,可能第一种才是最优的选择。可能有读者想不通了,第三种明明可以先不采购那么多内存,等几年后再扩容内存,那么内存价格可能都减半了。实际上,系统建设成本是综合性的,某些人可能看到来了内存晚买几年可能能便宜一两万块钱,这种考虑在一个企业MIS系统上是有效的,但是如果系统是一个7*24运行的关键生产管理系统,每次停机都会带来生产暂停的成本开销。那么这种情况下,就需要考虑已经上线运行的系统停机检修,系统升级的成本和可能存在的运维风险,甚至包括未来购买的内存条与老内存条的兼容性问题。其实在现在的社会里,人力资源成本的因素是不能被忽略的。当然这个案例如果放到互联网企业去看,可能就会有截然相反的结论。互联网企业采用原生云架构的系统,建设之初并不需要考虑过多的资源冗余,往往采用云平台,横向扩展的模式来扩展系统,这样情况下,单机的能力往往会选择最佳性价比的模式。
从上面我们讨论的问题来看,这本书要解决的问题确实十分的宽泛,从企业的信息化规划、建设、运行、运营的角度来看信息系统优化,需要解决的问题十分的广泛和庞杂。信息系统优化概念的外围触角所涉及的地方我们都需要去做一番分析,同时我们还必须结合我们自己的企业信息化建设的特点来考虑优化的方案是否合理,不能一味的照搬照抄。
根据上面的讨论,我们重新给信息系统优化一个定义:从广义上讲,信息系统优化覆盖企业信息化建设的全过程,信息系统优化是在信息系统全生命周期中,以确保系统稳定安全运行为前提,尽可能的降低信息系统开发、建设、部署、运行、运维、运营的成本,提高信息系统用户的使用体验。从狭义上讲,信息系统优化是根据信息系统的运行特点与用户的使用特性,合理的调配系统资源,达到系统资源、系统吞吐能力与系统响应延时的平衡,并在确保系统可用性的基础上,尽可能降低系统的响应延时。