體驗 Hhvm

32
體驗HHVM chengwei @ Laravel 台灣 (2014.10.4)

description

Laravel 台灣 歡慶翻譯里程碑@創業酒吧 - 2014/10/4 在活動中舉行的小講題《體驗HHVM》。

Transcript of 體驗 Hhvm

Page 1: 體驗 Hhvm

體驗HHVMchengwei @ Laravel 台灣 (2014.10.4)

Page 2: 體驗 Hhvm

內容概要

!

‧HHVM 概述

‧Laravel Homestead + HHVM

‧HHVM 成效

‧HHVM 安裝 (ubuntu)

Page 3: 體驗 Hhvm

!陳正瑋 @ 得寬科技 DevOps

!一步一步的往DevOps之路前進...

Page 4: 體驗 Hhvm

What is HHVM ?‧ http://zh.wikipedia.org/wiki/

HipHop_for_PHP

‧ http://hhvm.com/

‧ https://www.facebook.com/hhvm

‧ https://github.com/facebook/hhvm

‧ HHVM, the new PHP? https://www.youtube.com/watch?v=fxHEuOXdCP0

‧ HHVM: the alternative PHP Runtimehttps://www.youtube.com/watch?v=P9WhAUpMFdg

more …

Page 5: 體驗 Hhvm

HipHop for PHP!

來自於FACEBOOK !

HPHPc → HPHPi → HHVM !

HPHPc 靜態編譯,將php轉為C++ !

HPHPi = HipHop interpreter !

HHVM 是以 HPHPi 為基礎,應用JIT技術

更多技術細節,請洽Google⼤大神

Page 6: 體驗 Hhvm

HHVM!

Just-in-time PHP compiler

更多技術細節,請洽Google⼤大神

Page 7: 體驗 Hhvm

HHVM!

It is a different PHP runtime

更多技術細節,請洽Google⼤大神

Page 8: 體驗 Hhvm

Nginx

php-fpm

mysql

index.php

Page 9: 體驗 Hhvm

Nginx

HHVM

mysql

index.php

Page 10: 體驗 Hhvm
Page 11: 體驗 Hhvm

重點前⾯面都不重要,真正的

Page 12: 體驗 Hhvm

Source: Zeev Suraski http://zsuraski.blogspot.tw/2014/07/benchmarking-phpng.html

Real World Apps - Benchmarks (requests per second)

0

75

150

225

300

SugarCRM CE 6.5.16 - login page Wordpress 3.9 Drupal 7.28 homepage

PHP 5.4 (no OPcache) PHP 5.5 PHP 5.6 hhvm 3.1 (prebuilt binaries) PHPNG

Page 13: 體驗 Hhvm

Laravel + HHVM

Page 14: 體驗 Hhvm

Laravel Homestead!

official, pre-packaged Vagrant "box"

Page 15: 體驗 Hhvm

Laravel Homestead Included Software

Homestead v0.1.9

‧ Ubuntu 14.04 ‧ PHP 5.6 ‧ HHVM ‧ Nginx ‧ MySQL ‧ Postgres ‧ Node ‧ Redis ‧ Memcached ‧ Beanstalkd ‧ Laravel Envoy ‧ Fabric + HipChat Extension

Page 16: 體驗 Hhvm

Before Installation!

VitualBox https://www.virtualbox.org/wiki/Downloads !Vagrant http://www.vagrantup.com/downloads.html

VirtualBox

Page 17: 體驗 Hhvm

Installation & Setup!

http://laravel.tw/docs/homestead#installation-and-setup !http://laravel.com/docs/4.2/homestead#installation-and-setup !https://github.com/laravel/homestead

Page 18: 體驗 Hhvm

DEMO - Homestead: Installation

http://youtu.be/shrMHTk4RvY

Page 19: 體驗 Hhvm

DEMO - Homestead: Setup yaml

http://youtu.be/q4Z0DNulPUQ

Page 20: 體驗 Hhvm

DEMO - Homestead: Setup yaml (HHVM)

http://youtu.be/B7n21DWXZ4k

Page 21: 體驗 Hhvm

nginx.conf : php-fpm

nginx.conf : HHVM

Page 22: 體驗 Hhvm

HHVM 成效!“自從用了 HHVM ,程式跑超快的,Server 的數量越來越少,老闆的心情越來越好,看來加薪升職的日子指日可待。 ” !

~ 某超級不負責任之江湖傳言

Page 23: 體驗 Hhvm

Tools!

Anbu Profiler for Laravel PHP https://github.com/daylerees/anbu !laravel-debugbar https://github.com/barryvdh/laravel-debugbar !The Computer Language Benchmarks Game http://benchmarksgame.alioth.debian.org/u32/program.php?test=nbody&lang=php&id=3 !ab - Apache HTTP server benchmarking tool http://httpd.apache.org/docs/2.2/programs/ab.html

Page 24: 體驗 Hhvm

LIVE DEMO

Round:1 Homestead: php-fpm vs HHVM

Page 25: 體驗 Hhvm

測試數據php-fpm

HHVM

Page 26: 體驗 Hhvm

LIVE DEMO

Round:2 Cloud hosting: php-fpm vs HHVM

Page 27: 體驗 Hhvm

測試數據

php-fpm

HHVM

Page 28: 體驗 Hhvm

測試數據 (ab)

php-fpm

nginx + php-fpm + Wordpress

Page 29: 體驗 Hhvm

測試數據 (ab)

HHVM

nginx + HHVM + Wordpress

Page 30: 體驗 Hhvm

HHVM 安裝( ubuntu 14.04 )

!詳細步驟可參閱 http://fideloper.com/hhvm-nginx-laravel

Page 31: 體驗 Hhvm

DEMO - ubuntu: install HHVM

http://youtu.be/3OTr1umhl9U

Page 32: 體驗 Hhvm

總結!

‧Homestead 對於開發者的便利性

‧HHVM 的發展值得關注

‧HHVM 需要更多測試與調教