大凡谈到PHP项目的软件优化时,很多作出的答案是:过程式编程,取消MVC和ORM,策略缓冲(网页静态化),内存表,算法优化,代码优化,数据结构优化,启用新技术,消除过度设计。。。
当然还有使用定时任务(计划任务),启用蜘蛛和爬虫来辅助数据采集、整理,建立索引等方法。
这些做法的一个核心,就是以系统为中心,说白了,就是对机器友好,除了基本功能的实现方法优化外,采用用空间换时间的方法,让你需要数据的时候,不需要后台跑运算,取过来就完事,关键词:取的巧,取的快,取的多,取的合理。为了达到这样的目的,衍生出许多学科来为实现算法做理论基础。
而这样做的最终目的,是对人友好,也就是提升使用者对大流量系统的使用满意度。既达到目的,又赏心悦目。
因此做优化工作,往往是计算机专业的研究生出身比较理想。很多公司招技术总监,需要研究生毕业,也就是这个道理。
不过有一个问题:往往在实现优化技术的环节中,忽略了对人友好这一环节,举个例子:好多对大流量支持得很好的系统,在代码结构和可读性方面,就让人望而生畏。
极端的例子是汇编,对机器99%的友好,对人友好只有1%,而把汇编再编译二进制代码,那就完全是对机器100%友好,对人100%不友好了。
IT业最重要的目标之一是对人友好,但一步就让人用二进制代码表示创意和思想实在“残忍”,在使用LAMP技术开发WEB2.0网站时,在需求分析阶段,技术对创意索缚得越少,对人友好的元素也会越多,一个系统的好坏,实际上就是三点,一是在设计和实现时被砍掉的好的元素的比例。二是没有砍掉部分的实现方法最佳化程度。三是扩容时对结构合理性的保证程度。
对人和对机器都友好的成功实例,是搜索引挚。对机器友好,我们人类没有体会,但是可以从结果推出搜索引挚一定对机器友好,因为无论是信息的时效性和完整性都做得如此出色,自动化程度是如此的高。
总结:
机器友好:指把世界装入机器的能力指数;
对人友好:轻轻一点,得到的是整个世界。
当然还有使用定时任务(计划任务),启用蜘蛛和爬虫来辅助数据采集、整理,建立索引等方法。
这些做法的一个核心,就是以系统为中心,说白了,就是对机器友好,除了基本功能的实现方法优化外,采用用空间换时间的方法,让你需要数据的时候,不需要后台跑运算,取过来就完事,关键词:取的巧,取的快,取的多,取的合理。为了达到这样的目的,衍生出许多学科来为实现算法做理论基础。
而这样做的最终目的,是对人友好,也就是提升使用者对大流量系统的使用满意度。既达到目的,又赏心悦目。
因此做优化工作,往往是计算机专业的研究生出身比较理想。很多公司招技术总监,需要研究生毕业,也就是这个道理。
不过有一个问题:往往在实现优化技术的环节中,忽略了对人友好这一环节,举个例子:好多对大流量支持得很好的系统,在代码结构和可读性方面,就让人望而生畏。
极端的例子是汇编,对机器99%的友好,对人友好只有1%,而把汇编再编译二进制代码,那就完全是对机器100%友好,对人100%不友好了。
IT业最重要的目标之一是对人友好,但一步就让人用二进制代码表示创意和思想实在“残忍”,在使用LAMP技术开发WEB2.0网站时,在需求分析阶段,技术对创意索缚得越少,对人友好的元素也会越多,一个系统的好坏,实际上就是三点,一是在设计和实现时被砍掉的好的元素的比例。二是没有砍掉部分的实现方法最佳化程度。三是扩容时对结构合理性的保证程度。
对人和对机器都友好的成功实例,是搜索引挚。对机器友好,我们人类没有体会,但是可以从结果推出搜索引挚一定对机器友好,因为无论是信息的时效性和完整性都做得如此出色,自动化程度是如此的高。
总结:
机器友好:指把世界装入机器的能力指数;
对人友好:轻轻一点,得到的是整个世界。