-
baidu hhvm 免依赖部署
背景 由于官方提供的HHVM编译过于复杂,国内也没有一整套的方便运维解决方案,那么我们提供一版baidu的免编译版本供国内对于HHVM的用户进行体验使用,并进行持续更新。 环境 此免依赖安装包,免依赖包和系统无依赖,目前内部使用支持centos6+和redhat4(外部aws可以使用),其他linux版本用户可以进行试用,内核需要linux 2.6.32以上 安装 Baidu hhvm 下载地址: http://bcs.duapp.com/hhvm-package/hhvm-3.0.1-V0.1.tar.gz bcs下载失败可以用下面地址下载: http://pan.baidu.com/s/16qFTG 1.解压hhvm.tar.gz...
-
HHVM vs PHP7
1. 结论 引擎+模式 吞吐 HHVM非repo模式 834 HHVMrepo模式 1093 Php7 opcache.revalidate_freq 设置0 800 Php7...
-
HHVM at Baidu
在这之前我们介绍了我们为什么要迁移PHP到HHVM, 本文将介绍HHVM在百度的应用情况以及我们遇到的问题及经验。 背景 HHVM前身是HipHop PHP,HipHop通过将php代码->cpp代码->二进制的转换来提升性能, Facebook应用了4年(2007-2011),但是由于开发、编译、调试、维护不方便, 2011年12月Facebook开始了HHVM的开发和调研。 以下为其发展的路线: HipHop PHP: 将PHP代码翻译成C++代码,然后编译成二进制运行,有很大的性能提升,但开发成本比较大。 hphpi:为了解决编译太慢的问题,其实现的PHP解释器用于提升开发效率,不过代码和hphpc很多都不一样,有很多问题,可能导致线下bug不能发现。 HHVM:真正的虚拟机,目标是和Zend...
-
构建可随地部署的LAMP基础环境包
背景 LAMP是Web开发中最流行的模式,即Linux + Apache + Mysql + PHP。近年已经有一些变化,比如webserver除了Apache外,还有Nginx和Lighttpd;数据库除了Mysql外,还有各种NoSQL引擎;PHP引擎除了Zend之外,还有HHVM。所以LAMP不再指的是具体软件的集合,而是Linux + webserver + php语言 +...
-
HHVM动态语法的性能问题分析
背景 在某业务线使用HHVM的过程中,发现有一些机器的HHVM CPU使用率异常于其他机器,使用率高出了一倍多,上线和流量高时CPU高出更多,所以针对此问题定位和分析是哪里造成了此问题。 线上问题分析定位 首先我们通过hhvm的监控接口(HHVM 的admin server访问,check-health和vm-tcspace)获取了unit、funcs、tcspace、load和queued等信息; 但是发现这类机器都有统一的问题,那就是在不上线的时候unit、func、tcspace涨幅过快,一般情况虽然有未触发文件,在请求时会编译+翻译小部分文件但是并未有过这么大幅度,几乎一天tcspace就超过了91%阀值,所以分析应该是动态函数的调用引起了此问题,由于线上使用了smarty模板,smarty中会使用eval和create_function,所以可能造成此问题,然后跟进线下的代码尝试是否可以复现此问题。 首先通过线上的datablock造成的core的栈来跟进问题栈内容如下: #0 include() called at...
-
PHP 引擎调研
简介 该调研是2013年10月份做的,目标是寻找更好的PHP引擎,来代替百度各产品线正在使用的PHP 5.2。 环境说明 机器环境: cpu: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz,...
-
HHVM简介
HHVM (HipHop Virtual Machine) 是 Facebook 开源的 PHP 执行引擎。 HHVM 采用一种JIT(just-in-time)的编译机制实现了高性能,同时又保持对 PHP 语法的充分支持。...
-
Baidu LAMP Tech blog launched
Welcome here! Thi is a Baidu LAMP stack related engineering blog, we will...
所有留言