Heim >PHP-Framework >Laravel >Leistungswettbewerb zwischen laravel9 und laravels!

Leistungswettbewerb zwischen laravel9 und laravels!

藏色散人
藏色散人nach vorne
2022-11-28 16:14:452383Durchsuche

Vorwort: Kürzlich möchte ich Swoole verwenden, um Websocket auszuprobieren. Ich weiß nicht, ob die Leistung von Laravel9 gut optimiert ist das von laravels~

Laradock installiert swoole

Leistungswettbewerb zwischen laravel9 und laravels!

Nach der praktischen Bedienung ist ein Problem aufgetreten:
Leistungswettbewerb zwischen laravel9 und laravels!

Da die ursprüngliche PHP-Version 7.4 ist, müssen Sie die .env-Datei ändern und wechseln Version auf 8.0 und höher (Laravels erfordert, dass PHP während der Installation 8.1 ist, daher ist es immer noch auf Version 8.1 eingestellt):
Leistungswettbewerb zwischen laravel9 und laravels!

Nachdem der Build-Befehl erneut ausgeführt wurde, war er erfolgreich. [Empfohlen: laravel-Video-Tutorial]

Überprüfungsergebnisse:
Leistungswettbewerb zwischen laravel9 und laravels!

Konfigurieren des Laravel-HTTP-Servers

1. Installieren Sie das Laravel-Projekt

Es gibt viele Tutorials, hier können Sie sich darauf beziehen: Laravel 9 chinesische Dokumentation - Installation

Basierend auf einer Umgebung mit installiertem Docker

curl -s "https://laravel.build/laravel9" | bashCopy
2. Laravels-Konfiguration veröffentlichen

composer require hhxsv5/laravel-sCopy

Anleitung: Die Projektcodes Der Site entsprechend sind /var/www/laravel9/public

(1) Konfigurieren Sie den http-Server von Laravels
php artisan laravels publishCopy
Hinweis: Das Laravels-Projekt muss der .env-Datei unter dem Laravel9-Projekt die folgende Konfiguration hinzufügen:

upstream laravels {
    # Connect IP:Port
    server workspace:5200 weight=5 max_fails=3 fail_timeout=30s;
    keepalive 16;
}
server {
    listen 80;

    server_name swoole.test;
    root /var/www/laravel9/public;
    index index.php index.html index.htm;

    # Nginx 处理静态资源,LaravelS 处理动态资源
    location / {
        try_files $uri @laravels;
    }

    location @laravels {
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Real-PORT $remote_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header Scheme $scheme;
        proxy_set_header Server-Protocol $server_protocol;
        proxy_set_header Server-Name $server_name;
        proxy_set_header Server-Addr $server_addr;
        proxy_set_header Server-Port $server_port;
        proxy_pass http://laravels;
    }

    error_log /var/log/nginx/swoole_test_error.log;
    access_log /var/log/nginx/swoole_test_access.log;
}

(2) Konfigurieren Sie die normale Laravel-Projekt-Site

LARAVELS_LISTEN_IP=workspace
LARAVELS_DAEMONIZE=trueCopy
(3) Lokale Host-Konfiguration

server {

    listen 80;
    listen [::]:80;

    # For https
    # listen 443 ssl;
    # listen [::]:443 ssl ipv6only=on;
    # ssl_certificate /etc/nginx/ssl/default.crt;
    # ssl_certificate_key /etc/nginx/ssl/default.key;

    server_name laravel.test;
    root /var/www/laravel9/public;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass php-upstream;
        fastcgi_index index.php;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fixes timeouts
        fastcgi_read_timeout 600;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    location /.well-known/acme-challenge/ {
        root /var/www/letsencrypt/;
        log_not_found off;
    }

    error_log /var/log/nginx/laravel_error.log;
    access_log /var/log/nginx/laravel_access.log;
}
(4) Erstellen Sie den Container neu

127.0.0.1 swoole.test127.0.0.1 laravel.testCopy

(5) Betreten Sie den Workspace-Container, um Laravels zu starten Geben Sie den Containerbefehl ein: der gleiche Projektcode

1. Die Gesamtzahl der Anfragen beträgt 100 und die Anzahl der gleichzeitigen Anfragen beträgt 10 (swoole links, laravel9 rechts):

Leistungswettbewerb zwischen laravel9 und laravels!

2 1000 und die Anzahl der gleichzeitigen Anfragen beträgt 20 (swoole links, laravel9 rechts);

Der Unterschied ist nicht offensichtlich. Manchmal sind die Ergebnisse von laravel9 sogar besser als ein Umsturz
Originaladresse: https://learnku.com/articles/73575

Das obige ist der detaillierte Inhalt vonLeistungswettbewerb zwischen laravel9 und laravels!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen