何时该优化代码来提高性能
在网上看到的一篇文章,觉得不错就随便翻译了一下,
原文在这里:http://blog.gorgeswebsites.com/2009/05/when-to-optimize/
问题:什么时候开发者应该优化代码呢?
回答:当你 不得不 通过优化代码来提升性能的时候
当然,对于开发来讲 任何糟糕的 没有效率的代码都应该避免的,但在你决定优化你的代码之前,一定要明白“优化代码”是一件很费时间的事情,平时我都很注意代码的质量,以防止不必要的代码重构。
如果一个站点的页面或是应用浏览起来很慢,这里有一些因素是你值得考虑的:
在查询数据库的代码中出现了瓶颈?
可能数据库中某些字段应该建立索引。
程序执行的时候SQL查询的次数过多了?
可能缓存那些经常查询的“SQL的结果”会解决这个问题。
网站的数据是不是全部都适合数据库存储?
LDAP和memcache也许是你应该尝试也要考虑的存储方式。
站点的文件和图片尺寸是不是都很大?
确定你的图片是否压缩过,查看服务器端是否启用了对文本文件(html,css,javascript,xml)的压缩。
很复杂的逻辑是否可以预先实现?
那些很复杂的逻辑是否可以通过事先的工作而避免。
是否使用庞大的内容管理系统?
如果你的网站是静态的或是几个简单的页面,庞大的系统可能不适合你,因为庞大的系统可能会使用缓存来运行,这是没有必要的(这里不是指静态缓存比如:squid)
是否服务器网卡、内存、CPU过时了或是性能不够好?
监测服务器的性能指标,看看是否磁盘响声很大。现在的硬件已经很便宜了,与其花了很多时间调整代码,更换硬件可能是一个更好的解决办法。
用户在浏览器端感觉页面载入时是否足够快?
假设网络环境很好的情况下,那些不是很重要的东西可以延时加载。比如我们在幻灯片代码中,没有必要为javascript代码提前下载所有的图片。
是否你的网站流量太大?
哦,那将是一个大问题 呵呵。可能要把你网站的应用放在多个服务器上面,(译者注:分布式解决问题)
正如你看见的,与优化程序代码相比,上面的很多方法都可以解决问题,而且还很简单 。
与一个运行快速的不正确的程序的相比,我更愿意要一个正确的,运行正常的程序。优化代码,往往比找程序的bug更难,对开发人员要求也更高。
Tags: database, optimization, performance, 高性能网站










Comments