性能怪兽swoole,碾压传统web运行方式
传统的php运行方式是nginx+apache/php-fpm,这种方式比较消耗资源,一段php脚本在执行前要经过nginx处理、apache处理、文件io读取、语法解析、创建数据库连接等一系列的过程,消耗了太多的资源,在php请求脚本运行完后,这些资源又全部释放,好处就是内存不会泄露,坏处就是资源重新加载失败,浪费资源,在高并发下会出现力不从心。
那么swoole扩展是c语言编写的一个php扩展,实现了udp、tcp、websocket等协议,内置了这些协议的服务器,完全摆脱apache及php-fpm,在phpcli模式下运行,一旦运行,所有的文件都会被加载进内存,所有的数据库缓存连接创建后会一直存在,不会回收,大大的提升了并发量,降低了资源的消耗。
我们看看数据对比,直接是apache和php-fpm的7倍
运行方式 |
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] |
那么如何安装swoole呢
我们以centos为例,执行下面的命令
pecl install swooleswoole实现了http、tcp、udp等协议,直接使用
http服务器
<?php $http = new swoole_http_server("127.0.0.1", 9501); $http->on("start", function...
点击查看剩余70%
网友评论0