Das Beispiel in diesem Artikel beschreibt die Verwendung von asynchronem PHP-Multithread-Swoole. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
swoole definiert das leistungsstarke Netzwerkkommunikations-Framework der PHP-Sprache neu und bietet asynchrone Multithread-Dienste der PHP-Sprache. Das folgende Beispiel kann diese Funktion bestätigen.
Im Allgemeinen bietet Swoole asynchrone Multithread-Server in PHP-Sprache, asynchronen TCP/UDP-Netzwerk-Client, asynchrones MySQL, Datenbankverbindungspool, AsyncTask, Nachrichtenwarteschlange, Millisekunden-Timer, asynchrones Lesen und Schreiben von Dateien sowie asynchrones DNS query.
swoole Ich habe schon einmal davon gehört, es ist ein Artefakt, wenn es als Spieleserver verwendet wird ... Ich habe es heute ein wenig ausprobiert, eine Umgebung unter Ubuntu erstellt und es getestet
Der spezifische Testcode lautet wie folgt:
<?php class page extends Controller { function index() { $data = createModel('UserInfo')->get(12)->get(); $this->swoole->tpl->assign('data',$data); $html = $this->swoole->tpl->fetch('test.html'); $time = $this->showTime(); return $html.$time; } } shell ab -c 100 -n 1000 -k http://127.0.0.1/index/ Requests per second Time per request (mean) Time per request (mean, across all concurrent requests)
Laufmodus:
Swoole EventTCP Swoole SelectTCP Swoole BlockTCP Apache/Prefork
Einzelprozess
571,70 [#/Sek.] 174,916 [ms] 1,749 [ms] 659,01 [#/s]
151,743 [ms]
1,517 [ms]
561,24 [#/s]
178,178 [ms]
1,782
80,57
1241,083 [ms]
12,411 [ms]
4 Prozesse
1153,63 [#/Sek.]
86,683 [ms]
0,867 [ms]
1010,08 [# /sec]
99,002 [ms]
0,990 [ms]
1094,58 [#/sec]
91,359 [ms]
0,914 [ms]
Apache hat so etwas Gutes Effizienz, hinterlassen Sie einen Kommentar. Klaue. Es wird in Zukunft nützlich sein.
Ich hoffe, dass dieser Artikel für das PHP-Programmierdesign aller hilfreich sein wird.
Weitere Artikel zu PHP-Asynchron-Multithread-Swoole-Nutzungsbeispielen finden Sie auf der chinesischen PHP-Website!