国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用 Swoole 加速 Laravel

didikee / 548人閱讀

摘要:因為為單個請求創建的環境將在請求過程完成后立即銷毀。可以成為強大的性能增強器,提供了優雅的結構和代碼使用方式。你可以使用此命令快速安裝它,并訪問官方網站獲取更多信息。注意目前僅支持和。服務器不能使用。基準測試使用進行干凈的測試。

Swoole 是針對PHP的生產級異步編程框架。它是一種用純C語言編寫的PHP擴展,它使PHP開發人員能夠在PHP中編寫高性能,可擴展的并發TCP,UDP,Unix套接字,HTTP,WebSocket服務,而無需太多的非阻塞I/O編程和Linux內核知識。 你可以將Swoole想象成NodeJS,但是對于PHP來說,性能更高。

為什么要在Swoole上運行Laravel

下圖說明了PHP中的生命周期。 正如你所看到的,當你每次運行php腳本時,PHP都需要初始化模塊并為你的運行環境啟動Zend Engine。 并且你的PHP腳本需要編譯為OpCodes以供Zend Engine執行。

但是,這個生命周期需要在每個請求中重復一遍。因為為單個請求創建的環境將在請求過程完成后立即銷毀。

換句話說,在傳統的PHP生命周期中,它浪費了大量時間為腳本執行構建和銷毀資源。 想象一下像 Laravel 這樣的框架,需要為一個請求加載多少個文件? 加載文件也有很多I/O消耗。

那么如果我們在Swoole之上有一個內置的服務器,并且所有的腳本可以在第一次加載后保存在內存中呢? 這就是我們試圖在Swoole上運行Laravel的原因。 Swoole可以成為強大的性能增強器,Laravel提供了優雅的結構和代碼使用方式。 這是一個完美的組合!

安裝

以下是 swooletw/laravel-swoole 的主要特點:

在Swoole上運行 Laravel/Lumen 應用程序

卓越的性能提升至 30倍

沙箱模式隔離應用程序容器

支持在Laravel中運行WebSocket服務器

支持Socket.io協議

支持Swoole表進行跨進程數據共享

使用Composer安裝:

composer require swooletw/laravel-swoole -vvv
這個軟件包依賴于Swoole。請確保你的機器具有Swoole擴展。你可以使用此命令快速安裝它:pecl install swoole,并訪問官方網站獲取更多信息。
注意:Swoole目前僅支持Linux和macOS。 Windows服務器不能使用Swoole。

然后,添加服務提供者:

如果你使用的是Laravel,請將服務提供者添加到 config/app.php 中提供者的數組中:

[
    "providers" => [
        SwooleTWHttpLaravelServiceProvider::class,
    ],
]

如果您使用的是 Lumen,請將以下代碼附加到 bootstrap/app.php:

$app->register(SwooleTWHttpLumenServiceProvider::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 上訪問你的Laravel應用程序。

基準測試

使用MacBook Air 13,2015進行干凈的Lumen 5.5測試。

基準測試工具:wrk

wrk -t4 -c100 http://your.app
Nginx with FPM
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 read
Requests/sec:     80.93
Transfer/sec:     22.21KB
Swoole HTTP Server
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 read
Requests/sec:   8717.00
Transfer/sec:      1.55MB
更多

查看 Github Repo 和官方文檔獲取更多信息。

原文地址,請前往 PHPCasts

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30730.html

相關文章

  • 使用 Swoole加速你的 Laravel 應用

    摘要:是為開發的生產級異步編程框架。因為單個請求創建的環境在請求執行結束后會立即銷毀。可以提供強大性能而則可以提供優雅代碼結構使用。在使用這個包之前,請確保你的機器安裝了正確的。建立并運行起來現在,你可以執行以下的命令來啟動服務。 showImg(https://segmentfault.com/img/bVbaF89?w=1240&h=634); Swoole?是為 PHP 開發的生產級異...

    snifes 評論0 收藏0
  • 了解swoole運行模式,加速laravel應用

    摘要:負責解釋執行文件生成響應,最終返回給,展現至前端。相比于傳統架構,進程模型最大的特點在于其多線程模式處理網絡請求,使得其能輕松應對大量連接。這要求開發人員對于多進程的運行模式有更清晰的認識更容易內存泄露。 一、SwooleSwoole號稱重新定義了PHP,它是一個PHP擴展,使得PHP可以使用異步的方式執行,就像node一樣,而且還能使用socket,為PHP提供了一系列異步IO、事件...

    時飛 評論0 收藏0
  • 使用Swoole加速Laravel(正式環境中)

    摘要:如需要支持熱啟動,請自行谷歌,大概原理就是用監控文件變更,如果更新了重啟如果正式環境中還可以自己寫個部署腳本,后重啟服務等,方法很多不一一列舉。 1 Laravel的速度瓶頸在哪? 1.1 已有的一些優化方法 1.1.1 laravel官方提供了一些優化laravel的優化方法 php artisan optimize php artisan config:cache php arti...

    vibiu 評論0 收藏0
  • LaravelS - 基于Swoole加速Laravel/Lumen - 帶你飛

    LaravelS

    Jeff 評論0 收藏0
  • 使用swoole改造laravel應用

    摘要:使用改造應用標簽空格分隔概述介紹是為開發的生產級異步編程框架。然后你可以看到以下信息現在可以通過訪問來進入應用。 使用swoole改造laravel應用 標簽(空格分隔): php 1. 概述 1.1 swoole介紹 Swoole 是為 PHP 開發的生產級異步編程框架。 他是一個純 C 開發的擴展, 他允許 PHP 開發者在 PHP 中寫 高性能,可擴展的并發 TCP, UDP,...

    cpupro 評論0 收藏0

發表評論

0條評論

didikee

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<