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

Leistungswettbewerb zwischen laravel9 und laravels!

藏色散人
Freigeben: 2022-11-28 20:41:10
nach vorne
2317 Leute haben es durchsucht

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
Nach dem Login kopieren
2. Laravels-Konfiguration veröffentlichen

composer require hhxsv5/laravel-sCopy
Nach dem Login kopieren

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

(1) Konfigurieren Sie den http-Server von Laravels
php artisan laravels publishCopy
Nach dem Login kopieren
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;
}
Nach dem Login kopieren

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

LARAVELS_LISTEN_IP=workspace
LARAVELS_DAEMONIZE=trueCopy
Nach dem Login kopieren

(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;
}
Nach dem Login kopieren
(4) Erstellen Sie den Container neu

127.0.0.1 swoole.test127.0.0.1 laravel.testCopy
Nach dem Login kopieren

(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!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage