一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php性能優化分析工具XDebug 大型網站調試工具

php性能優化分析工具XDebug 大型網站調試工具

2019-11-25 14:10PHP教程網 PHP教程

大型網站調試工具之一(php性能優化分析工具XDebug) ,開發php的朋友可以參考下。有助于解決php代碼的多種問題。

一、安裝配置 
  1、下載PHP的XDebug擴展,網址:http://xdebug.org/ 

  2、在Linux下編譯安裝XDebug 

引用 
tar -xzf xdebug-2.0.0RC3.gz 
cd xdebug-2.0.0RC3 
/usr/local/php/bin/phpize 
./configure --enable-xdebug 
cp modules/xdebug.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/ 

  注:/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/不同的PHP版本路徑不同,也不一定要放在該路徑,可以在zend_extension_ts中自行指定xdebug.so所在位置。 

引用 
vi /usr/local/php/lib/php.ini 

  修改php.ini,去除PHP加速模塊,增加以下配置信息支持XDebug擴展 

復制代碼代碼如下:


[Xdebug] 
zend_extension_ts="/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/xdebug.so" 
xdebug.profiler_enable=on 
xdebug.trace_output_dir="/tmp/xdebug" 
xdebug.profiler_output_dir="/tmp/xdebug" 
xdebug.profiler_output_name="script" 


引用 
mkdir -p /tmp/xdebug 
chmod 755 /tmp/xdebug 
chown www:www /tmp/xdebug 
/usr/local/apache/bin/apachectl -k restart 


  3、客戶端(Windows):WinCacheGrind 
  下載地址:http://sourceforge.net/projects/wincachegrind/ 

  二、分析過程 
  1、訪問你的網站,將首頁上各種鏈接點擊幾遍,XDebug在/tmp/xdebug目錄生成以下文件: 
  usr_local_apache_htdocs_app_checknum_chknum_php_cachegrind.out 
  usr_local_apache_htdocs_app_login_showHeaderLogin_php_cachegrind.out 
  usr_local_apache_htdocs_app_play_play_php_cachegrind.out 
  usr_local_apache_htdocs_app_user_member_php_cachegrind.out 
  usr_local_apache_htdocs_tag_tags_php_cachegrind.out 
  usr_local_apache_htdocs_top_top_php_cachegrind.out 

  2、將以上文件拷貝到Windows上,用客戶端軟件WinCacheGrind打開每個文件,發現以下PHP程序執行所耗費的時間最長: 
  /usr/local/apache/htdocs/tag/tags.php      耗時840ms 

  三、分析結果: 
  1、/usr/local/apache/htdocs/tag/tags.php 

php性能優化分析工具XDebug 大型網站調試工具

  (1)耗時最長的filter_tags函數出現在/usr/local/apache/htdocs/tag/tags.php的第158行:
  $tags .= filter_tags($videos[$i]['tags'])." ";

   (2)filter_tags函數引自/usr/local/apache/htdocs/include /misc.php,getForbiddenTags函數被filter_tags函數調用了21次,filter_tags函數耗費的時間中絕大多數 因getForbiddenTags函數所致。getForbiddenTags函數的內容如下:

復制代碼代碼如下:


function getForbiddenTags() 


$tagsPath=TEMPLATE_FILE_PATH."tags/forbidden_tags.txt"; 
if(file_exists($tagsPath)) 

$fp = fopen($tagsPath, "r"); 
$arrconf = array (); 
if ($fp) 

while (!feof($fp)) 

$line = fgets($fp, 1024); 
$line = trim($line); 
$rows = explode("#", $line); 
$coumns = explode("=", trim($rows[0])); 
if(""!=trim($coumns[0])) 

$arrconf[trim($coumns[0])] = trim($coumns[1]); 



return $arrconf; 


(4)對getForbiddenTags函數進行分析,其中的PHP函數trim被調用了16827次。
  
php性能優化分析工具XDebug 大型網站調試工具

 

  (5)可能造成瓶頸的原因:
  要過濾的156個關鍵字逐行存放在/usr/local/apache/template/tags/forbidden_tags.txt文件中,文本數據庫的效率不高。
  逐行讀取函數fgets、以及去除字符串兩邊的空白或者指定的字符的函數trim在高負載下的效率低,可以測試fopen、fread、fscanf之類的文件讀取函數,對比一下。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 无套暴躁白丝秘书 | 大叔在线观看 | 无限在线观看视频大全免费高清 | 午夜影院和视费x看 | 国产成人在线综合 | luan小说| 男女视频在线观看 | 亚洲成人国产 | 国产专区视频在线观看 | 桃色公寓 | 天作谜案免费完整版在线观看 | 九九99香蕉在线视频美国毛片 | asianfemdom妍妍女王 | 色婷婷综合久久久中文字幕 | 久久受www免费人成_看片中文 | 视频一区 日韩 | 欧美 亚洲 一区 | 无码毛片内射白浆视频 | 国产亚洲自愉自愉 | 国产精品亚洲w码日韩中文 国产精品香蕉在线观看不卡 | 五月婷婷俺来也 | 99精品视频在线观看re | 含羞草国产亚洲精品岁国产精品 | 天天操天天射天天色 | 女bbbbxxx孕妇 | 国产特黄一级一片免费 | 四虎免费在线观看视频 | 爱情岛论坛自拍永久入口 | 丝袜白浆 | 亚洲国产精品自在现线让你爽 | re99热| 日本一卡=卡三卡免费 | 日韩欧美国产在线 | 黄a级| 小草视频免费观看在线 | 青春草视频在线免费观看 | 草逼视频网站 | 国产成人精品在线观看 | 欧美一区不卡二区不卡三区 | 91久久99热青草国产 | 精品久久久久久国产 |