溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在php中使用swoole實現(xiàn)一個異步多線程

發(fā)布時間:2021-03-04 16:25:35 來源:億速云 閱讀:319 作者:Leah 欄目:開發(fā)技術

今天就跟大家聊聊有關如何在php中使用swoole實現(xiàn)一個異步多線程,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

php有什么用

php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因為php是開源的,從而使得php經(jīng)久不衰。

swoole重新定義PHP語言的高性能網(wǎng)絡通信框架,提供了PHP語言的異步多線程服務,下面的實例就可以證實這一功能。

一般來說,Swoole提供了PHP語言的異步多線程服務器,異步TCP/UDP網(wǎng)絡客戶端,異步MySQL,數(shù)據(jù)庫連接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢.

swoole以前聽過, 拿來做游戲服務器簡直是神器…今天稍微的感受了一下,  在 ubuntu 下搭建了環(huán)境, 測試了一下

具體測試代碼如下:

復制代碼 代碼如下:

<?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)

運行方式:

Swoole EventTCP Swoole SelectTCP Swoole BlockTCP Apache/Prefork
單進程
571.70 [#/sec] 174.916 [ms] 1.749 [ms] 659.01 [#/sec]
151.743 [ms]
1.517 [ms]
561.24 [#/sec]
178.178 [ms]
1.782
80.57
1241.083 [ms]
12.411 [ms]
4進程
1153.63 [#/sec]
86.683 [ms]
0.867 [ms]
1010.08 [#/sec]
99.002 [ms]
0.990 [ms]
1094.58 [#/sec]
91.359 [ms]
0.914 [ms]

看完上述內容,你們對如何在php中使用swoole實現(xiàn)一個異步多線程有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI