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

Ubuntu PHP測試環(huán)境中調(diào)試和分析代碼

系統(tǒng) Linux
面向?qū)ο缶幊痰闹饕康氖歉倪M(jìn)代碼質(zhì)量、可維護(hù)性和重用性,但是有時(shí)候隨之而來的代價(jià)是速度的變慢。當(dāng)我們存在一些潛在的執(zhí)行緩慢的代碼時(shí),我們不再能夠打開我們的簡單的Ubuntu PHP文件,從上到下的跟蹤它的執(zhí)行。我們怎么才能知道背后到底在怎么運(yùn)行呢?

Ubuntu PHP已被廣泛應(yīng)用但是也在不斷的更新,這里介紹Ubuntu PHP安裝設(shè)置使用,幫助大家安裝更新Ubuntu PHP系統(tǒng)。面向?qū)ο缶幊淘絹碓搅餍辛耍赨buntu PHP領(lǐng)域也不例外。所以你選擇了合適的設(shè)計(jì)模式,在***的framework上開發(fā)你的網(wǎng)站,抽象你的數(shù)據(jù)庫訪問以至于你都忘了SQL這種東西了。

接下來是什么呢?當(dāng)你開始轉(zhuǎn)向面向?qū)ο缶幊虝r(shí),撲面而來的是令人頭疼的訪問路徑問題(在你使用的framework和你寫的代碼之間)。然后你會(huì)發(fā)現(xiàn)你的網(wǎng)站并沒有變快-實(shí)際上,它更可能變得更慢。

面向?qū)ο缶幊痰闹饕康氖歉倪M(jìn)代碼質(zhì)量、可維護(hù)性和重用性,但是有時(shí)候隨之而來的代價(jià)是速度的變慢。當(dāng)我們存在一些潛在的執(zhí)行緩慢的代碼時(shí),我們不再能夠打開我們的簡單的Ubuntu PHP文件,從上到下的跟蹤它的執(zhí)行。我們怎么才能知道背后到底在怎么運(yùn)行呢?

Xdebug

Xdebug 2 (當(dāng)前還是 beta—我在用 2.0.0RC3) 是一個(gè)獨(dú)立的 Ubuntu PHP extension。它為在測試環(huán)境中調(diào)試和分析代碼提供了多種方法。這里,我們關(guān)心的是Ubuntu PHP腳本的概要分析(profiling)信息。

在你的apache/Ubuntu PHP開發(fā)環(huán)境上安裝Xdebug已經(jīng)超出了我們文章的范圍。但是我只是簡單的用’sudo pecl install xdebug-beta’,然后在Ubuntu PHP.ini中添加一行代碼就在我的Ubuntu 6.10 虛擬機(jī)上安裝好了它。

一旦你安裝好Xdebug2,下邊的代碼將為所以Ubuntu PHP接管的請求開啟“auto profiling”功能。
Ubuntu PHP_value xdebug.profiler_output_dir /tmp
Ubuntu PHP_value xdebug.profiler_output_name timestamp
Ubuntu PHP_value xdebug.profiler_enable 1
現(xiàn)在打開出現(xiàn)在/tmp目錄下的輸出文件…

WinCacheGrind

WinCacheGrind是從輸出文件獲取有用信息最簡單的辦法。它提供一個(gè)簡單的樹圖展示了Ubuntu PHP執(zhí)行中用到的class、function和filenames。最終要的是,它能告訴你每個(gè)function執(zhí)行的時(shí)間。

WinCacheGrind example(easy注:關(guān)于如何使用wincachegrind來進(jìn)行代碼優(yōu)化,可以參見我前段時(shí)間寫的《使用Xdebug優(yōu)化你的程序》)

KCachegrind

如果你在運(yùn)行KDE(在linux上或者通過fink在Mac OS X上,如果你敢的話),你可能愿意試一試 KCachegrind。它比WinCacheGrind復(fù)雜很多,但是它會(huì)把數(shù)據(jù)以一些非常有趣的方式呈現(xiàn)給你。

在這個(gè)例子中,callmap 視圖非常清晰的顯示了通過mysql_query()執(zhí)行的sql查詢花費(fèi)了最多的時(shí)間。Xdebug call map example這里我們看見了部分的callgraph,顯示了函數(shù)的交互。

(easy注:強(qiáng)烈推薦Rasmus Lerdorf的《Getting Rich with Ubuntu PHP5》,一個(gè)使用KCachegrind進(jìn)行優(yōu)化的經(jīng)典實(shí)例)

減少摩擦(原文:Grinding),增加cache想知道加速你的代碼最簡單的辦法?答案有三,Cache、Cache還是Cache。用你的新工具找出你代碼中比較慢的地方。確定慢查詢已經(jīng)用上了Mysql的Cahe。試試APC之類的Ubuntu PHP二進(jìn)制碼存儲(chǔ)。

用Memcahed緩存你的Ubuntu PHP對象。緩存你生成代碼的HTML中常見的部分。在發(fā)送頁面前緩沖整個(gè)頁面。用 Expires, ETag 和 Last-Modified HTTP headers讓用戶緩沖你的頁面。cache層越多越好。

More Xdebug

xdebug遠(yuǎn)不止輸出概要分析-我把它看成后端開發(fā)者的Firebug。我推薦每一個(gè)從事Ubuntu PHP相關(guān)開發(fā)的人在他們的測試環(huán)境下裝xdebug,即使只是為了能輸出彩色的全棧跟蹤的Ubuntu PHP錯(cuò)誤信息。從Google Summer of Code Project來看,支持即時(shí)交互的Xdebug很快就會(huì)可用了~

【編輯推薦】

  1. 概括描述Ubuntu PHP安裝測試
  2. Ubuntu Ruby在Rails應(yīng)用程序中解決內(nèi)存泄漏問題
  3. Ubuntu ruby解析器應(yīng)用程序的優(yōu)化
  4. Ubuntu ror性能優(yōu)化經(jīng)驗(yàn)與應(yīng)用的部署
  5. Ubuntu lighttpd安裝解壓縮運(yùn)行代碼
責(zé)任編輯:佚名 來源: csdn
相關(guān)推薦

2010-03-03 17:12:56

Ubuntu ASP.

2010-01-04 17:59:14

Ubuntu PHP

2010-09-10 14:48:05

2014-08-18 09:31:15

2014-08-28 15:08:35

Linux內(nèi)核

2010-01-04 17:34:15

Ubuntu gstr

2022-05-26 09:00:00

網(wǎng)站抓取Lightrun開發(fā)

2012-07-04 10:18:10

Tomcat調(diào)試代碼分析

2011-06-22 10:48:35

PHP

2009-11-18 15:05:56

PHP遞歸數(shù)組

2013-09-02 16:08:50

調(diào)試Windows

2023-05-11 08:33:17

測試和調(diào)試Python

2010-03-02 10:31:07

FirePHP調(diào)試

2011-03-10 11:04:06

Ubuntu搭建LAMP

2009-11-18 13:24:05

PHP單元素模式

2011-09-06 14:59:20

UbuntuMemcached

2009-03-30 15:52:24

Windows Emb

2017-12-19 15:42:47

Ubuntu 17.1LEMPMariaDB

2011-07-12 17:33:09

PHP

2010-07-11 00:24:50

EclipsePHPPDT
點(diǎn)贊
收藏

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