讓PHP飛 HHVM虛擬機器初探 一

2021-09-24 13:22:53 字數 2684 閱讀 5989

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

簡介: 大家都知道facebook一直是開源界旗幟之一,facebook主頁業務

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

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

因此facebook自助研發了更高效能的php虛擬機器,旨在將php**

在執行時轉換為更高效率的c++**(aot 靜態鏈結編譯),至於程

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

的最大效能.  :)

有興趣的朋友 請 hhvm.com, 專案始於2023年,專案效能毋庸置疑.

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

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

原始碼編譯:

過程比較繁瑣複雜,由於初試hhvm,不需要過多定製,暫不採用.

rpm安裝:

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

wget

# 移除 gnote 可能會後面軟體起衝突

rpm -e gnote

# 確保機器上有httpd2.2+的版本

# 掛載 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 模式啟動

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

deamon模式:

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

# 在這裡我們完成了乙個最簡單最基本的配置檔案  vim /etc/hhvm.conf

# 我們把沒必要都不弄上來

# pid 檔案

pidfile = /var/run/hhvm.pid

# 執行日誌檔案

log

}# 管理員管理日誌

adminlog

}# 伺服器選項

server

# 管理位址

adminserver

# 測試頁面

管理頁面:

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

測試:

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

圖: 預設情況未優化任何引數的情況如下

# 機器情況 cpu 1.3ghz , memory 1g 虛擬機器環境

# 測試頁面為 phpmyadmin 4

純指令碼執行環境壓力值一致情況 ( 該php頁面非常簡單只書寫了乙個 phpinfo() 探針函式 )

思考:純php或者內容量少的情況下,響應無比快,那大家或許猜到了瓶頸,看圖

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

注意這裡都是無快取的,並且每一次的請求都要重新生成

靜態檔案快取,php**快取等等

虛擬機器安裝 Linux初探

安裝虛擬機器的過程還算順利。除了在安裝增強裝置功能時需要將之前的硬碟彈出之外,沒有遇到其他的問題。通過老師推薦,在實驗樓學習了linux基礎入門,目前課程暫時只學到了第4節。現主要分享3 4節學習感受。該章節分為兩個部分 1.linux 中建立 刪除使用者,及使用者組等操作。2.linux 中的檔案...

虛擬機器隨筆(一)

對於新手來說,還是vmware比較好用,因為不用過多的設定。我最初使用的virtualbox,因為是開源免費的,也挺好用的。但是有一堆設定要做,比如共享資料夾,共享貼上板。vmware至少是將共享貼上板直接設定好了。但從另一方面來說,在virtualbox中,通過這些設定可以讓你更好的理解虛擬機器。...

讓KVM虛擬機器支援console功能

在工作中,我們可能都會接觸到 kvm 虛擬機器,並且公司的很多應用也都會跑在 kvm 虛擬機器上。因此,對 kvm的熟練應用,也是運維必不可少的能力之一。那麼在 kvm 的實踐過程中,我們肯定會經常去思考如何能夠更深入 更標準的實踐好 kvm。由此,就引發了很多使用經驗 技巧 今天將會介紹的是,如何...