Heim  >  Artikel  >  PHP-Framework  >  Besprechen Sie die Auswirkungen der Ausführung einer Methode durch TP auf die Leistung

Besprechen Sie die Auswirkungen der Ausführung einer Methode durch TP auf die Leistung

藏色散人
藏色散人nach vorne
2021-10-18 16:15:481829Durchsuche

Die folgende thinkphpFramework-Tutorial-Kolumne stellt Ihnen die Auswirkungen der Einführung so vieler Dateien in die TP-Ausführungsmethode vor. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!

Spezifische Frage:

Warum importiert thinkphp beim Ausführen einer Methode so viele Dateien und welche Auswirkungen hat das auf die Leistung?

Wie der Titel besagt, gibt eine bestimmte Methode in thinkphp nur ein Echo 1 aus und es wurde festgestellt, dass viele Dateien importiert werden müssen. Welche Auswirkungen hat dies auf den Dienst?

Wie kann man bei großer Parallelität optimieren?

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"
}

Netizen antwortete:

Die Verwendung eines Frameworks führt zwangsläufig zu Leistungseinbußen, um die Entwicklungseffizienz zu steigern. Das TP-Framework verfügt über einen hohen Grad an interner Kopplung, sodass seine Leistung besser ist als bei anderen Frameworks.

Wenn Sie sich die oben geladenen Dateien ansehen, sollten Sie TP5 verwenden, um relevante Klassendateien nur dann zu laden, wenn sie benötigt werden.

Das andere ist das Caching. TP3.X kann alle einzubindenden Dateien in einer Datei packen und so Mehrfachladevorgänge vermeiden. In TP5 werden Vorlagen jedoch zwischengespeichert.

Bei hoher Parallelität können Sie APC verwenden, Hardware verbessern, Nginx verwenden usw.

Das obige ist der detaillierte Inhalt vonBesprechen Sie die Auswirkungen der Ausführung einer Methode durch TP auf die Leistung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen