使用ltrace工具跟蹤PHP庫函數調用的方法,ltrace庫函數_PHP教程

來源:互聯網
上載者:User

使用ltrace工具跟蹤PHP庫函數調用的方法,ltrace庫函數


本文執行個體講述了使用ltrace工具跟蹤PHP庫函數調用的方法。分享給大家供大家參考,具體如下:

可能大家已經很熟悉使用strace來跟蹤系統調用,今天介紹一個跟蹤庫函數的利器ltrace

比如我有這麼一段PHP代碼

test.php:

<?php $y = '1380'; $arr = array(); for($i = 0; $i < 2000; $i ++){   $arr[] = "{$i}"; //故意用引號包起來設成字串 } for($i = 0; $i < 2000; $i ++){   if(!in_array($y, $arr)) continue; }?>

ltrace -c /usr/local/php/bin/php test.php (-c表示匯總)

會看到輸出如下:

% time   seconds usecs/call   calls   function------ ----------- ----------- --------- --------------------95.02  7.417240     368   20146 strtol2.15  7.160390     413   17316 memcpy1.63  5.522641     240   22966 free 0.67  2.275374   2275374     1 curl_global_cleanup 0.54  2.235466     617   3618 __ctype_tolower_loc 0.16  2.123547    1194   1778 strrchr 0.17  1.532224     67   22836 malloc 0.29  0.382083     67   5678 strlen

可以看到 strtol幾乎用去了執行時間的95.02%,瓶頸就找出來了。及PHP會在in_array()測試時試圖將字串行數字轉換為long,這會耗費大量時間。所以只要將字串都轉換為整形即可大幅度提高效率。

ltrace真心是個好工具

希望本文所述對大家PHP程式設計有所協助。

http://www.bkjia.com/PHPjc/1123841.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1123841.htmlTechArticle使用ltrace工具跟蹤PHP庫函數調用的方法,ltrace庫函數 本文執行個體講述了使用ltrace工具跟蹤PHP庫函數調用的方法。分享給大家供大家參考,具體...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.