Heim  >  Artikel  >  php教程  >  Beispiel für die Verwendung von PHP asynchronem Multithread-Swoole

Beispiel für die Verwendung von PHP asynchronem Multithread-Swoole

高洛峰
高洛峰Original
2016-12-21 13:39:582487Durchsuche

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(&#39;UserInfo&#39;)->get(12)->get();
        $this->swoole->tpl->assign(&#39;data&#39;,$data);
        $html = $this->swoole->tpl->fetch(&#39;test.html&#39;);
        $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!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn