Chinaunix首页 | 论坛 | 博客
  • 博客访问: 116598
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 143
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-26 17:05
个人简介

MySQL数据库,Windows服务器,Linux服务器,EasyHHVM高性能PHP服务器

文章分类
文章存档

2013年(11)

分类: 系统运维

2013-07-08 17:28:17

HHVM(HipHop PHP)优化加速PHP代码:搭建提速五六倍的PHP服务器

HHVM安装相关系列文章链接:
EasyHHVM安装方案部署PHP高性能Web服务器
EasyHHVM搭建胜过ZendPHP五六倍的Web服务器(HipHop PHP高性能技术HHVM)

HipHop PHP的开源资源相关信息

HHVM 项目地址。Facebook 将 HipHop PHP 开源后,代码是存放在“”这个源码库中。
大家可以从上面的 Github 页面下载 HipHop PHP 的源代码,然后在自己电脑上安装测试。

温馨提醒:目前 HipHop PHP 主要面向 64位 Linux 服务器,已经在Debian、CentOS、Ubuntu、RedHat、Fedora等操作系统上安装成功。
建议使用 64位平台来测试,据说 EasyHHVM 安装 HipHop VM 最方便。其他非主流服务器也可安装,但比较麻烦。

HHVM 技术介绍:
    如果你需要更多教程指导,可参看 Facebook HipHop PHP 的官方 wiki。地址是“”。


HHVM趋势总结

   Hiphop PHP 和HHVM目前在国内还是个新事物,从PHP开源这个技术行业的动态信息看,目前HHVM使用在国内很少,主要是因为目前PHP开发项目基于传统Zend PHP环境开发的影响。与此同时,目前国内各媒体对HHVM(HipHop PHP)相关的技术文章比较少。
依照HHVM趋势必将很快引起更多人关注。等待其扩展更完全应用后,应该会迅速普及起来!


最后,如果你找不到,可以从这里下载(我的新浪微博 @HHVM)源代码和程序(在HHVM HipHop PHP 文件夹中)


互联网上多种HipHop PHP Logo设计图?


 



 看全球互联网最大社交网站Facebook的PHP提速传奇故事

   Facebook期望通过“HipHop”虚拟机(HHVM)来提高PHP的性能。

   如今,Facebook在全球拥有超过10亿的用户。早在2010年,Facebook推出了一款名为HipHop的工具,可以在通过服务器执行代码前,将PHP代码转换成C++代码。与纯粹的PHP代码相比,这种模式处理的流量高出五六倍之多。

   开发HipHop的技术员说:“如果没有HipHop,我们可能已经陷入困境。我们所需要的服务器数量很可能超出了我们的能力。”他们决定更进一步,让Facebook永久摆脱这种困境。于是,他们三人达成了共识,决定将PHP的性能提升到更高的水平,把HipHop替换成虚拟机——这种软件可以在该网站的PHP代码和服务器硬件之间产生更大的协同效应。

   启动HHVM“HipHop虚拟机”项目。

   他们决定放弃将PHP转换成C++的方式,转而将其直接转换成机器代码——也就是服务器芯片所使用的语言——而且会在代码执行过程中完成这一转换。通过实时追踪网站的运行方式,他们可以更好地了解如何将其转换成机器代码,从而最终提升速度。“HipHop似乎完全可以被击败。”这是他们期待的最新成果。

   同时他开发了一款新的电脑内存管理工具。这款名为jemalloc的工具很快被用在Mozilla火狐浏览器上。“他帮助我们将火狐的内存使用量降低了一半。”并且将这个最新优化技术用在HHVM项目上,提升PHP运行速度。今年年初由于facebook而火起来的jemalloc广为人之,但殊不知,它在malloc界里面很早就出名了。相信很多朋友都使用过Mozilla火狐浏览器,而这款浏览器的各方面性能确实是最好的。

   在2012年11月6日美国总统大选日当天终于超过了HipHop。开发HipHop的技术员为了表达对最初的PHP转换器的敬意,他们将该系统命名为“HipHop虚拟机”,简称HHVM。这套系统很快被安装到Facebook网站的底层架构中,并一直沿用至今。

   HHVM使用了所谓的JIT“just-in-time”编辑模式,使得Facebook的PHP代码可以在服务器上执行时转换成机器语言。这与Java编程语言的运行方式一样,但Java虚拟机已经诞生多年,而且服务于整个行业的程序员。HipHop虚拟机则是专门针对Facebook开发的。不过,与Facebook基础架构中的很多元素一样,Facebook已经开放了该系统的源代码,方便所有人使用。

 

HHVM(HipHop PHP)虚拟机已编译了PHP那些模块
    HHVM已编译了PHP那些模块?相信这方面是很多朋友关心的问题。熟悉PHP扩展模块、PHP功能软件库的朋友会发现,在源码编译安装PHP扩展模块的时候“./configure”添加进去的模块参数,HHVM这里的模块名称是一致的。从列表中我们一目了然看到HHVM(HipHop PHP)虚拟机已编译了PHP那些模块,它已经将PHP一般常用的功能模块集成了。所以对于PHP程序员和系统工程师来说,这是个好消息。

 

HHVM版本:HipHop VM v2.1.0-dev (rel)
HipHop PHP版本:5.4.999-hiphop

PHP已编译模块检测
apc  bcmath  ctype  curl  date  dom  exif  fb  GD  hash  hotprofiler  iconv  icu_ucsdet 
icu_uspoof  idn  imap  json  ldap  mbstring  mcrypt  memcache  memcached  mysql  openssl  pcntl  pcre 
PDO  pdo_mysql  pdo_sqlite  posix  Reflection  server  session  SimpleXML  soap  sockets  sqlite3  sysvmsg  sysvsem 
sysvshm  thread  thrift_protocol  tokenizer  xhprof  xml  xmlreader  xmlwriter  zlib   

 


开源项目HipHop VM for PHP官方英文原文介绍

介绍的HHVM英文原文如下:
HipHop VM (HHVM) is a new open-source virtual machine designed for executing programs written in PHP. HHVM uses a just-in-time compilation approach to achieve superior performance while maintaining the flexibility that PHP developers are accustomed to. HipHop VM (and before it HPHPc) has realized > 5x increase in throughput for Facebook compared with Zend PHP 5.2.

HipHop is most commonly run as a standalone server, replacing both Apache and modphp.
Virtual Machine, Runtime, and JIT for PHP.


从上面介绍我们能获取几个信息。
1.据 Facebook 称,HHVM 的性能是 Zend PHP 5.2 的5倍多,更重要的是 HHVM 是开源的。
2.目前Facebook已将该HipHop虚拟机开源,源代码发布在GitHub上。
3.HipHop虚拟机(HHVM)它是一个PHP的JIT(Just-In-Time)编译器,同时具有产生快速代码和即时编译的优点。


HHVM有如下新特性、新改进

   Facebook期望通过“HipHop”虚拟机(HHVM)来提高PHP的性能。Facebook一直大力致力于在PHP在性能方面的改善,使其精简有效率。
他们最新技术:HipHop VM(HHVM), 一个能够显著提高PHP加载动态页面性能的虚拟机。更值得称道的是,他们把这个技术开源与世人共享。

PHP虚拟机HHVM和编译HPHPc一样快。Facebook最近宣布它的解释型PHP运行环境HHVM(HipHop VM)已经达到甚至超过了编译型PHP运行环境HipHop的运行速度。开源下载在Github 项目,使用PHP的同学可以试试。

为提高 PHP 性能,Facebook 开发了 HipHop VM(HHVM)技术。腾讯科技的一篇文章介绍了 HHVM 背后的故事。

更多详细的参数信息“hhvm --help”命令可获取。HHVM详细帮助信息如下:

  1. root@jimmyli:~# hhvm --help
  2. Usage:
  3. hhvm [-m ] [] [] [] ...
  4. Options:
  5. --help display this message
  6. --version display version number
  7. --compiler-id display the git hash for the compiler
  8. id
  9. --repo-schema display the repo schema id used by this
  10. app
  11. -m [ --mode ] arg (=run) run | debug (d) | server (s) | daemon |
  12. replay | translate (t)
  13. -c [ --config ] arg load specified config file
  14. -v [ --config-value ] arg individual configuration string in a
  15. format of name=value, where name can be
  16. any valid configuration for a config
  17. file
  18. -p [ --port ] arg (=-1) start an HTTP server at specified port
  19. --port-fd arg (=-1) use specified fd instead of creating a
  20. socket
  21. --ssl-port-fd arg (=-1) use specified fd for SSL instead of
  22. creating a socket
  23. --admin-port arg (=-1) start admin listener at specified port
  24. --debug-config arg load specified debugger config file
  25. -h [ --debug-host ] [=arg(=localhost)]
  26. connect to debugger server at specified
  27. address
  28. --debug-port arg (=-1) connect to debugger server at specified
  29. port
  30. --debug-extension arg PHP file that extends y command
  31. --debug-cmd arg executes this debugger command and
  32. returns its output in stdout
  33. --debug-sandbox arg (=default) initial sandbox to attach to when
  34. debugger is started
  35. -u [ --user ] arg run server under this user account
  36. -f [ --file ] arg executing specified file
  37. -l [ --lint ] arg lint specified file
  38. -w [ --show ] arg output specified file and do nothing
  39. else
  40. --parse arg parse specified file and dump the AST
  41. --temp-file file specified is temporary and removed
  42. after execution
  43. --count arg (=1) how many times to repeat execution
  44. --no-safe-access-check arg (=0) whether to ignore safe file access
  45. check
  46. --arg arg arguments
  47. --extra-header arg extra-header to add to log lines
  48. --build-id arg unique identifier of compiled server
  49. code
  50. --xhprof-flags arg (=0) Set XHProf flags
以上是HipHop VM v2.1.0-dev (rel)详细参数信息。
Facebook将HipHop提速创新改良,将它替换成虚拟机,该系统命名为“HipHop虚拟机”。Facebook技术员期望通过HipHop虚拟机(HHVM)来提高PHP的性能。同时HHVM是Facebook最新提速成果,并且是开源项目。目前Facebook已将该HipHop虚拟机开源,源代码发布在GitHub上。()
  


百科知识普及 

HipHop PHP为何方神器

   HipHop for PHP是一系列PHP脚本语言的程式码转换器的集合,它包含HPHPc、HPHPi、HPHPd以及HHVM,这四个脚本引擎各有所不同,但是他们共用相同的执行时期(Runtime)及工具集(Toolset)。HipHop是由Facebook所建立,他们用它来节省伺服器的资源。HipHop被发布时,已经是高达60万行由C++及C所撰写的程式码,它以自由软件发布,采用PHP许可证 3.01版。
   HipHop for PHP可显著的增快PHP应用程式的速度,借由2到6个已观察到的要素,HipHop改善了网页生成的效能。

 

 


HHVM
   
   HHVM全称Hiphop PHP Virtual Machine,简称HHVM。

   HHVM是Facebook最新PHP开源技术。这是当前版本的HipHop PHP(被称之为HHVM),被用以取代HPHPc以及HPHPi在产品的开发及发布,HHVM借由将 PHP 程式码编译为 二元码 ,使其可运行于虚拟机器的环境,也可以利用客制的JIT在执行时期编译为机器码。当前Facebook的PHP程式皆运行在HHVM上。

 

HHVM(HipHop PHP)交流,EasyHHVM一键安装包,PHP虚拟机,高性能服务器.Info Web: QQ群16002183(通关密码EasyHHVM)欢迎对PHP新技术、HipHop PHP、HHVM有兴趣的童鞋加HHVM学习QQ群,一起讨论学习。 

 

 

[全文End] 

阅读(22827) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

jimmy-_-lixw2013-08-14 09:41:36

说明你对HHVM技术不了解,你还是去先了解它,然后你也不会有这样的疑惑。
HHVM部署和优化,这方面详细的内容已有“EasyHHVM安装”“构建HHVM实例”“启动HHVM服务”等,并且EasyHHVM安装包就是已经优化的HHVM服务器。
如果想知道HHVM与Zend PHP比较的优点,请移步看该系列文章。

回复 | 举报