- 论坛徽章:
- 3
|
以下以linux平台的php为基准,进行回答!
1.你认为构建Web站点的原则有哪些
构建Web站点的原则,我个人认为架构是WEB站点设计原则的重中之重,其他功能和界面体验以后都可以修改完善,而架构又可分为PHP源代码的架构和服务器架构!而源码架构的定位根据站点的用途和易维护、扩展性来考虑,比如使用哪套开源系统(论坛选择discuz还是phpwind,电商ecshop还是prestashop,内容系统dedecms还是phpcms),或者开发使用哪一套框架(thinkphp、Yii、CodeIgniter)等,可易扩展性表现在WEB开发里可以轻易进行源码升级和二次开发,使用直接开发还是以WEB站点的插件模块方式来拓展站点功能,这些都是很核心的,站点发展到中后期,如果没有整理出一套合理可行的规则,将会给网站的维护和扩展带来很多麻烦,同理,服务器方面则应该从性能和安全上考虑。在第2点中描述。
2.你认为改善Web站点性能应从哪些方面着手
改善web站点性能应该从10个方面考虑,从我个人的角度考虑大致如下:
● 带宽:这个是速度性能的决定因素,这个不用多说,VPS速度肯定就比几十块钱的虚拟主机要快很多。
●HTTP请求:有看过百度评级图表的就很清楚了,百度会给站点一个评分,然后根据一些情况给你优化建议,第一是带宽建议,还有起用gzip压缩,使用css精灵技术等,最后就是减少 http请求数,其原理和CSS精灵类似,多张图压成一张,多个JS或CSS文件变成一个,其实就是减少请求数的方法!
● PHP动态内容缓存:这个就是PHP的SMARTY摸板的缓存功能,能加快访问速度,但是在开发调试阶段,不应开启该缓存!
● 选择性数据缓存:依托MEMCACHE的有选择性缓存,对一些经常访问的数据进行缓存,但是这个特性对于信息实时性很强的地方不实用。
● PHP动态内容静态化:用PHP的ob_start函数对缓冲区的PHP动态内容进行静态化,一是加快访问,二有利于SEO。虽然百度已经支持动态的URL,但是静态依然还是要更好些,该优化适合对信息实时性不高的场合,比如新闻、资信、文章等,都可以使用彻底的静态化。
● 服务器软件:前端使用nginx,后端使用apache。这个需要结合下面几点考虑。
● 图片、WEB代码、数据库分离:在高负荷、高并发的情况,一台服务器已经无法承受经常当机了,就需要把原本在一台机器上的各种应用隔离处理,单独为每种应用设置一台服务器,图片服务器,可以考虑用nginx服务器软件,虽然不是最好的选择,WEB代码服务器依然使用apache,数据库独立服务器等,如有必要,数据库还应该做读写分离。
● 服务器软件选择:前端部分nginx,后台apache,数据库用做一主一从的配置,这个还得看具体应用场合决定。
● 负载均衡:根据nginx的负责均衡功能,把纯静态请求分流到上面所说的图片服务器,如果有足够的硬件资源的话,JS和CSS都可以继续分流出来。PHP动态部分指向apache服务器。
●优化数据库:可以用mysql的explain对SQL语句进行优化查询,根据结果对表进行索引等,这只是比较基础简单的优化,实际还需要判断更多情况,包括表引擎等,一般用在新闻站点都是用myisam引擎,如果用在电商类,使用innodb更多。
3.说说读完试读章节后你的感想
试读章节25页基本都看完了,写得很细腻,写法很优雅,能把性能瓶颈比作三国时的“万事俱备,只欠东风",描述得生动易懂!而且讲述的面也很符合当下的实际情况,虽然没有看到他是就哪种WEB语言哪个平台发表的看法!但是具体应用也是类似的,总体感觉写得很好,不管是新人还是老手都值得一看!
|
|