Yii框架官方指南系列52-專題:效能調整
網路應用程式的效能受許多因素的影響。資料庫訪問,檔案系統操作,網路頻寬等都是潛在的影響因素。 Yii 已在各方面減少框架帶來的效能影響。但是在用戶的應用中仍有許多地方可以被改善來提高效能。
1. 開啟 APC 擴充
啟用 PHP APC 擴充 可能是改善一個應用整體效能最簡單的方式。此擴充功能快取和最佳化 PHP 中間程式碼並避免時間花費再為每個新來的請求解析PHP腳本。
2. 停用偵錯模式
禁用偵錯模式是另一個改善效能的容易方式。若常數 YII_DEBUG
被定以為 true,這個 Yii 應用將以調試模式運作。 調試模 式在開發階段是有用的,但是它影響性能因為一些組件引起額外的系統開銷。例如,資訊記錄器(the message logger)將為 被筆被記錄的資訊記錄額外的偵錯資訊。
3. 使用 yiilite.php
當啟用 PHP APC 擴充 時, 我們可以將 yii.php
替換為另一個名為 yiilite. 。
yiilite.php 包含在每個 Yii 發布中。它是一些常用到的 Yii 類別文件的合併文件。在文件中,註釋和追蹤語句都被移除。因此,使用
yiilite.php 將減少被引用的檔案數量並避免執行追蹤語句。
yiilite.php 而不開啟 APC 實際上將降低效能,因為
yiilite.php 包含了一些不是每個請求都必須的類別,這將花費額外的解析時間。 同時也要注意,在一些伺服器設定下使用
yiilite.php 將更慢,即使 APC 被開啟。 最好使用示範中的
hello world 執行基準程式來決定是否使用
yiilite.php。
SELECT 查詢更快, 但它會讓
INSERT,
UPDATE 或
DELETE 查詢更慢。
SELECT 查詢中使用
LIMIT 。這將避免從資料庫中取出過多的資料 並耗盡為 PHP 分配的記憶體。
Note: 下方所述的
scriptMap
特徵已自版本 1.0.3 起支援。
首先,透過設定應用元件 clientScript 的 scriptMap 屬性來宣告腳本被最小化。 可以在應用程式配置中完成,也可以在程式碼中配置。例如,
$cs=Yii::app()->clientScript; $cs->scriptMap=array( 'jquery.js'=>'/js/all.js', 'jquery.ajaxqueue.js'=>'/js/all.js', 'jquery.metadata.js'=>'/js/all.js', ...... );
上面的程式碼所做是映射這些 JavaScript 檔案到 URL /js/all.js
。 如果這些 JavaScript 檔案任何之一需要被一些元件引入, Yii 將會引入這個 URL (一次) 而不是各個獨立的腳本檔案。
其次,我們需要使用一些工具來聯合 (和壓縮) JavaScript 文件為一個單獨的文件,並保存為 js/all.js
。
相同的技巧也適用於 CSS 檔案。
在 Google AJAX Libraries API 幫助下我們可以改善頁面載入速度。例如,我們可以從 Google 的伺服器引入jquery.js
而不是從我們自己的伺服器。要這樣做, 我們首先配置 scriptMap
如下,
$cs=Yii::app()->clientScript; $cs->scriptMap=array( 'jquery.js'=>false, 'jquery.ajaxqueue.js'=>false, 'jquery.metadata.js'=>false, ...... );
透過映射(map)這些腳本檔案為 false,我們阻止 Yii 引入這些檔案的程式碼。作為替代,我們在頁面中編寫如下程式碼直接從Google 引入文件,
<head> <?php echo CGoogleApi::init(); ?> <?php echo CHtml::script( CGoogleApi::load('jquery','1.3.2') . "\n" . CGoogleApi::load('jquery.ajaxqueue.js') . "\n" . CGoogleApi::load('jquery.metadata.js') ); ?> ...... </head>
以上就是Yii框架官方指南系列52——專題:性能調整的內容,更多相關內容請關注PHP中文網(www. php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Yii是一款基於PHP的高效能MVC框架,它提供了非常豐富的工具和功能,支援快速、有效率地開發Web應用程式。其中,Yii框架的RESTfulAPI功能得到了越來越多開發者的關注和喜愛,因為使用Yii框架可以非常方便地構建出高性能、易擴展的RESTful接口,為Web應用的開發提供了強有力的支持。 RESTfulAPI簡介RESTfulAPI是一種基於

如何最佳化和調整Linux系統的核心參數以提高效能摘要:Linux作業系統是世界上最受歡迎的作業系統之一,具有強大的效能和靈活的配置選項。本文介紹如何透過最佳化和調整Linux系統的核心參數來提高效能。從理解核心參數的含義開始,將探討常見的效能調優技巧,包括記憶體管理、磁碟IO、網路和調度器等方面。透過這些最佳化和調整,使用者可以更好地利用Linux系統,提升工作效率

Yii框架中間件:為應用程式提供多重資料儲存支援介紹中間件(middleware)是Yii框架中的重要概念,它為應用程式提供了多重資料儲存支援。中間件的作用類似於一個過濾器,它能夠在應用程式的請求和回應之間插入自訂程式碼。透過中間件,我們可以對請求進行處理、驗證、過濾,然後將處理後的結果傳遞給下一個中間件或最終的處理程序。 Yii框架中的中間件使用起來非常

隨著Web應用程式的快速發展,現代Web開發已成為一項重要技能。許多框架和工具可用於開發高效的Web應用程序,其中Yii框架就是一個非常流行的框架。 Yii是一個高效能、基於元件的PHP框架,它採用了最新的設計模式和技術,提供了強大的工具和元件,是建立複雜Web應用程式的理想選擇。在本文中,我們將討論如何使用Yii框架來建立Web應用程式。安裝Yii框架首先,

使用Yii框架實現網頁快取和頁面分塊的步驟引言:在Web開發過程中,為了提升網站的效能和使用者體驗,常常需要對頁面進行快取和分塊處理。 Yii框架提供了強大的快取和佈局功能,可以幫助開發者快速實現網頁快取和頁面分塊,本文將介紹如何使用Yii框架進行網頁快取和頁面分塊的實作。一、網頁快取開啟網頁快取在Yii框架中,可以透過設定檔來開啟網頁快取。開啟主設定檔co

近年來,隨著遊戲產業的快速發展,越來越多的玩家開始尋找遊戲攻略來幫助遊戲過關。因此,創建遊戲攻略網站可以讓玩家更方便取得遊戲攻略,同時也能為玩家提供更好的遊戲體驗。在創建這樣一個網站時,我們可以使用Yii框架來進行開發。 Yii框架是一個基於PHP程式語言的Web應用開發框架。它具有高效、安全、擴展性強等特點,可以為我們更快速、高效地創建一個遊戲攻略

Yii框架中間件:為應用程式新增日誌記錄和偵錯功能【引言】在開發Web應用程式時,我們通常需要添加一些附加功能以提高應用程式的效能和穩定性。 Yii框架提供了中間件的概念,使我們能夠在應用程式處理請求之前和之後執行一些額外的任務。本文將介紹如何使用Yii框架的中間件功能來實作日誌記錄和除錯功能。 【什麼是中間件】中間件是指在應用程式處理請求之前和之後,對請求和回應做

在Yii框架中,控制器(Controllers)扮演著處理請求的重要角色。除了處理常規的頁面請求之外,控制器還可以用於處理Ajax請求。本文將介紹在Yii框架中處理Ajax請求的方法,並提供程式碼範例。在Yii框架中,處理Ajax請求可以透過以下步驟進行:第一步,建立一個控制器(Controller)類別。可以透過繼承Yii框架提供的基礎控制器類別yiiwebCo
