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

資訊專欄INFORMATION COLUMN

使用 Swoole 來加速你的 Laravel 應用

snifes / 1098人閱讀

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

Swoole?是為 PHP 開發的生產級異步編程框架。 他是一個純 C 開發的擴展, 他允許 PHP 開發者在 PHP 中寫 高性能,可擴展的并發 TCP, UDP, Unix socket, HTTP, WebSocket 服務, 而不需要擁有太多的非阻塞 I/O 編程和低級別的 Linux 內核知識。 你可以把?Swoole?想象成 NodeJS, 但對于 PHP 來說將有更高性能。

為什么要在 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 location
sudo echo "extension=swoole.so" > php.ini  # add the extension=swoole.so to the end of php.ini
php -m | grep swoole                       # check if the swoole extension has been enabled
訪問?官網?獲取更多的信息。

注意:Swoole 現在只支持 Linux 和 OSX 。Windows 服務器現在還不支持。

然后,添加服務提供者:

如果你使用?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
基于 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 read
Requests/sec:     80.93
Transfer/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 read
Requests/sec:   8717.00
Transfer/sec:      1.55MB
更多信息

在?Github Repo 查看官方包, 也可以參考?官方文檔?獲取更多信息。

更多現代化 PHP 知識,請前往 Laravel / PHP 知識社區

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

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

相關文章

  • 使用 Swoole 加速 Laravel

    摘要:因為為單個請求創建的環境將在請求過程完成后立即銷毀。可以成為強大的性能增強器,提供了優雅的結構和代碼使用方式。你可以使用此命令快速安裝它,并訪問官方網站獲取更多信息。注意目前僅支持和。服務器不能使用。基準測試使用進行干凈的測試。 Swoole 是針對PHP的生產級異步編程框架。它是一種用純C語言編寫的PHP擴展,它使PHP開發人員能夠在PHP中編寫高性能,可擴展的并發TCP,UDP,U...

    didikee 評論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
  • 使用swoole改造laravel應用

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

    cpupro 評論0 收藏0
  • PHP相關

    摘要:的機器學習庫的機器學習庫,包括算法交叉驗證神經網絡等內容。在即將到來的大會上,她將和大家分享在機器學習領域的全新可能。入門總結入門相關,如安裝配置基本使用等。 基于 Swoole 開發 PHP 擴展 Swoole-1.9.7 增加了一個新特性,可以基于 Swoole 使用 C++ 語言開發擴展模塊,在擴展模塊中可以注冊 PHP 內置函數和類。現在可以基于 Swoole 來編寫 PHP ...

    lewinlee 評論0 收藏0

發表評論

0條評論

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