您现在的位置:主页 > 开奖现场报码 > 正文
开奖现场报码

专访百度胡志广:HHVM in baidu、HHVM VS PHP7深度对比

发布时间:2019-06-09 浏览次数:

  2016年8月12日-13日,由CSDN重磅打造的互联网应用架构实战峰会、运维技术与实战峰会将在成都举行。

  这是继SDCC 2016架构技术峰会(上海站,官网、图文直播、架构峰会PPT、数据库峰会PPT)和SDCC 2016架构技术峰会(深圳站,官网、图文直播、架构峰会PPT、数据库峰会PPT)圆满收官后的再一次相聚。上海站和深圳站上,共计36位演讲嘉宾给超过700名的现场参会者带来了精彩分享。火爆程度超出主办方想象,为响应广大网友们的热情期盼,我们决定在8月12-13日,在成都,继续举办一场技术峰会,技术人相约成都,不说再见。

  即将到来的SDCC 2016成都技术峰会讲师阵容强大,主办方邀请了来自于百度、阿里、腾讯、京东、华为、小米、乐视、美团、聚美优品、当当网、中国电信、云霁科技、亚信、YY互娱、ThoughtWorks等公司的技术骨干来为与会者分享演讲和交流。

  本届大会,我们邀请了百度资深工程师胡志广,带来题为《支撑百亿级流量PHP引擎HHVM在百度的架构实战》的主题分享,内容主要涉及:baidu为什么用HHVM、HHVM in baidu、HHVM vs PHP7。

  我们借此机会采访了胡志广老师,他分享了从HHVM在百度的应用,以及深度对比了HHVM和PHP。

  胡志广,百度资深工程师,2013年加入百度,2008到2012年在两家创业公司做技术负责人,2012-2013年在京东负责性能优化方向主要有hhvm,nginx;目前百度负责HHVM方向和百度私有云机器管理方向(包括检测,维修,环境管理)以及建设此外,他还擅长性能优化、网络、PHP、编译和分布式系统;开源社区多次贡献HHVM源码,并且在2013年9月Facebook在HHVM Blog对HHVM提出了肯定和感谢,多次进行技术和进度交流。

  胡志广:2008年-2012年在2家创业公司分别担任技术负责人,主要负责过ERP、搜索引擎、爬虫、BI、舆情分析、大数据分析方向;2012-2013年加入京东负责京东性能优化包括nginx和HHVM;

  2013年加入百度主要负责HHVM方向,实现了HHVM在百度生态并将大部分PHP服务切入HHVM;目前负责百度私有云机器管理方向(故障检测、环境管理、自动化维修)。

  胡志广:HHVM在百度目前大业务线的PHP均上线了HHVM,覆盖几千台机器,日处理PV在近千亿,CPU节约50%左右(非IO型服务),并且百度已经支持了HHVM生态包括扩展框架、一键式部署、容灾容错、单测和回归方案;目前支持扩展30多个,通用扩展如protobuf、shmop、ap(yaf)等。

  CSDN:HHVM和PHP7相比的话,有没有可能会失去优势,因为性能差不了太多,但是需要的劳动比PHP7要多,大概意思就是HHVM有学习成本,PHP7几乎没有,未来HHVM的前途是怎么样的?

  胡志广:我觉得PHP7和HHVM 这个上面大家用哪个都可以,哪个方便用哪个,我建议小公司没必要折腾HHVM成本高,大公司我建议可以调研一些HHVM,肯定是有收益的;

  PHP7从5到7其实飞跃还是很大的,性能提高也很多,但我觉得HHVM在PHP7的出现还是起到了决定性作用的,至少在2012年-2015年间HHVM 在性能上还是绝对领先的,那么我先说下PHP7的优化点:

  内存管理模式也借鉴了jemalloc的模式管理内存,并且提升了cpu cache;

  所以我认为HHVM 相对来讲还是有一定的优势的(最大的优势来讲还是JIT),但是PHP7发展真的很快,百度内部其实一直没有停止2个引擎的调研,个人建议小公司的线 提高性能,规模大一些的公司可以调研HHVM,HHVM 相对来讲还是有一些性能优势的,但是学习成本高些,但是可以用百度的免依赖版本尝试。

  CSDN:HHVM和PHP7相比的话,有没有可能会失去优势,因为性能差不了太多。

  胡志广:HHVM和PHP7性能差异我在上一个问题中有阐述,HHVM相对PHP7来讲目前还是性能还是有一定优势的,HHVM也在逐渐在做好兼容性;

  但是需要的劳动比PHP7要多,大概意思就是HHVM有学习成本,PHP7几乎没有。

  我不认为HHVM比PHP7劳动要多,相对来讲搞不定HHVM的一样搞不定PHP7。

  上面的几个问题在PHP7中同样会遇到,但是PHP7的编译依赖比HHVM少,相对编译速度也快很多,这个是PHP7的一个优势;

  在百度内部来讲HHVM是没有学习成本的,对于外部人员来讲其实只要搞定编译问题,大部分扩展已经支持,这些成本其实和PHP7是相似的,所以我认为HHVM学习成本也不是很大。

  胡志广:我觉得HHVM和PHP7是一个互相推进的项目,而且HHVM有Facebook独立团队支持,我个人觉得还是可以看到前景的,PHP7的发展速度也很速度,所以2个项目我都很看好,有竞争对于PHP用户来讲才是福音,但是我认为HHVM的重点应该在性能、异步和hack语言上。

  胡志广:HHVM来看,我之前和Facebook的开发者沟通过,他们认为HHVM的目标还是在性能上,但是目前HHVM已经实现了很好的性能,突破点已经很小了,这里是目前HHVM 的一个瓶颈。

  此外,HHVM之前尝试过用LLVM优化jit但是最终没有性能优势只能作为一种调研性项目。

  我认为HHVM后续的优化重点会在hack、异步、协程、还有特定的项目优化,但是再找到一个能够飞跃性的优化目前来看难度还是很大的,除非能够有一个特殊的模型或者其他突破能够让HHVM 100%兼容PHP时,并且性能卓越,我认为如果HHVM可以在协程发力将现有模型改为协程,也许会成为下一个GO,我觉得那时候也许HHVM会再度火热。

  胡志广:所有的程序都不能说100%的稳定,万物皆有BUG,但是你容错和保证线上稳定性是一个大问题,百度在使用HHVM 的稳定来讲做了如下几件事情:

  旁路迁移,初期小流量上线时HHVM 做渲染,PHP引擎执行其他部分,通过shmop通信(共享内存),HHVM出现错误后,仍然回到PHP处理;

  webserver通过捕捉错误码跳转容错,如果HHVM挂了后,然后将流量切到PHP上执行,但是如果一旦全部挂则会出现雪崩,目前来讲都是双HHVM热备;

  对于稳定性问题(如Crash、内存泄露、Diff、死锁、CPU异常等)会及时跟进,第一时间处理解决问题。

  稳定性对于百度这种大厂来讲是很重要的,所以在上线前都需要做各种的回归测试、线上监控和容错方案来让HHVM运行更稳定。

  CSDN:你目前还会关注哪些新技术?给学习PHP或者HHVM的开发者一些建议吧。

  胡志广:我关注的领域比较多,比如虚拟机和编译领域我会关注如Pypy、Hippy、JVM这些;云方面会关注Docker、Kubernetes这些;其他方面如:Nginx、spdy、缓存服务、NoSQL等;

  我建议PHP的开发者可以关注一些底层的实现这样更可以了解如何写好PHP,对于扩展实现和PHP虚拟机的结构了解后,能够更好写好PHP程序;我觉得PHP开发者不要局限于PHP语言,应该往更大的范围去看,如前端Web Server、Cache、到后端的Cache和DB层、分布式系统方面等。

  HHVM in baidu:HHVM使用问题、迁移方案、上线效果、HHVM百度生态、HHVM的百度优化及线上问题分析;

  8月5日24点前,SDCC 2016架构&运维峰会·成都站,仍处于八折优惠票价阶段,单场峰会(含餐)门票只需799元,5人以上团购或者购买两场峰会通票更有特惠,限量供应,预购从速。(阅读原文,获取票务详情链接)。香港正版挂牌规律开奖现场直播