apc確實能為php加速(apcu php)

本文目錄一覽:

怎樣提高php運行速度

有很多方面可以下手…以下是本人大致了解的….

資料庫操作是 php 項目性能的瓶頸所在, 多數情況下, php慢, 都是因為在等待資料庫響應

PHP每次版本發布, 基本都會涉及到性能的優化, 及時升級php也是一個手段 (需要注意代碼的兼容性)

使用加速擴展, 例如: apc, opcache 等. 該類擴展緩存了腳本文件解析編譯生成的opcode.

php是跑在 zend vm 上的, 在php執行的流程中, 需要載入腳本文件, 然後做詞法語法解析, 然後再編譯生成opcode, 接著執行. 緩存opcode 就是為了重複載入, 解析, 編譯的過程, 從而起到加速php的作用.

其它就是編碼上功夫了,  這需要一個經驗的累積.

淺談如何提高PHP的速度

1、代碼優化

代碼優化不僅僅是寫出乾淨和清晰的代碼,而是對代碼進行一定的簡化。可以使用Zend Optimizer來自動幫助完成這些繁雜的工作。Zend Optimizer可以從Zend Technologies的網站免費得到,但必須同意它的許可約定,因為它不是以GPL方式發行的。它的原理很簡單,即通過檢測Zend引擎產生的中間代碼,並對它進行優化,從而獲得更高的執行速度。

在使用了Zend Optimizer後,複雜的PHP源程序的執行效率馬上會得到顯著提高,缺點是優化後的代碼可讀性下降,給代碼修改帶來困難。

Zend Optimizer的安裝方法非常簡單,只要根據用戶使用的平台,下載相關的預編譯版本,把下面2行代碼加入到php.ini文件中,重新啟動Web 伺服器就行了:

zend_optimizer.optimization_level=15

zend_extension=″/path/to/ZendOptimizer.so″

zend_loader.enable=Off

額外增加的第三行代碼是可選的,因為禁用zend_loader將會使優化速度更快。需要注意的是,只有在不使用Zend Encoder Runtime的時候,才可以禁用zend_loader。

2、使用緩存

如果PHP程序的規模很大,那麼提高速度的辦法就是使用緩存。現在已經有許多緩存方案可供選擇,其中包括Zend Cache、APC和Afterburner Cache。

上面這幾種都是「緩存模塊」(caching modules)。第一次調用PHP文件時,緩存模塊從PHP源代碼生成一些中間代碼,並把這些中間代碼存儲在Web伺服器的內存中。以後再調用這些文件時,就可以直接使用內存中「編譯」過的代碼。這種方法確實能夠改善應用的性能,因為它使得磁碟訪問量減低到了最少的程度(代碼已經讀取和解析),代碼直接在內存中運行,使得伺服器響應請求的速度大大提高。

當然,緩存模塊還會監視PHP源文件的變化,必要時會重新緩存頁面,從而防止用戶得到的頁面仍舊由過時的PHP代碼生成。由於緩存模塊能夠明顯地降低伺服器的負載,提高PHP應用的響應效率,因此它們非常適合於負載較大的網站使用。

Zend Cache是Zend Technologies公司開發的商業軟體。在第一次運行後,PHP頁面的運行速度立刻會有很大的提高,伺服器的空閑資源也更多了。缺點是它不是免費的,但性價比還是很高的。

Afterburner Cache是Bware Technologies公司開發的免費緩存模塊。功能與Zend Cache基本一樣,但提高性能方面比不上Zend Cache。

APC(Alternative PHP Cache)是由Community Connect公司開發的另一種免費緩存模塊,目前版本是2.0.4,可以從獲得。對於產品應用來說,它的性能很穩定,而且也能在很大程度上提高響應請求的速度。

問下問下

一般英文簡寫APC:Advanced Process Control

一:醫學領域的APC

1.復方阿司匹林.由阿司匹林,非那西丁和咖啡因製成的一種解熱陣痛葯.[英aspirin,phenacetin and caffeine compound的縮寫形式]

2.現已知輔佐細胞在機體的免疫應答過程中起著十分重要的作用,能攝取、加工、處理抗原並將抗原信息提呈給T淋巴細胞,故又稱為抗原提呈細胞(antigen-presenting cell,APC)。

二:軍事領域的APC

1.APC Armored Personnel Carrier(人員裝甲運輸車):步兵戰鬥車,是一輛全天候、全地形的輕型裝甲載具,具有在戰場上迅速移動軍火和運輸部隊的能力。

2.APC Armor Piercing Capped (被帽穿甲彈):和穿甲彈類似,主要區別是帶頭部加了一個帽子(這樣可以部分防止彈體碎裂或跳彈),其他原理相同,但是只有在高攻角(60到70度)是才能發揮威力,角度較低就不要使用了。破甲彈版本是APCHE。

三:計算機領域的APC

1.Alternative PHP Cache (APC)是一種對PHP有效的開放源高速緩衝儲存器工具,它能夠緩存opcode的php中間碼。

2.APC:高級PC組態,在WINCC建立的高級PC組態中,實現對整個S7項目中涉及的每個對象,如PLC WINCC站進行管理,無論那個站都含有一個實際的站還有一個虛擬的站,還要對相關的站時間建立通訊連接.

3..APC (Automatic Power Control) 自動功率控制。

Adaptive Predictive Coding自適應預測編碼

四:生活領域的APC

[編輯本段]1.經濟學

APC的經濟學定義:平均消費傾向 (average propensity to consume)

平均每單位收入中消費所佔比例。

計算:總消費在總收入中所佔比例=消費/收入=c/y

APC1,消費總量收入總量(產生儲蓄);

APC=1,把全部收入都用於消費(儲蓄為零);

APC1,消費總量大於收入總量(負債消費,即產生負儲蓄)。

例:收入100元中80元用於消費

平均消費傾向APC = c/y = 0.8

[編輯本段]2.電力公司

.美國電力轉換公司(尼克松訪華時送給中國的國禮之一—APC UPS)

公司概況

創立於1981年的APC公司(美國電力轉換公司,NASDAQ:APCC)是全球領先的網路關鍵物理基礎設施(NCPI)全線產品提供商。其總公司位於美國羅得島州西金斯敦。APC一直致力於為用戶提供高可靠的電力保護環境,並以傳奇般的可靠性聞名於世,其質量、創新技術以及對數據中心到桌面系統等全套設備的支持都已成為業界的標準。APC的產品範圍包括:浪涌抑制器、不間斷電源設備(UPS)、直流電源系統、機房用空調、電纜及連接解決方案、高可用可升級式數據中心系統結構、整體機房物理環境解決方案、電力調節設備、相關的設備管理軟體,以及為「不間斷網路」提供的專業諮詢服務。APC全方位的解決方案既適用於企業環境,也充分滿足家庭的需要,極大地改善了敏感電子設備、網路、通訊和各類工業設備的性能、可管理性、可用性。

特點和優勢:

全球一體化方案 – 全球用戶都可以方便快捷地獲得APC的「最佳」電源系統、管理和服務解決方案,無論是桌面系統,還是數據中心或是企業,都可以得到可靠的服務與保障;財政力量 – APC連續增長的銷售額和收入,使得APC成為IT界活躍的合作夥伴;有效的生產機制 – 在全球主要地區設立了生產基地,從而能夠及時為其各地用戶提供最新產品;- 革新性的產品 APC的硬體設計滿足了用戶的真正要求;INFRASTRUXURE™(英飛集成系統)

APC公司通過推出最新的InfraStruXure系統結構,倡導了一種開放式、可自適應的綜合解決方案,重新定義了網路關鍵物理基礎設施(NCPI)的實現規則。InfraStruXure彌補了傳統的支持IT設備的電源、製冷設備在技術上與先進的IT設備之間的差距。作為採用模塊化、高可管理性、預先設計標準組件的方法集成了電源、機架、製冷設備的體系結構,InfraStruXure為整個IT系統提供了安全、可靠的保護環境。

APC公司使命

APC的使命是通過迅速地開發和提交解決客戶真正問題的創新解決方案來改進信息和通訊系統的可管理性、可用性和性能,使客戶滿意。

遍布全球的力量

APC總部位於美國羅得島州西金斯敦,公司在世界各地設有銷售機構,在美國、愛爾蘭、瑞士、菲律賓、中國、印度、巴西設有製造工廠,產品行銷全球120多個國家。

APC歷史

1981年,美國麻省理工學院林肯實驗室的三位電力工程師合力創辦了APC公司,當時是專註於太陽能的研究與開發;1984年,APC公司注意到不間斷電源市場的潛力,並且結合自身的技術優勢,開始專門生產UPS產品,並推出了其第一種不間斷電源(UPS)750型。1988年7月,APC公司正式成為公開上市公司,從而獲得了保證其業務發展的充足資金。股票發行代碼為APCC。1998年APC在收購了大型UPS供應商Silcon公司後,完成了由原先的小型UPS領導廠商到「端到端」電源保護解決方案供應商的轉變。2000年,其營業收入達到創紀錄的14.8億美元,繼續保持全球最大的UPS供應商地位。2006年,APC再次入選「財富1000強」、福布斯 「白金級企業400強」、「金融時代500強」排行榜,並成為「SP500強」、「納斯達克100強」企業。

關鍵應用領域

今天,APC將業務重心放在了四個關鍵應用領域:

家用辦公網路;

商業網路

接入供應商網路

大型數據中心及設施

這四個領域都有一個共同的主題:高可用性是不斷提升的根本。APC在這四個領域中不斷努力使自己成為全球的優質品牌。

APC所獲榮譽與獎項

在過去的幾年中,APC已經在全世界獲得了數百個獎項。遠遠多於其它同類廠商。這些獎項是對APC在可靠解決方案和全面業務增長方面的肯定和褒獎。APC被列為「財富1000強」、福布斯 「白金級企業400強」、「福布斯500強」之列,並成為「SP500強」、「納斯達克100強」企業。

如DNF塔25層的十猛龍APC

五:網路遊戲的APC

APC: 非同步過程調用 Asyncroneus Procedure Call

APC 也就是有AI的NPC 類似玩家可創建的角色,人工智慧怪物,新版本新出的,智能怪(相當於3D遊戲中的移動NPC) APC對於很多國內玩家也許是一個陌生的詞語,但是對於很多HF,RF玩家來說它 可並不陌生,APC怪物不但存在於那恐怖的死亡之塔中,就連一般的副本中也存 在著,APC秒人能力絕對不亞於BOSS,甚至有過之而無不及,很多APC都會在玩家 心目中留下陰影,他們的強大程度,可以說除非有過硬的技術否則,在同等級下 還是盡量別去招惹他們比較實在。 而提到APC我們就不得不提死亡之塔了,這是一個每隔幾層就有APC守護的地方,他們的實力非常強,而且完全不同於玩家,APC與玩家不同的地方非常多,比如APC街霸的扔道具速度非常 快並且沒有什麼間隔,不小心就滿屏幕盤子,還有他們的網束縛幾率是100%的,並且出招極 快,一不小心就被打到了,他們有著很多玩家才有的技能,而且很多都是沒有CD的,看到這裡, 你了解APC的可怕了吧,而且這只是開始而已。 假如你把那些APC只是當作一般的人型怪物那你就錯了,APC有著非常好的跑位和智慧,知道什 么時候會用什麼技能,包括連招上,一些比較厲害的APC比起普通的玩家有過之而無不及,一些 技術比較弱的玩家也可以利用APC提升自己的技術,在拿我練的街頭舉例吧,一些街頭APC的扯抓,XX針XX拍磚連QJ連的非常好,看到你跳躍或者跑位有漏洞也會馬上出網,網住就是針磚QJ,一直PK的玩家肯定知道被網針磚QJ是什麼感覺吧?APC也會這樣,所以,千萬不要小看APC,一不小心你就會送命。 相信很多玩家都知道覺醒技能,而覺醒也是很多玩家秒殺怪物甚至BOSS的利器之一,而覺醒的威力之大,讓很多玩家會去想著完成那極難的覺醒任務,而APC們也不甘示弱,部分APC也會覺醒,而且威力非常可怕,絕對不亞於玩家打出的傷害,一不小心就被秒殺了,假如全吃的話就更毫無疑問的只能被KO了,所以千萬別以為只有自己才會覺醒哦。 看到這裡相信大家對APC有所了解了吧,也許有些玩家會說,那些東西還早著呢,我們接觸不到, 放心,隨著GF的新ACT誕生,APC也會隨著誕生,所以不要以為那些東西離我們很遠,已經很近很近了, 也希望玩家在與APC的較量中能夠輕鬆獲得勝。

哪種php加速器最靠譜APC,XCache,eAccelerator

這些加速器統稱Opcode Cache,全部都支持opcode cache功能,性能差距也不大,zhao yi說得對,哪個用在你的項目中沒問題就先用著哪個。

除opcode cache外,人們也經常用他們的變數緩存功能(與memcached不一樣,apc/eac/xcache他們是存在本地內存里的,免去了網路開銷,更快),早期的eac不支持變數緩存,後來支持了。xcache是中國人作品,幾乎跟apc功能一樣。

此外,08年的時候,我們曾經遭遇APC Bomb問題,據國外社區說xcache在這個問題上表現好一點,後來我們用另外的方法搞定了,沒有測試數據表明是不是xcache好一點。

PHP中4個加速,緩存擴展的區別和選用建議

1、eAccelerator

eAccelerator是一個自由開放源碼PHP加速器,優化和動態內容緩存,提高了PHP腳本的緩存性能,使得PHP腳本在編譯的狀態下,對伺服器的開銷幾乎完全消除。 它還有對腳本起優化作用,以加快其執行效率。使PHP程序代碼執效率能提高1-10倍。從文字上可以理解為:eAccelerator是PHP加速器擴展。

2、memcached

Memcached 是一個高性能的分散式內存對象緩存系統,用於動態Web應用以減輕資料庫負載。它通過在內存中緩存數據和對象來減少讀取資料庫的次數,從而提供動態、資料庫驅動網站的速度。從文字上可以理解為:內存緩存擴展,並且針對於集群伺服器使用較多,主要用於分散式緩存,算是資料庫緩存。

3、Alternative PHP Cache(APC緩存)

Alternative PHP Cache (APC緩存)是一種對PHP有效的開放源高速緩衝儲存器工具,他能夠緩存Opcode(目標文件)的PHP中間碼。 APC的緩存分兩部分:系統緩存和用戶數據緩存. 系統緩存 是自動使用的,是指APC把PHP文件源碼的編譯結果緩存起來,然後在再次調用時先對比時間標記。如果未過期,則使用緩存代碼運行。默認緩存 3600s(一小時).但是這樣仍會浪費大量CPU時間.因此可以在php.ini中設置system緩存為永不過期(apc.ttl=0).不過如果這樣設置,改運PHP代碼後需要restart一下您的web伺服器(比如apache…).目前對APC的性能測試一般指的是這一層cache;從文字上理到:Alternative PHP Cache(APC緩存)也算是一種內存緩存擴展,算是資料庫緩存擴展。

4、Xcache

是一個開源的opcode緩存器/優化器, 他能夠提高伺服器上的PHP性能,他通過把編譯PHP後的數據緩衝到共享內存從而避免重複的編譯過程, 能夠直接使用緩衝區已編譯的代碼從而提高速度. 通常能夠提高您的頁面生成速率2到5倍, 降低伺服器負載。 其實它與eAccelerator一樣是PHP加速器擴展。

以上就是他們的作用與區別,簡單一點就是:eAccelerator,xcache是PHP緩存擴展,memcached、APC緩存是資料庫緩存擴展,一般兩者只有要安裝其中一個即可,不要貪多。另外,實際測試中發現當Cache數量超過一定閥值的時候,APC的性能不如Memcache。所以在擴展的選擇上,本人一般會選擇xcache+memcached這個組合。

有那些場景應用下,我們只能選用memcache而不選擇php apc?

APC 的緩存分兩部分:系統緩存和用戶數據緩存.

系統緩存:是自動使用的,是指 APC 把 PHP 文件源碼的編譯結果緩存起來,然後在再次

調用時先對比時間標記。如果未過期,則使用緩存代碼運行。

這個也是我最欣賞的地方,給PHP加速很多!!!

用戶數據緩存:由用戶在編寫 php 代碼時用 apc_store 和 apc_fetch 函數操作讀取、寫

入的.如果量不大的話我建議可以使用一下.如果量大,我建議使用 memcache 會更好。

因為apc隨著數據量增大, 性能下降明顯, 在超過8萬條後, 性能低於Memcache

但是在CLI模式下運行, apc性能穩定, 60萬條數據一直遠超memcache

我知道也就這麼多了,歡迎交流~

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128955.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:25
下一篇 2024-10-03 23:25

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台伺服器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種資料庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論