Home > PHP Framework > ThinkPHP > Discuss the impact of TP executing a method on performance

Discuss the impact of TP executing a method on performance

藏色散人
Release: 2021-10-18 16:16:03
forward
1853 people have browsed it

The following thinkphp framework tutorial column will introduce to you the impact on performance of introducing so many files in the TP execution method. I hope it will be helpful to friends in need!

Specific question:

Why does thinkphp need to introduce so many files to execute a method, and what impact does it have on performance?

As the title states, a certain method in thinkphp only outputs one echo 1, and it is found that there are many files to be imported. What impact does this have on the service?

How to optimize when encountering large concurrency?

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"
}
Copy after login

Netizen replied:

Using a framework inherently sacrifices some performance to gain development efficiency. The TP framework has a high degree of internal coupling, so its performance is better than other frameworks.

Looking at the files loaded above, you should be using TP5. Lazy loading is used in TP5. This method only loads relevant class files when needed. Compared with 3.x The performance has been improved a lot.

The other is caching. TP3.X can package all the files to be included into one file, thus avoiding multiple loadings. However, in TP5, templates are cached.

Under high concurrency, you can use APC, improve the hardware, use nginx and so on.

The above is the detailed content of Discuss the impact of TP executing a method on performance. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
tp
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template