Rumah  >  Artikel  >  rangka kerja php  >  Persaingan prestasi antara laravel9 dan laravels!

Persaingan prestasi antara laravel9 dan laravels!

藏色散人
藏色散人ke hadapan
2022-11-28 16:14:452269semak imbas

Kata Pengantar: Saya baru-baru ini ingin menggunakan swoole untuk mencuba websocket Saya baru sahaja memasang dan menguji prestasi laravel dan swoole. Saya tidak tahu sama ada prestasi laravel9 dioptimumkan dengan baik hampir sama dengan laravel~

Laradock dipasang swoole

Persaingan prestasi antara laravel9 dan laravels!

Saya menghadapi masalah selepas operasi hands-on: | masih ditetapkan kepada versi 8.1):
Persaingan prestasi antara laravel9 dan laravels!

Laksanakan semula Perintah binaan berjaya. [Disyorkan:
tutorial video laravelPersaingan prestasi antara laravel9 dan laravels!]

Hasil pengesahan:


Konfigurasikan pelayan http laravelPersaingan prestasi antara laravel9 dan laravels!

1. Pasang projek laravel Terdapat banyak tutorial, di sini anda boleh rujuk:

Laravel 9 Chinese Documentation - Installation

Berdasarkan persekitaran di mana docker berada dipasang

2. Pasang laravel
curl -s "https://laravel.build/laravel9" | bashCopy

3 🎜>
composer require hhxsv5/laravel-sCopy
4 Konfigurasikan tapak

Arahan: Kod projek yang sepadan dengan tapak ialah/var/www/laravel9/public

(1) Konfigurasi laravels' http pelayan
php artisan laravels publishCopy

Nota: Projek laravels perlu menambah konfigurasi berikut pada fail .env di bawah projek laravel9:

(2) Konfigurasikan tapak projek laravel biasa
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;
}

(3) Konfigurasi hos setempat
LARAVELS_LISTEN_IP=workspace
LARAVELS_DAEMONIZE=trueCopy

(4) Bina semula bekas
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;
}

127.0.0.1 swoole.test127.0.0.1 laravel.testCopy

(5) Masukkan bekas ruang kerja dan mulakan laravel
docker-compose stop
docker-compose build workspace nginx
docker-compose up -d redis mysql nginx workspaceCopy
Masukkan arahan bekas:

Persaingan prestasi antara laravel9 dan laravels!

Keputusan ujian prestasi AB
docker exec -it d4940755a928 /bin/bashCopy

Persaingan prestasi antara laravel9 dan laravels!Tumpuan teras ialah bilangan permintaan sesaat (Permintaan sesaat)

Mereka semuanya berdasarkan persekitaran LaradockBerkongsi Kod projek yang sama

  • 1 Jumlah permintaan ialah 100, dan bilangan permintaan serentak ialah 10 (swole di sebelah kiri. , laravel9 di sebelah kanan):
  • 2 Jumlah permintaan Nombornya ialah 1000, dan bilangan konkurensi ialah 20 (swole di sebelah kiri, laravel9 di sebelah kanan);


Perbezaannya tidak jelas, malah kadangkala laravel9 mempunyai hasil yang lebih baik. ~Persaingan prestasi antara laravel9 dan laravels!

Alamat asal: https://learnku.com/articles. /73575

Atas ialah kandungan terperinci Persaingan prestasi antara laravel9 dan laravels!. 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