Chinaunix首页 | 论坛 | 博客
  • 博客访问: 202680
  • 博文数量: 11
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 160
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-03 14:24
个人简介

从客服技术支持到程序开发 从传统电信行业到互联网,以及移动互联网 岁月流逝,梦想依旧 个人订阅号--licaduo

文章分类

全部博文(11)

文章存档

2010年(11)

我的朋友

分类: 项目管理

2010-11-21 22:04:28

 

       每当空闲的时候,回想过去做过的系统,总是出现若干个念头,如果这样,如果那样会不会做的更好,下次如果我重新做一个会如何如何…..于是决定把这些想法记录下来,算是一次总结。

       提到软件应用系统优化,人们很快就会想到:更新设备,采用更好的数据库系统,抑或是优化代码,等等。个人认为,这些说法都对,但是又都不尽对。

       我们通常的应用系统分两部分,应用软件和其他配套的承载资源。配套的承载资源就包括给我们提供数据存储的数据库系统,软件运行的硬件,以及网络带宽等相关的资源。优化一个系统是一个需要全局考虑的事情,应该从整体的角度去寻找一个合适的解决方案。因此优化应该从软件和资源这两方面去考虑,考虑的因素就是综合成本最少,包括时间,风险、钱等。我们如果只是一味的要求提升硬件,而不去研究提升软件的效率,从技术人员的职业素养以及经济成本的角度都是说不过去的;反之,如果只是专研软件技术细节,而不提高外围的资源,会陷入一个死胡同,浪费了时间成本也增加了产品的风险。

       提升资源我这里就暂时不多写了,这个基本属于通用方法,只要砸钱大家都会,接下来主要谈下优化软件。

优化软件,主要从 业务流程,架构设计,编码技术三个层面去考虑。这三个层面是软件的从宏观到微观,从提纲到细节的过程,同样也对应了软件设计过程中需求分析,概要设计,编码的过程。理顺业务流程,减少不必要的处理可以从宏观的角度优化系统,通常这个也是最见效果的,但是这个也是大家最忽略的。同样一个事情,别人用一步做完,你用4步做完,即使你每一步都比别人快一些,但是整体下来你还是慢。接下来是架构设计。架构设计是一个软件的框架,架构设计的好坏决定了这个软件的可扩展性,易用性,稳定性,并发性等等好多方面。同样是网络编程,不同的并发模型使用的场景是不同的,如果选错了模型,结果必然是再好的编码技术也无法弥补。最后提到的是编码技术。编码技术对于一个软件来说是基础,如果没有足够的编码技术做保证,其他一切都是纸上谈兵。但是编码技术也仅仅是编码技术,能够达到一般的水准就够了。个人认为这个是最后考虑的一个因素。

优化软件系统也就像是平时做其他事情一样,抑或像是人生的一个缩影。举个简单的例子,我们平时都在喊没钱,穷,面对现实,我们现有的资源只能是那么多,还不像我们优化软件系统可以容易的依靠增加更多的资源来优化,于是我们只能去考虑在现在的环境下怎么去突围。如果我们死扣着每天节约一个苹果,依靠每天省出来半块钱而不从大的角度去寻求解决方案,那一辈子就只能如此不会有大的起色。合理的方法应该是从长远的角度,从大的方向上去考虑,同时适当的兼顾细节。换个工作,换个方向,采取不同的策略等等都是可以尝试的。

 

阅读(1723) | 评论(0) | 转发(0) |
0

上一篇:数据库查询优化再思考

下一篇:没有了

给主人留下些什么吧!~~