自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

調(diào)優(yōu)LAMP應(yīng)用程序的5種簡單方法:使用操作碼緩存

運(yùn)維 系統(tǒng)運(yùn)維
調(diào)優(yōu)LAMP應(yīng)用程序的5種簡單方法:LAMP架構(gòu)的優(yōu)勢在于簡單、快速、價(jià)格低廉,比起.net和java來說,他更有這一方面的優(yōu)越性。在本文中,將講述的是優(yōu)化LAMP應(yīng)用程序的5項(xiàng)任務(wù),這些簡單的應(yīng)用程序?qū)⒆畲髢?yōu)化您的web應(yīng)用程序。調(diào)優(yōu)LAMP應(yīng)用程序的5種簡單方法

調(diào)優(yōu)LAMP 應(yīng)用程序的 5 種簡單方法

使用操作碼緩存、優(yōu)化 PHP 設(shè)置管理require和include、優(yōu)化數(shù)據(jù)庫、有效緩存數(shù)據(jù)

  簡介

  Wikipedia、Facebook 和 Yahoo! 等主要 web 屬性使用 LAMP 架構(gòu)來為每天數(shù)百萬的請求提供服務(wù),而 Wordpress、Joomla、Drupal 和 SugarCRM 等 web 應(yīng)用程序軟件使用其架構(gòu)來讓組織輕松部署基于 web 的應(yīng)用程序。

  該架構(gòu)的優(yōu)勢在于其簡單性。而 .NET 這樣的堆棧和 Java™ 技術(shù)可能使用大量硬件、昂貴的軟件棧和復(fù)雜的性能調(diào)優(yōu),LAMP 堆??梢赃\(yùn)行于商品硬件之上,使用開源軟件棧。由于軟件棧是一個(gè)松散的組件集,而非一個(gè)整體堆棧,性能調(diào)優(yōu)是一大挑戰(zhàn),因?yàn)樾枰治龊驼{(diào)優(yōu)每個(gè)組件。

  然而,這有幾個(gè)個(gè)簡單性能任務(wù)會對任何規(guī)模的網(wǎng)站的性能產(chǎn)生巨大的影響。在本文中,我們將探討旨在優(yōu)化 LAMP 應(yīng)用程序性能的 5 個(gè)這樣的任務(wù)。這些項(xiàng)目應(yīng)當(dāng)很少需要對您的應(yīng)用程序進(jìn)行架構(gòu)更改,使其成為***化您的 web 應(yīng)用程序所需的響應(yīng)能力和硬件需求的安全、便捷的選擇。

  使用操作碼緩存

  提高任何 PHP 應(yīng)用程序(當(dāng)然是 LAMP 中的 “P”)的性能的最簡單方式是利用一個(gè)操作碼緩存。對于我使用的任何網(wǎng)站,它是我確保存在的一項(xiàng)內(nèi)容,因?yàn)樾阅苡绊懞艽?很多時(shí)候有了操作碼緩存,響應(yīng)時(shí)間可減少一半)。但是對 PHP 不熟悉的大部分人的一個(gè)很大的疑問是,為何改進(jìn)會如此之大。答案在于 PHP 如何處理 web 請求。圖 1 概覽了 PHP 請求的流程?!?/P>

LAMP/調(diào)優(yōu)/方法

圖 1. PHP 請求

  由于 PHP 是一種解釋語言,而非 C 或 Java 等編譯語言,對每個(gè)請求執(zhí)行了 “解析-編譯-執(zhí)行” 的整個(gè)步驟。您可以看到為何這會耗時(shí)、耗資源,特別是當(dāng)腳本在請求之間很少變化時(shí)。解析和編譯腳本之后,腳本作為一系列操作碼處于機(jī)器可解析狀態(tài)。這是操作碼緩存發(fā)揮效用的地方。它作為一系列操作碼緩存這些編譯腳本,以避免為解析和編譯每個(gè)請求步驟。您將在圖 2 中看到這樣的工作流是如何運(yùn)作的。

 

LAMP/調(diào)優(yōu)/方法

圖 2. PHP 請求使用操作碼緩存

  因此當(dāng) PHP 腳本的緩存操作碼存在時(shí),我們可以跳過 PHP 請求流程的解析和編譯步驟,直接執(zhí)行緩存操作碼并輸出結(jié)果。檢查算法負(fù)責(zé)處理您可能對腳本文件進(jìn)行了更改的情況,因此在已變更腳本的***個(gè)請求后,會為隨后的請求自動重新編譯和緩存操作碼,替換緩存的腳本。

  操作碼緩存對于 PHP 流行已久,其中早期的一些要追溯到 PHP V4 的全盛期。目前有一些流行選項(xiàng)正在積極開發(fā)和使用中:

  •替代 PHP 緩存(APC)可能是 PHP ***的操作碼緩存(參見 參考資料)。它由若干核心 PHP 開發(fā)人員所開發(fā),做出了很大貢獻(xiàn),F(xiàn)acebook 和 Yahoo! 的工程師賦予了其速度和穩(wěn)定性。它還支持用于處理 PHP 請求的若干其他速度改進(jìn),包括一個(gè)用戶緩存組件,這將在本文后面探討。

  •Wincache 是主要由 Microsoft® 的 Internet Information Services (IIS) 團(tuán)隊(duì)積極開發(fā)的一個(gè)操作碼緩存,僅供在使用 IIS web 服務(wù)器的 Windows® 上使用(參見 參考資料)。開發(fā)它的主要?jiǎng)恿υ谟谑?PHP 成為 Windows-IIS-PHP 堆棧上的***開發(fā)平臺,因?yàn)閾?jù)知 APC 在該堆棧上運(yùn)作的不是很好。它在功能上非常類似于 APC,且支持一個(gè)用戶緩存組件,以及一個(gè)內(nèi)置會話處理程序,以將 Wincache 作為一個(gè)會話處理程序直接加以利用。

  •eAccelerator 是原始 PHP 緩存之一 Turck MMCache 操作碼緩存(參見 參考資料)的一個(gè)派生。不同于 APC 和 Wincache,它僅是一個(gè)操作碼緩存和優(yōu)化器,因此它不包含用戶緩存組件。它在 UNIX® 和 Windows 堆棧上完全兼容,且對于不打算利用 APC 或 Wincache 提供的其他功能的站點(diǎn)很流行。如果您要使用 memcache 這樣的解決方案來為多 web 服務(wù)器環(huán)境提供一個(gè)單獨(dú)的用戶緩存服務(wù)器,那么這就是常見情況。

  毫無疑問,一個(gè)操作碼緩存是通過在每次請求后消除解析和編譯腳本的需要來加速 PHP 的***步。完成***步之后,您應(yīng)當(dāng)看到響應(yīng)時(shí)間和服務(wù)器負(fù)載方面的改進(jìn)。但是優(yōu)化 PHP 可以做的不止這些,我們接下來將加以討論。

  本節(jié)講述的是:使用操作碼緩存、下一節(jié)講述:優(yōu)化 PHP 設(shè)置。

責(zé)任編輯:zhaolei 來源: CSDN
相關(guān)推薦

2011-03-14 09:49:39

LAMP調(diào)優(yōu)方法

2011-03-02 10:01:15

2011-03-14 09:36:36

LAMP調(diào)優(yōu)方法

2011-03-14 09:49:32

LAMP調(diào)優(yōu)方法

2011-03-14 09:36:32

2011-03-21 17:07:37

2024-11-04 11:02:56

2023-07-11 09:24:11

2022-12-29 07:33:44

Strace故障排除

2011-03-22 14:12:17

LAMP

2019-07-05 09:45:19

UbuntuLinux釋放空間

2011-03-14 13:07:22

LAMPApache調(diào)優(yōu)

2011-03-14 13:38:40

LAMPApache調(diào)優(yōu)

2021-07-07 15:01:36

平臺即服務(wù)云計(jì)算軟件開發(fā)

2021-11-02 22:46:01

Windows 11Windows微軟

2009-01-03 14:25:10

ibmdwWeb

2011-05-18 13:37:26

LINQ

2009-01-08 19:14:37

服務(wù)器應(yīng)用程序SQL Server

2010-07-28 09:25:41

jQueryJavaScript性

2009-01-08 19:11:39

服務(wù)器應(yīng)用程序SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號