ltrace 도구를 사용하여 PHP 라이브러리 함수 호출을 추적하는 방법_php 팁

WBOY
풀어 주다: 2016-05-16 19:53:45
원래의
1066명이 탐색했습니다.

이 기사의 예에서는 ltrace 도구를 사용하여 PHP 라이브러리 함수 호출을 추적하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

아마도 여러분은 이미 strace를 사용하여 시스템 호출을 추적하는 데 익숙할 것입니다. 오늘은 라이브러리 기능 추적을 위한 강력한 도구인 ltrace를 소개합니다.

예를 들어 다음과 같은 PHP 코드가 있습니다

test.php:

<&#63;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;
 }
&#63;>

로그인 후 복사

ltrace -c /usr/local/php/bin/php test.php(-c는 요약을 의미함)

다음 출력이 표시됩니다.

% time   seconds usecs/call   calls   function
------ ----------- ----------- --------- --------------------
95.02  7.417240     368   20146 strtol
2.15  7.160390     413   17316 memcpy
1.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 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!