设为首页 收藏本站
查看: 1025|回复: 0

[经验分享] 网站极限优化之php优化

[复制链接]

尚未签到

发表于 2018-12-21 09:48:21 | 显示全部楼层 |阅读模式
  这段时间忙死了,早上一大清早就要起来学计算机英语,听商务英语,前些日子搞数据库优化研究已经有了结果,现在就剩下php优化了,当然了,人各有志,只是发表下个人的看法,大家可以踊跃发表自己的意见,一下内容仅供参考,生产部署出了问题,与本人无关
  说到网站的建设那是相当的麻烦,不过现在有很多大师提出了很多有建设性的方法,我这里主要是针对mvc 模板引擎来讲,而他们两个东东都是和php有着紧密的联系的,当然了你非要玩jsp,c/c++fast-cgi我就没办法了,本人不懂呵呵,好了废话不说了:
  首先我们知道php是解释性语言,和perl,python一样都要一个程序运行的虚拟机来运行,和c c++等编译性的不同他们可以直接系统运行,而且产生的二进制代码更精简高效,可是由于php强大的网络接口,有很多现成的网页操作类,函数可以使用,而且开发速度快,学习也很简单相对其他语言,所以打败了perl,c/c++在网站设计的地位,导致了现在的网页设计三国鼎立 php jsp ruby (asp不考虑windows下的东东不感冒)呵呵。按照简单的程序执行效率来说我们可以大概的总结如下:
  无框架直接纯语言搞速度:jsp > php > ruby
  使用框架设计后 速度:  jsp > ruby on rails > php+thinkphp
  所以如果有钱,还是整jsp吧,不过咱们不整就用php那么怎么优化呢。。一般来说php优化主要是靠各种缓存来加速了,像什么apc,zend optimial,xcache等等,可是我看来对于php的加速分为以下几类:
  1,直接使用php的ob_start函数等函数进行php程序网页的真静态加速,提高速度的同时还有利于经行SEO,是最快的完整网页缓存加速
  2,使用facebook hiphop把php编译成c++程序进行加速。这个嘛哥没有详细整过不过性能算是很好了,比下面的饿apc xcache快,不过部署难度大,建议使用
  3,就是使用apc,xcache,来进行php程序的编译opcode缓存,效果很好,是我们常用的加速方法,apc还可以把缓存的文件保存为文件,需要用的时候直接载入,加速又加密了源码呵呵,
  4,就是框架,模板引擎的局部缓存了代表是smarty的编译缓存,个人感觉是鸡肋,因为在前面还是需要php文件来载入缓存文件,不过可以实现局部缓存,大家可以借鉴。比如把时间动态显示不缓存呵呵,除此之外还不如直接php整页缓存
  最后还有一个优化就是,mvc框架选择问题,还有模板引擎的选择问题,其实以我个人的想法,这些东东最好还是掌握他们的社会分工思路,采用mvc,模板界面设计,逻辑程序设计分离的思想就可以了.
  php在框架复杂大规模程序运行效率上面确实不是强项,这个可以查看网上很多关于ruby,php框架的相关文章看到,一起去学一个框架还不如自己学习mvc思想自己纯php设计,或者自己定制一个简单的框架来使用,高效的同时,还能学习好php!
  由于社会分工的深入,为了配合方便一个网站的发展,二次开发要求,诞生了视图,界面与php编程分离的状况,是一个好事,研究了几天刚开始考虑smarty这个模板引擎,结果看到很多人抱怨速度不行,就他官方的zend frame框架一样,没有极高的电脑配置,是玩不转的。考虑了很久还是选择Blitz templates 这个模板引擎了,看测试比php纯echo include还要快,,,当然了php自身的include还是很快的,可以参考评测结果。
  [img]file:///C:/Documents%20and%20Settings/Administrator/Local%20Settings/Temporary%20Internet%20Files/Content.IE5/KI9I1ALJ/e5f90435258dc60090ef3999[1].gif[/img]
  一下就被吸引了,还是相信c语言的能力了,linux世界的老大。拯救发展linux,bsd就还得靠他。什么java,面向对象都是浮云。。。
  当然,php优化除了性能之外还要用户数据的过滤,安全等问题,这里就不讲了,咱们下回分解呵呵




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-653890-1-1.html 上篇帖子: LNMP架构中php 下篇帖子: PHP(6) 控制结构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表