讓PHP飛--HHVM虛擬機初探(一)-創(chuàng)新互聯(lián)

又到清明時,雨紛紛,人觴觴.有空閑的時間來學習記錄點其他的東西.

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團隊的力量開發(fā)出優(yōu)質的產(chǎn)品。創(chuàng)新互聯(lián)建站堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站建設、網(wǎng)站建設、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),微信小程序定制開發(fā),軟件按需規(guī)劃網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務。

簡介:

大家都知道FaceBook一直是開源界旗幟之一,FaceBook主頁業(yè)務

也是由PHP來開發(fā)完成,FaceBook的訪問量,業(yè)務能力在業(yè)界可謂

拔得頭籌,當然單純的PHP基于半解釋半編譯的性能可能不對其胃口.

因此FaceBook自助研發(fā)了更高性能的PHP虛擬機,旨在將PHP代碼

在運行時轉換為更高效率的C++代碼(AOT 靜態(tài)鏈接編譯),至于程

序邏輯并不是我們關注的,我們要關注如何配置在不同環(huán)境發(fā)揮它

的大性能.  :)

有興趣的朋友 請 hhvm.com, 項目始于2010年,項目性能毋庸置疑.

最新版本是 2.4 stable , 3.1 還在develop.  github-hhvm

嘗試:

hhvm的安裝目前分為兩種方式:

源碼編譯:

  過程比較繁瑣復雜,由于初試HHVM,不需要過多定制,暫不采用.

RPM安裝:

  這一次先用RPM方式嘗鮮即可.官方已放出了RPM的安裝方式

# 將源配置文件下載到 /etc/yum.repos.d/ 下 wget http://www.hop5.in/yum/el6/hop5.repo # 移除 gnote 可能會后面軟件起沖突 rpm -e gnote # 確保機器上有httpd2.2+的版本 yum -y install httpd # 掛載 centos 發(fā)行光盤第二張,安裝如下包 rpm -ivh libc-client-2007e-11.el6.x86_64.rpm rpm -ivh oniguruma-5.9.1-3.1.el6.x86_64.rpm # 剩下應該就能一路向下了 yum -y install hhvm

  安裝完畢后我們可 rpm -ql hhvm 查詢安裝情況

# 這幾個是我們要關注的東東 /usr/lib64/hiphop-php/hphp /etc/profile.d/hphp.sh /usr/bin/hhvm

運行:

  hhvm 運行有模式概念,  run (默認參數(shù)) | debug 交互調試 | server 前臺模式 | daemon 服務 | replay | translate (t)

  我們只關注 deamon , 將HHVM變?yōu)楹笈_服務 , 來等待用戶響應 . 此概念與PHP-FPM如出一轍

  當然在你初次接觸之時還推薦你 server 模式,此模式不需要任何配置文件即可啟動,這對于首次

  運行它相當重要.

  server模式:

# server 模式啟動 hhvm -m server index.php

讓PHP飛--HHVM虛擬機初探(一)

  第一次接觸相當順利,好感++有木有  : )

  deamon模式:

  hhvm的配置需要自己手寫完成,daemon服務的啟動也需要依賴它來完成  請 hhvm options

# 在這里我們完成了一個最簡單最基本的配置文件 vim /etc/hhvm.conf # 我們把沒必要都不弄上來 # pid 文件 PidFile = /var/run/hhvm.pid # 運行日志文件 Log { Level = None #(default) | Error | Warning | Info | Verbose NoSilencer = false AlwaysLogUnhandledExceptions = true RuntimeErrorReportingLevel = 8191 Header = false InjectedStackTrace = true NativeStackTrace = true MaxMessagesPerRequest = -1 # 運行日志 UseLogFile = true File = /var/run/hhvm.log # 訪問日志 Access { * { File = /var/run/hhvmaccess.log Format = %h %l %u %t "%r" %>s %b } } # 管理員管理日志 AdminLog { File = /var/run/hhvm.admin.log Format = %h %t %s %U } ApplicationLog = true } # 服務器選項 Server { # 主機名 Host = www.king.com IP = 172.16.251.41 Port = 80 # 線程總數(shù) 并發(fā)數(shù)量 (重要) ThreadCount = 50 # 欲解釋的php項目目錄 ( 重要 ) SourceRoot = /var/www/php/ # 請求超時不限 請求內(nèi)存不限 RequestTimeoutSeconds = -1 RequestMemoryMaxBytes = -1 # 啟動服務選項 默認頁 錯誤頁 錯誤內(nèi)容 DefaultDocument = index.php ErrorDocument404 = 404.php FatalErrorMessage = sorry , error # http設置 壓縮 長連接 http協(xié)議棧大小 響應隊列長度 GzipCompressionLevel = 3 EnableKeepAlive = true EnableEarlyFlush = true MaxPostSize = 8 # in MB ResponseQueueCount = 0 # 連接潮濕 ConnectionTimeoutSeconds = 60 } # 管理地址 AdminServer { Port = 8088 ThreadCount = 1 Password = }

  # 測試頁面

讓PHP飛--HHVM虛擬機初探(一)

  管理頁面:

  在此可以執(zhí)行多種hhvm的管理命令(對應url即可)

讓PHP飛--HHVM虛擬機初探(一)

讓PHP飛--HHVM虛擬機初探(一)

測試:

  初探階段我們使用最為簡單的ab測試完成,后面可以進行更加精確的測試項目來完成

  圖: 默認情況未優(yōu)化任何參數(shù)的情況如下

# 機器情況 cpu 1.3ghz , memory 1G 虛擬機環(huán)境 # 測試頁面為 phpMyadmin 4 ab -c 100 -n 10000 http://172.16.251.41/

讓PHP飛--HHVM虛擬機初探(一)

  純腳本執(zhí)行環(huán)境壓力值一致情況 ( 該php頁面非常簡單只書寫了一個 phpinfo() 探針函數(shù) )

讓PHP飛--HHVM虛擬機初探(一)

思考:

  純php或者內(nèi)容量少的情況下,響應無比快,那大家或許猜到了瓶頸,看圖讓PHP飛--HHVM虛擬機初探(一)

讓PHP飛--HHVM虛擬機初探(一)

  上圖清晰明確指出了性能所在,這便是下節(jié)我們要解決的一些問題

  注意這里都是無緩存的,并且每一次的請求都要重新生成

  靜態(tài)文件緩存,php代碼緩存等等

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

新聞名稱:讓PHP飛--HHVM虛擬機初探(一)-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://muchs.cn/article30/ipdso.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、網(wǎng)站導航、App設計、網(wǎng)站設計公司云服務器、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營