찾다
PHP 프레임워크ThinkPHP메소드 실행이 TP 성능에 미치는 영향에 대해 논의

다음 thinkphpframework 튜토리얼 칼럼에서는 TP 실행 방법에서 수많은 파일을 도입하는 것이 성능에 미치는 영향을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

구체적인 질문:

thinkphp가 메서드를 실행할 때 왜 그렇게 많은 파일을 가져오고, 성능에 어떤 영향을 미치나요?

제목에서 알 수 있듯이 thinkphp의 특정 메소드에서는 echo 1 하나만 출력되는데, 가져올 파일이 많은 것으로 나타났습니다. 이것이 서비스에 어떤 영향을 미치나요?

대규모 동시성이 발생할 때 최적화하는 방법은 무엇입니까?

array(63) {
  [0]=>
  string(43) "{MY_SITE}/index.php"
  [1]=>
  string(52) "{MY_SITE}/thinkphp/start.php"
  [2]=>
  string(51) "{MY_SITE}/thinkphp/base.php"
  [3]=>
  string(67) "{MY_SITE}/thinkphp/library/think/Loader.php"
  [4]=>
  string(73) "{MY_SITE}/vendor/composer/autoload_namespaces.php"
  [5]=>
  string(67) "{MY_SITE}/vendor/composer/autoload_psr4.php"
  [6]=>
  string(71) "{MY_SITE}/vendor/composer/autoload_classmap.php"
  [7]=>
  string(68) "{MY_SITE}/vendor/composer/autoload_files.php"
  [8]=>
  string(80) "{MY_SITE}/vendor/symfony/polyfill-mbstring/bootstrap.php"
  [9]=>
  string(86) "{MY_SITE}/vendor/guzzlehttp/promises/src/functions_include.php"
  [10]=>
  string(78) "{MY_SITE}/vendor/guzzlehttp/promises/src/functions.php"
  [11]=>
  string(82) "{MY_SITE}/vendor/guzzlehttp/psr7/src/functions_include.php"
  [12]=>
  string(74) "{MY_SITE}/vendor/guzzlehttp/psr7/src/functions.php"
  [13]=>
  string(84) "{MY_SITE}/vendor/guzzlehttp/guzzle/src/functions_include.php"
  [14]=>
  string(76) "{MY_SITE}/vendor/guzzlehttp/guzzle/src/functions.php"
  [15]=>
  string(78) "{MY_SITE}/vendor/topthink/think-captcha/src/helper.php"
  [16]=>
  string(66) "{MY_SITE}/thinkphp/library/think/Route.php"
  [17]=>
  string(67) "{MY_SITE}/thinkphp/library/think/Config.php"
  [18]=>
  string(69) "{MY_SITE}/thinkphp/library/think/Validate.php"
  [19]=>
  string(77) "{MY_SITE}/vendor/topthink/think-helper/src/helper.php"
  [20]=>
  string(69) "{MY_SITE}/vendor/yfcmf/geetest/src/helper.php"
  [21]=>
  string(78) "{MY_SITE}/vendor/qiniu/php-sdk/src/Qiniu/functions.php"
  [22]=>
  string(75) "{MY_SITE}/vendor/qiniu/php-sdk/src/Qiniu/Config.php"
  [23]=>
  string(80) "{MY_SITE}/vendor/overtrue/wechat/src/Payment/helpers.php"
  [24]=>
  string(66) "{MY_SITE}/thinkphp/library/think/Error.php"
  [25]=>
  string(57) "{MY_SITE}/thinkphp/convention.php"
  [26]=>
  string(64) "{MY_SITE}/thinkphp/library/think/App.php"
  [27]=>
  string(68) "{MY_SITE}/thinkphp/library/think/Request.php"
  [28]=>
  string(48) "{MY_SITE}/app/config.php"
  [29]=>
  string(54) "{MY_SITE}/data/conf/config.php"
  [30]=>
  string(50) "{MY_SITE}/app/database.php"
  [31]=>
  string(65) "{MY_SITE}/thinkphp/library/think/Hook.php"
  [32]=>
  string(46) "{MY_SITE}/app/tags.php"
  [33]=>
  string(48) "{MY_SITE}/app/common.php"
  [34]=>
  string(64) "{MY_SITE}/thinkphp/library/think/Env.php"
  [35]=>
  string(53) "{MY_SITE}/thinkphp/helper.php"
  [36]=>
  string(65) "{MY_SITE}/thinkphp/library/think/Lang.php"
  [37]=>
  string(67) "{MY_SITE}/thinkphp/library/think/Cookie.php"
  [38]=>
  string(64) "{MY_SITE}/thinkphp/library/think/Log.php"
  [39]=>
  string(57) "{MY_SITE}/thinkphp/lang/zh-cn.php"
  [40]=>
  string(52) "{MY_SITE}/app/lang/zh-cn.php"
  [41]=>
  string(53) "{MY_SITE}/app/home/config.php"
  [42]=>
  string(57) "{MY_SITE}/app/home/lang/zh-cn.php"
  [43]=>
  string(61) "{MY_SITE}/app/home/controller/Bet.php"
  [44]=>
  string(62) "{MY_SITE}/app/home/controller/Base.php"
  [45]=>
  string(66) "{MY_SITE}/app/common/controller/Common.php"
  [46]=>
  string(71) "{MY_SITE}/thinkphp/library/think/Controller.php"
  [47]=>
  string(77) "{MY_SITE}/thinkphp/library/traits/controller/Jump.php"
  [48]=>
  string(65) "{MY_SITE}/thinkphp/library/think/View.php"
  [49]=>
  string(78) "{MY_SITE}/thinkphp/library/think/view/driver/Think.php"
  [50]=>
  string(69) "{MY_SITE}/thinkphp/library/think/Template.php"
  [51]=>
  string(81) "{MY_SITE}/thinkphp/library/think/template/driver/File.php"
  [52]=>
  string(66) "{MY_SITE}/thinkphp/library/think/Cache.php"
  [53]=>
  string(78) "{MY_SITE}/thinkphp/library/think/cache/driver/File.php"
  [54]=>
  string(73) "{MY_SITE}/thinkphp/library/think/cache/Driver.php"
  [55]=>
  string(68) "{MY_SITE}/thinkphp/library/think/Session.php"
  [56]=>
  string(63) "{MY_SITE}/thinkphp/library/think/Db.php"
  [57]=>
  string(79) "{MY_SITE}/thinkphp/library/think/db/connector/Mysql.php"
  [58]=>
  string(74) "{MY_SITE}/thinkphp/library/think/db/Connection.php"
  [59]=>
  string(69) "{MY_SITE}/thinkphp/library/think/db/Query.php"
  [60]=>
  string(77) "{MY_SITE}/thinkphp/library/think/db/builder/Mysql.php"
  [61]=>
  string(71) "{MY_SITE}/thinkphp/library/think/db/Builder.php"
  [62]=>
  string(66) "{MY_SITE}/thinkphp/library/think/Debug.php"
}

네티즌의 답변:

프레임워크를 사용하면 개발 효율성을 얻기 위해 본질적으로 일부 성능이 희생됩니다. TP 프레임워크는 내부 결합도가 높기 때문에 다른 프레임워크보다 성능이 좋습니다.

위에서 로드된 파일을 살펴보세요. TP5는 지연 로딩을 사용합니다. 이 방법은 3.x에 비해 성능이 상당히 향상되었습니다.

다른 하나는 캐싱입니다. TP3.X는 포함될 모든 파일을 하나의 파일로 패키징할 수 있으므로 다중 로딩을 피할 수 있습니다. 그러나 TP5에서는 템플릿이 캐시됩니다.

높은 동시성에서는 APC 사용, 하드웨어 개선, nginx 사용 등을 할 수 있습니다.

위 내용은 메소드 실행이 TP 성능에 미치는 영향에 대해 논의의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 segmentfault에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)