热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

什么是系统优化

在平常生活中,通常我们访问的百度,新浪,淘宝等超大型网站系统,为什么感觉如此的流畅,如此

在平常生活中,通常我们访问的百度,新浪,淘宝等超大型网站系统,为什么感觉如此的流畅,如此的愉悦。而我们企业内部的系统为什么在使用过程中那么痛苦。以前经常听人抱怨,在公司系统做一项操作,出去抽一个烟回来,结果才可能出来。虽然听起来觉得像个笑话,不过这样的事情在我们企业里确确实实是存在的,这种系统被称为“抽烟系统”。还有一些系统被称为“削苹果系统”、“上茅房系统”等等,不一而足。正是这样的缓慢的系统在蚕食我们企业的效率,由此造成的企业资源浪费是十分巨大的。系统优化的主要作用就是来解决类似这样的问题。

那么什么是优化?打个比喻,如果一个人生病了,或者处于亚健康状态,这个时候需要专业的医护人员及专有设备进行诊断,出具诊断报告,然后对出现问题的病症进行治疗。同样系统优化是专业的技术人员结合专业的工具,对系统进行全面的数据采集、诊断分析、找出问题所在,最后结合问题来进行调整实施。在百度词条上,“系统优化“的定义如下:系统优化原来是系统科学(系统论)的术语,现在也用作(而且常用作)计算机方面的术语。它尽可能减少计算机执行少的进程,更改工作模式,删除不必要的中断让机器运行更有效,优化文件位置使数据读写更快,空出更多的系统资源供用户支配,以及减少不必要的系统加载项及自启动项。当然优化到一定程度可能略微影响系统稳定性,但基本对硬件无害。

在我们这些做了近二十年系统优化的人来说,这个定义是十分不准确的,甚至是谬误的,因为这个词条来自于十分窄的领域,仅仅是计算机系统。系统优化的领域十分宽广,可以涉及到国民经济甚至是每个人的方方面面,因此我们需要给系统优化加上一个定语-信息:信息系统优化,似乎加上定语以后,涉及的领域就窄多了,这样就应该能说清楚信息系统优化到底是什么了吧?事实上,还是不行,因为在这个信息化时代里,信息系统的范围仍然是太宽泛了。不同的企业,不同的部门,不同的应用系统,不同的用户,面对着千差万别的信息系统。对于这些千差万别的系统,优化所能体现出的内容,仍然是很难穷举的。

于是我们不再关注和纠缠系统优化这个词从表面上表达出的意思,转而关注其主要特征。在谈信息系统优化的特征之前,我们也把讨论的范围限制在传统的企业应用,因为信息化领域的市场分工日益清晰,传统企业与互联网企业的信息化建设模式完全不同,甚至传统互联网企业、新型互联网企业、创新型技术企业等在信息化建设模式方面都存在较大的差异。橘生淮北则为枳,机械的照搬别人的成功经验与刻舟求剑无异。

从广义上说,信息系统优化的目的是为了更稳定,更高效的运行信息系统,为达到这个目标的一切工作,都属于信息系统优化;从狭义上讲,信息系统优化是调整吞吐量、响应时间和资源使用率之间的关系,使之达到一种适当的平衡。广义和狭义的定义并不矛盾,广义上的信息系统优化是战略层面的工作,而狭义的信息系统优化是战术层面的工作;广义上的优化重在关注优化的目标,而狭义上的定义主要侧重于实现目标的方法。

按照这种定义,一切有利于信息系统建设、升级、运行的工作,都可以属于广义的优化范畴,这实际上基本上覆盖了企业信息化的全过程,这个和我们近些年提出的“信息系统全生命周期优化”和“信息系统常态化优化”的概念是吻合的。

首先,信息系统优化的目的是让信息系统运行的更为稳定、高效,因此优化的首要要点就是“稳”,绝对不能为了让系统运行的更高效而降低其稳定性、可靠性。系统优化工作应该提升系统的健壮性,提高系统运维的自动化程度,降低系统运维的难度,减少系统运维的成本。

其次,系统优化需要改善用户的使用体验,让用户更好的使用信息系统,因此在优化过程中,就需要多考虑改善用户体验,而不是一味的从技术手段去做优化。把一个响应时间200毫秒的SQL优化到20毫秒,虽然提升了十倍的性能,但是对于最终用户体验来说,提升的感知度可能为0,当然也不能说这种优化就没有意义,这种优化在降低应用资源开销上是十分有价值的,不过如果我们在改善用户体验的时候总是把这类优化当作重点,那么我们的优化可能会不太成功。而把一个需要一个小时跑完的报表优化到20分钟,对用户体验提升来说也一样是极低的,如果能进一步提升到5分钟,才能够产生真正的用户体验改善。另外一方面,我们一味的考虑如何提升信息系统运行的效率,考虑提升响应时间的问题,而不去考虑优化措施对于系统运行可靠性带来的负面影响,那么一个性能不错但是三天两头宕机的系统肯定也不是客户所需要的。如果我们不能够很好的了解用户体验提升的本质问题,那么我们的优化工作可能就会事倍功半,从技术角度上看,我们获得了十分好的效果,但是从用户体验上看,我们的工作很难被用户认可。

第三,企业很需要通过优化来降低企业信息化的建设投资,真正的帮助企业省钱。这个“省钱”二字的含义太过宽泛,因此怎样的省钱才是真正的省钱呢?这里有一个例子,大家可以一起来算算帐。如果我们要建一个系统,需要配置一台4路服务器,有三种方案,一种是配置较高的配置,使系统在未来的5年内不会存在任何运行瓶颈;第二种方案是先配置较低的配置,满足未来3年的需求,3年后再去逐步升级硬件,满足客户的需要;第三种方案是CPU配置较高的配置,支持未来5年的业务负载,内存可以少配置一点,等以后扩容。如果你是企业的IT主管,该如何来选择方案呢?传统的土豪大企业一般会选择第一种方案,而比较节约的人会选择第二种,精打细算的人会选择第三种。那种最优呢?有可能大多数读者会选择第三种,既考虑了未来的支撑能力,又充分考虑了性价比。但是在传统企业的传统架构模式下,可能第一种才是最优的选择。可能有读者想不通了,第三种明明可以先不采购那么多内存,等几年后再扩容内存,那么内存价格可能都减半了。实际上,系统建设成本是综合性的,某些人可能看到来了内存晚买几年可能能便宜一两万块钱,这种考虑在一个企业MIS系统上是有效的,但是如果系统是一个7*24运行的关键生产管理系统,每次停机都会带来生产暂停的成本开销。那么这种情况下,就需要考虑已经上线运行的系统停机检修,系统升级的成本和可能存在的运维风险,甚至包括未来购买的内存条与老内存条的兼容性问题。其实在现在的社会里,人力资源成本的因素是不能被忽略的。当然这个案例如果放到互联网企业去看,可能就会有截然相反的结论。互联网企业采用原生云架构的系统,建设之初并不需要考虑过多的资源冗余,往往采用云平台,横向扩展的模式来扩展系统,这样情况下,单机的能力往往会选择最佳性价比的模式。

从上面我们讨论的问题来看,这本书要解决的问题确实十分的宽泛,从企业的信息化规划、建设、运行、运营的角度来看信息系统优化,需要解决的问题十分的广泛和庞杂。信息系统优化概念的外围触角所涉及的地方我们都需要去做一番分析,同时我们还必须结合我们自己的企业信息化建设的特点来考虑优化的方案是否合理,不能一味的照搬照抄。

根据上面的讨论,我们重新给信息系统优化一个定义:从广义上讲,信息系统优化覆盖企业信息化建设的全过程,信息系统优化是在信息系统全生命周期中,以确保系统稳定安全运行为前提,尽可能的降低信息系统开发、建设、部署、运行、运维、运营的成本,提高信息系统用户的使用体验。从狭义上讲,信息系统优化是根据信息系统的运行特点与用户的使用特性,合理的调配系统资源,达到系统资源、系统吞吐能力与系统响应延时的平衡,并在确保系统可用性的基础上,尽可能降低系统的响应延时。



推荐阅读
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • PHP自学必备:从零开始的准备工作与工具选择 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • 深入解析GBASE系列中的列存储分析型数据库GBase 8a
    市场定位方面,GBase 8a 是 GBASE 系列中的一款高性能列存储分析型数据库,专为大规模数据仓库和实时分析场景设计。该数据库采用先进的列式存储技术,能够显著提升查询性能和数据压缩效率,适用于金融、电信、互联网等行业的大数据分析需求。此外,GBase 8a 还支持分布式部署,具备高可用性和可扩展性,能够满足企业级应用的严苛要求。 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
author-avatar
李da寕
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有