您现在的位置是:主页 > news > 廊坊网站制作建设/网站关键词优化多少钱
廊坊网站制作建设/网站关键词优化多少钱
admin2025/5/17 9:00:36【news】
简介廊坊网站制作建设,网站关键词优化多少钱,28商机网,网站你的后台管理系统用什么做Swoole 是为 PHP 开发的生产级异步编程框架。 他是一个纯 C 开发的扩展, 他允许 PHP 开发者在 PHP 中写 高性能,可扩展的并发 TCP, UDP, Unix socket, HTTP, WebSocket 服务, 而不需要拥有太多的…
Swoole 是为 PHP 开发的生产级异步编程框架。 他是一个纯 C 开发的扩展, 他允许 PHP 开发者在 PHP 中写 高性能,可扩展的并发 TCP, UDP, Unix socket, HTTP, WebSocket 服务, 而不需要拥有太多的非阻塞 I/O 编程和低级别的 Linux 内核知识。 你可以把 Swoole 想象成 NodeJS, 但对于 PHP 来说将有更高性能。
我的官方群点击进入
说到做到,700粉丝福利安排PHP进阶资料,免费获取
【社群福利】30G-PHP进阶资料,助力大家都能30K
为什么要在 Swoole 上运行 Laravel?
下图展示了 PHP 的生命周期。正如你所看到的那样,当你每次运行 PHP 脚本的时候,PHP 都需要初始化模块并为你的运行环境启动 Zend 引擎。并且将 PHP 脚本编译为 OpCodes 以便 Zend 引擎执行。
但是, 这样的生命周期需要在每次请求的时候都执行一遍。因为单个请求创建的环境在请求执行结束后会立即销毁。
换句话说, 在传统的 PHP 生命周期中, 为了脚本执行而浪费了大量的时间去创建和销毁资源。想象一下像 Laravel 这样的框架, 在每次请求中需要加载多少文件?同时也浪费了大量的 I/O 操作
因此如果我们利用 Swoole 内置一个应用级别的 Server, 并且所有脚本文件在加载一次之后便可以保存在内存中呢? 这就是为什么我们需要尝试在 Swoole 上运行 Laravel。 Swoole 可以提供强大性能而 Laravel 则可以提供优雅代码结构使用。这俩儿真是完美组合!
安装
以下是 swooletw/laravel-swoole 的主要特点:
在 Swoole 运行 Laravel/Lumen 应用
出色的性能提升至 30x
沙盒模式隔离应用程序容器
支持在 Laravel 应用中运行 WebSocket 服务器
支持 Socket.io 协议
支持 Swoole 表跨进程共享
使用 Composer 安装:
$ composer require swooletw/laravel-swoole
这个包依赖于 Swoole 。在使用这个包之前,请确保你的机器安装了正确的 Swoole 。使用下面的命令快速安装(linux):
pecl install swoole
在安装这个扩展之后,你需要编辑 php.ini 添加 extension=swoole.so。
php -i | grep php.ini # check the php.ini file locationsudo echo "extension=swoole.so" >> php.ini # add the extension=swoole.so to the end of php.iniphp -m | grep swoole # check if the swoole extension has been enabled
访问 官网 获取更多的信息。
注意:Swoole 现在只支持 Linux 和 OSX 。Windows 服务器现在还不支持。
然后,添加服务提供者:
如果你使用 Laravel ,在 config/app.php 服务提供者数组添加该服务提供者:
[ 'providers' => [ SwooleTW\Http\LaravelServiceProvider::class, ],]
如果你使用 Lumen ,请将下面的代码添加到 bootstrap/app.php:
$app->register(SwooleTW\Http\LumenServiceProvider::class);
这个包支持包自动发现机制。如果你运行 Laravel 5.5 以上版本,你可以跳过这一步。
建立并运行起来
现在,你可以执行以下的命令来启动 Swoole HTTP 服务。
$ php artisan swoole:http start
然后你可以看到以下信息:
Starting swoole http server...Swoole http server started: <http://127.0.0.1:1215>
现在可以通过访问 http://127.0.0.1:1215 来进入 Laravel 应用。
基准测试
使用 MacBook Air 13 寸(2015 年产)及干净的 Lumen 5.5 项目测试:
基准测试工具: wrk
wrk -t4 -c100 http://your.app
基于 FPM 的 Nginx
Running 10s test @ http://lumen.app:9999 4 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.14s 191.03ms 1.40s 90.31% Req/Sec 22.65 10.65 50.00 65.31% 815 requests in 10.07s, 223.65KB readRequests/sec: 80.93Transfer/sec: 22.21KB
Swoole HTTP 服务
Running 10s test @ http://127.0.0.1:1215 4 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 11.58ms 4.74ms 68.73ms 81.63% Req/Sec 2.19k 357.43 2.90k 69.50% 87879 requests in 10.08s, 15.67MB readRequests/sec: 8717.00Transfer/sec: 1.55MB
更多信息
在 Github Repo 查看官方包, 也可以参考 官方文档 获取更多信息。
大厂必备面试题
PHP经典面试题集(含答案)
面试12家公司,收获9个offer,2020年PHP 面试问题
100 个常见的 PHP 面试题和答案分享
PHP 面试遇到的问题,后期会不定期更新一下,大家也可以把认为经典的问题评论留言,感谢大家!
喜欢我的文章就关注我吧,持续更新中.....
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处。
转自链接:使用 Swoole 来加速你的 Laravel 应用 喜欢我的文章就点赞关注吧