Rumah >rangka kerja php >Swoole >Mengapa menjalankan Laravel di Swoole?

Mengapa menjalankan Laravel di Swoole?

青灯夜游
青灯夜游ke hadapan
2022-04-26 09:54:533237semak imbas

Mengapa menjalankan Laravel pada Swoole? Kerana menggunakan Swooole boleh mempercepatkan aplikasi Laravel. Artikel berikut akan bercakap dengan anda tentang cara menggunakan Laravel pada Swoole saya harap ia akan membantu anda!

Mengapa menjalankan Laravel di Swoole?

Swoole ialah rangka kerja pengaturcaraan tak segerak gred pengeluaran yang dibangunkan untuk PHP. Ia adalah sambungan dibangunkan C semata-mata yang membolehkan pembangun PHP menulis perkhidmatan TCP serentak, UDP, soket Unix, HTTP dan WebSocket berprestasi tinggi, berprestasi tinggi, dan rendah dalam PHP tanpa perlu mempunyai terlalu banyak pengaturcaraan I/O yang tidak menyekat -pengetahuan kernel Linux peringkat. Anda boleh menganggap Swoole sebagai NodeJS, tetapi dengan prestasi yang lebih tinggi untuk PHP. [Pembelajaran yang disyorkan: tutorial swoole]

Mengapa menjalankan Laravel pada Swoole?

Rajah berikut menunjukkan kitaran hayat PHP. Seperti yang anda lihat, setiap kali anda menjalankan skrip PHP, PHP perlu memulakan modul dan memulakan enjin Zend untuk persekitaran masa jalan anda. Dan susun skrip PHP ke dalam OpCodes untuk pelaksanaan enjin Zend.

Walau bagaimanapun, kitaran hayat sedemikian perlu dilaksanakan setiap kali permintaan dibuat. Kerana persekitaran yang dicipta oleh satu permintaan akan dimusnahkan serta-merta selepas permintaan itu dilaksanakan.

Dalam erti kata lain, dalam kitaran hayat PHP tradisional, banyak masa terbuang untuk mencipta dan memusnahkan sumber untuk pelaksanaan skrip. Bayangkan rangka kerja seperti Laravel, berapa banyak fail yang perlu dimuatkan dalam setiap permintaan Pada masa yang sama, banyak operasi I/O terbuang

Mengapa menjalankan Laravel di Swoole?

Jadi jika kita menggunakan? Swole untuk membina Pelayan peringkat Aplikasi, dan semua fail skrip boleh disimpan dalam ingatan selepas dimuatkan sekali? Inilah sebabnya kita perlu mencuba menjalankan Laravel pada Swoole. Swoole boleh memberikan prestasi yang berkuasa manakala Laravel boleh menyediakan penggunaan struktur kod yang elegan. Sungguh kombinasi yang sempurna! Aplikasi

Prestasi cemerlang meningkat kepada 30xBekas aplikasi pengasingan mod kotak pasir

Sokongan menjalankan pelayan WebSocket dalam aplikasi Laravelswooletw/laravel-swoole

Disokong
    Protokol
  • menyokong perkongsian jadual Swoole merentas proses
  • Gunakan Komposer untuk memasang:
  • Pakej ini bergantung pada Swoole. Sebelum menggunakan pakej ini, pastikan mesin anda mempunyai Swoole yang betul dipasang. Gunakan arahan berikut untuk memasang (linux) dengan cepat:
  • Socket.io
  • Selepas memasang sambungan ini, anda perlu mengedit php.ini dan menambah
  • .

Lawati laman web rasmi untuk maklumat lanjut.
$ composer require swooletw/laravel-swoole

Nota: Swoole pada masa ini hanya menyokong Linux dan OSX. Pelayan Windows belum disokong lagi.

pecl install swoole

Kemudian, tambah penyedia perkhidmatan: extension=swoole.so

Jika anda menggunakan Laravel, tambah penyedia perkhidmatan dalam
php -i | grep php.ini                      # check the php.ini Mengapa menjalankan Laravel di Swoole? 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
tatasusunan penyedia perkhidmatan:

Jika anda menggunakan Lumen, sila tambah kod berikut pada

:

Pakej ini menyokong mekanisme auto-penemuan pakej. Jika anda menjalankan Laravel 5.5 atau lebih tinggi, anda boleh melangkau langkah ini.

config/app.php

[
    'providers' => [
        SwooleTW\Http\LaravelServiceProvider::class,
    ],
]
Bangun dan jalankan

bootstrap/app.php

Sekarang, anda boleh melaksanakan arahan berikut untuk memulakan perkhidmatan HTTP Swoole.
$app->register(SwooleTW\Http\LumenServiceProvider::class);

Kemudian anda boleh melihat mesej berikut:

Anda kini boleh memasuki aplikasi Laravel dengan mengakses .

Ujian penanda aras

$ php artisan swoole:http start

Menggunakan MacBook Air 13-inci (dihasilkan pada 2015) dan ujian projek Lumen 5.5 yang bersih:

Alat ujian penanda aras: wrk
Starting swoole http server...
Swoole http server started: <http://127.0.0.1:1215>

http://127.0.0.1:1215

Nginx berdasarkan FPM


wrk -t4 -c100 http://your.app
Perkhidmatan HTTP Swoole

Maklumat lanjut

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
Lihat pakej rasmi dalam

Github Repo, atau rujuk Dokumentasi Rasmi untuk mendapatkan maklumat lanjut.

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
Alamat asal bahasa Inggeris: https://laravel-news.com/laravel-swoole?

[Cadangan berkaitan: tutorial video laravel]

Atas ialah kandungan terperinci Mengapa menjalankan Laravel di Swoole?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:learnku.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam