中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-05-26 03:56:00 來源:網絡 閱讀:1057 作者:My_King1 欄目:web開發

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


簡介:

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

也是由PHP來開發完成,FaceBook的訪問量,業務能力在業界可謂

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

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

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

序邏輯并不是我們關注的,我們要關注如何配置在不同環境發揮它

的最大性能.  :)


有興趣的朋友 請 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 發行光盤第二張,安裝如下包
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 (默認參數) | debug 交互調試 | server 前臺模式 | daemon 服務 | replay | translate (t)

   我們只關注 deamon , 將HHVM變為后臺服務 , 來等待用戶響應 . 此概念與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
    # 線程總數 并發數量 (重要)
    ThreadCount = 50
    # 欲解釋的php項目目錄 ( 重要 )
    SourceRoot = /var/www/php/
    # 請求超時不限   請求內存不限
    RequestTimeoutSeconds = -1
    RequestMemoryMaxBytes = -1
    # 啟動服務選項   默認頁   錯誤頁  錯誤內容
    DefaultDocument = index.php
    ErrorDocument404 = 404.php
    FatalErrorMessage = sorry , error
    # http設置   壓縮   長連接   http協議棧大小  響應隊列長度
    GzipCompressionLevel = 3
    EnableKeepAlive = true
    EnableEarlyFlush = true
    MaxPostSize = 8  # in MB
    ResponseQueueCount = 0
    # 連接潮濕
    ConnectionTimeoutSeconds = 60
}
# 管理地址
AdminServer {
    Port = 8088
    ThreadCount = 1
    Password =
}

   # 測試頁面

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

   管理頁面:

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

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


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


測試:

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

   圖: 默認情況未優化任何參數的情況如下

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

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

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

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


思考:

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


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

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

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

   靜態文件緩存,php代碼緩存等等









向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六安市| 六枝特区| 汉川市| 沽源县| 通榆县| 习水县| 乌苏市| 井研县| 永福县| 嘉兴市| 桃园市| 米易县| 泊头市| 吉木萨尔县| 申扎县| 抚顺市| 丹棱县| 汉沽区| 巴彦县| 兴山县| 旬邑县| 子洲县| 民勤县| 敦化市| 铅山县| 汝城县| 湘潭市| 峡江县| 登封市| 分宜县| 林西县| 景谷| 隆子县| 万安县| 新邵县| 卢湾区| 介休市| 类乌齐县| 诸城市| 科技| 清丰县|