Heim  >  Artikel  >  Backend-Entwicklung  >  Asf PHP-Entwicklungskonfigurationsinformationen, die im Systemspeicher vorhanden sind

Asf PHP-Entwicklungskonfigurationsinformationen, die im Systemspeicher vorhanden sind

藏色散人
藏色散人nach vorne
2019-11-22 10:11:162172Durchsuche

Vergleich zwischen traditionellem MVC und Asf

Traditionelles MVC-Framework

Die Konfigurationsdatei wird bei jeder Anfrage neu geladen. Auch wenn der Inhalt der Konfigurationsdatei nicht aktualisiert wurde, wird er neu geladen. Das ist ein sehr schlechtes Design. (Wenn Opcache aktiviert ist, verbleibt noch Zeit für den Ausführungsprozess)

Asf-Framework

Der Inhalt der gelesenen Konfigurationsdatei wird im Systemspeicher gespeichert und die Die nächste Anfrage geht direkt. Daten aus dem Speicher lesen. Asf bietet auch eine sehr einfache Konfigurationsimplementierung, den Config Cache.

In welchen Szenarien ist es angebracht, den Konfigurationscache zu aktivieren?

● Es wird empfohlen, ihn in Webanwendungsszenarien zu aktivieren

● Die Aktivierung im CLI- und Multithread-Modus wird ebenfalls wirksam, mit der Ausnahme, dass das PHP-Skript bei jeder Ausführung freigegeben wird

● Unterstützte Datentypen sind: Zeichenfolgen, Arrays, Ganzzahlen, boolesche Werte , doubles, floats, null

Flussdiagramm

Asf PHP-Entwicklungskonfigurationsinformationen, die im Systemspeicher vorhanden sind

Caching-Methode aktivieren

<?php
ini_set(&#39;asf.cache_config_enable&#39;, 1); /* 开启配置文件缓存 */
ini_set(&#39;asf.cache_config_expire&#39;, 300); /* 设置缓存多少秒之后过期, 300 seconds by default */

Rahmeneintrag zum Laden der PHP/INI-Konfigurationsdatei

<?php
define(&#39;APP_PATH&#39;, dirname(__DIR__));
/* 缓存 config.ini 文件 */
$app = new Asf\Application(APP_PATH . &#39;/config/config.ini&#39;);
$app->run();

AsfConfigPhp lädt die PHP-Konfigurationsdatei

<?php
$conf_php =  new Asf\Config\Php(CONFIG_PATH . &#39;/config.db.php&#39;);

AsfConfigIni lädt die INI-Konfigurationsdatei

<?php
$conf_ini =  new Asf\Config\Ini(CONFIG_PATH . &#39;/config.redis.ini&#39;);

Methode zum Lesen des Konfigurationsinhalts

<?php
print_r(Asf\Application::getInstance()->getConfig()->toArray());
print_r(Asf\Config::get()->toArray());

Leistungstest

● Bei aktiviertem Opcache ein einfacher Konfigurationscache Leistungstest wurde durchgeführt, ab -c100 -n10000

● Es besteht ein direkter Zusammenhang zwischen der Komplexität der Konfigurationselemente in der Konfigurationsdatei und Leistungsindikatoren

Cache aktivieren asf.cache_config_enable = 1

Total transferred:      16109994 bytes
HTML transferred:       14259994 bytes
Requests per second:    6859.01 [#/sec] (mean)
Time per request:       14.579 [ms] (mean)
Time per request:       0.146 [ms] (mean, across all concurrent requests)

Kein Cache

Total transferred:      16080000 bytes
HTML transferred:       14230000 bytes
Requests per second:    6398.22 [#/sec] (mean)
Time per request:       15.629 [ms] (mean)
Time per request:       0.156 [ms] (mean, across all concurrent requests)

Tipps

Cache Config basiert nicht auf Shared Memory, das ist es basierend auf dem PHP-Prozess, und es wird kein Problem mit der Sperrung des gemeinsam genutzten Speichers auftreten.

Empfohlen: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonAsf PHP-Entwicklungskonfigurationsinformationen, die im Systemspeicher vorhanden sind. 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