架构决定性能
2015-08-15 09:34
302 查看
作者:兰迪·斯塔福德(Randy Stafford)
架构决定应用的性能,似乎是大家都明白的道理,但是事实并非如此。有些架构师认为简单地更换底层软件架构(Software infrestructure)就足以解决应用的性能问题。他们很可能轻信了“经测试产品性能超出竞争对手25%”一类的商业噱头。假设某产品完成特定操作耗时3毫秒,竞争对手需要4毫秒,这1毫秒(25%)的优势如果放到一个性能效率极底的架构里,几乎可以忽略不计。架构是决定应用性能的根本因素。
撇开IT经理和厂商的测试团队,另一些人(比如产品技术支持部门和应用性能管理文献的作者)则建议真接通过“调优”(Tuning)架构来解决问题,例如改变内存的分配方法、调整连接池或线程池的大小,等等。但是,如果应用的部署方案满足不了预期的负载(load)要求,或者应用软件的功能架构不能充分利用计算资源,那么无论怎样“调优”都无法带来理想的性能和可伸缩(scalabiliey)特性。这时必须重新设计架构的内在逻辑和部著策略。
归根结底,所有产品和架构都必须遵循分布式计算和物理学的基本原理:运行应用和产品的计算机性能有限,通过物理连接和逻辑协议实现的通信必然有延迟。因此,应该承认架构才是影响应用性能和可伸缩性的决定因素。性能参数是无法简单地通过更换软件,或者“调优”底层软件架构来改善的,我们必须在架构的设计(或重新设计)上投入更多精力。
架构决定应用的性能,似乎是大家都明白的道理,但是事实并非如此。有些架构师认为简单地更换底层软件架构(Software infrestructure)就足以解决应用的性能问题。他们很可能轻信了“经测试产品性能超出竞争对手25%”一类的商业噱头。假设某产品完成特定操作耗时3毫秒,竞争对手需要4毫秒,这1毫秒(25%)的优势如果放到一个性能效率极底的架构里,几乎可以忽略不计。架构是决定应用性能的根本因素。
撇开IT经理和厂商的测试团队,另一些人(比如产品技术支持部门和应用性能管理文献的作者)则建议真接通过“调优”(Tuning)架构来解决问题,例如改变内存的分配方法、调整连接池或线程池的大小,等等。但是,如果应用的部署方案满足不了预期的负载(load)要求,或者应用软件的功能架构不能充分利用计算资源,那么无论怎样“调优”都无法带来理想的性能和可伸缩(scalabiliey)特性。这时必须重新设计架构的内在逻辑和部著策略。
归根结底,所有产品和架构都必须遵循分布式计算和物理学的基本原理:运行应用和产品的计算机性能有限,通过物理连接和逻辑协议实现的通信必然有延迟。因此,应该承认架构才是影响应用性能和可伸缩性的决定因素。性能参数是无法简单地通过更换软件,或者“调优”底层软件架构来改善的,我们必须在架构的设计(或重新设计)上投入更多精力。
相关文章推荐
- Perl的中国镜像网站--下载速度更快
- 使用jenkins配置.net mvc5网站自动构建全过程记录
- 服务或服务架构设计汇总
- Java集群优化——dubbo+zookeeper构建高可用分布式集群
- web网站服务(二)
- 在网站中嵌入视频教学系统
- 【转】电子圈出品----- MCU架构及厂商盘点及可穿戴式主芯片平台
- 怎样把网站变为灰色的代码
- E-learning平台专题网站分享
- 在局域网内设置win2003系统的DNS泛解析建立多个网站
- 实用网站总结
- 怎样利用代码与习惯提高网站的并发访问性能以及自己的一些疑惑
- 50-网站默哀样式(愿遇难者一路走好)
- Android 系统中GPS Location Service 的实现与架构
- 常用网站
- 国外流行的共享网站实现:facebook,twitter,google+1,tumblr等待
- 网贷系统架构——前端框架的选择
- 网贷系统架构——前端框架的选择
- zf-邵阳市网站后台的地址
- 【转】提搞网站访问速度的可做哪些优化