php Asynchronous Multithreading swoole Usage Example

  • 2021-07-26 07:19:59
  • OfStack

This article illustrates the use of php asynchronous multithreading swoole. Share it for your reference. The specific analysis is as follows:

swoole redefines the high-performance network communication framework of PHP language and provides asynchronous multithreading service of PHP language. The following example can prove this function.

Generally speaking, Swoole provides asynchronous multithreaded server in PHP language, asynchronous TCP/UDP network client, asynchronous MySQL, database connection pool, AsyncTask, message queue, millisecond timer, asynchronous file read and write, asynchronous DNS query.

swoole heard before, used to do game server is an artifact … Today a little bit of feeling 1, under the ubuntu to build the environment, tested 1

The specific test code is as follows:

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

Operation mode:

Swoole EventTCP Swoole SelectTCP Swoole BlockTCP Apache/Prefork
Single process
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 Processes
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]

Under apache, there is such a good efficiency, so leave a claw. It will be easy to use in the future.

I hope this article is helpful to everyone's PHP programming.


Related articles: