網路應用程式的效能受許多因素的影響。資料庫訪問,檔案系統操作,網路頻寬等都是潛在的影響因素。 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)!

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP在現代化進程中仍然重要,因為它支持大量網站和應用,並通過框架適應開發需求。 1.PHP7提升了性能並引入了新功能。 2.現代框架如Laravel、Symfony和CodeIgniter簡化開發,提高代碼質量。 3.性能優化和最佳實踐進一步提升應用效率。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP中使用clone關鍵字創建對象副本,並通過\_\_clone魔法方法定制克隆行為。 1.使用clone關鍵字進行淺拷貝,克隆對象的屬性但不克隆對象屬性內的對象。 2.通過\_\_clone方法可以深拷貝嵌套對象,避免淺拷貝問題。 3.注意避免克隆中的循環引用和性能問題,優化克隆操作以提高效率。

PHP適用於Web開發和內容管理系統,Python適合數據科學、機器學習和自動化腳本。 1.PHP在構建快速、可擴展的網站和應用程序方面表現出色,常用於WordPress等CMS。 2.Python在數據科學和機器學習領域表現卓越,擁有豐富的庫如NumPy和TensorFlow。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

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

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具