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

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

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之類的文件讀取函數,對比一下。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲444777KKK在线观看 | 午夜影院在线免费观看 | 亚洲H成年动漫在线观看不卡 | 九九久久国产精品大片 | 91aaa免费免费国产在线观看 | 国产青草视频在线观看免费影院 | 久久这里都是精品 | 小浪妇奶真大水多 | 精品国产品香蕉在线观看 | 日本加勒比在线播放 | 果冻传媒天美传媒网址入口 | b站免费 | 亚洲毛片基地4455ww | 男老头澡堂gay老头456 | 男女羞羞的视频 | 末发育xxxxx仙踪林 | 国产精品成人va在线观看 | 欧美成人一区二区三区 | 暖暖视频高清图片免费完整版 | 91成人爽a毛片一区二区 | 2012年免费中文视频 | 日本一区二区三区国产 | 福利片免费一区二区三区 | 国产精品免费综合一区视频 | 国产精品一区二区三 | 王淑兰与铁柱全文免费阅读 | 114毛片免费观看网站 | 好大夫在线个人空间 | 亚洲品质自拍视频网站 | 5x社区在线观看直接进入 | 日本黄色高清视频网站 | jj视频免费 | 日本在线视频网 | 亚洲高清国产拍精品动图 | 脱女学小内内摸出水网站免费 | 亚洲精品国偷拍自产在线观看蜜臀 | 99国产牛牛视频在线网站 | 99re热这里只有精品视频 | 亚洲 欧美 国产 视频二区 | 国产午夜成人无码免费看 | 亚洲成人国产精品 |