laravel的速度令人怀疑(新的应用程序,默认情况下一切都是如此)

wgx48brx  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(243)

我使用Windows10(WSL2)。我的硬件是:
intel(r)core(tm)i7-9750h cpu@2.60ghz 2.60ghz ram 8.00gb ssd
实际上,如果你有兴趣,这是一款游戏笔记本电脑(msi gl 65 95ck)。
我决定安装laravel,查阅文档并实施了描述的步骤:
在wsl终端中(我使用ubuntu)
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash cd example-app && /vendor/bin/sail up 我打开浏览器,发现主页几乎花了1秒才呈现出来!有时甚至两秒钟!

我想,“好吧,也许框架处于未优化的模式。调试等”,并决定转向 APP_DEBUG 在里面 .envfalse . 我还删除了所有路线,改为: Route::get('/', [\App\Http\Controllers\TestController::class, 'test']); 在此之前,我创建了 TestController :

class TestController extends Controller
{
    public function test() {
        return response()->json([
            'name' => 'Abigail',
            'state' => 'CA',
        ]);
    }
}

然后我就跑 php artisan optimaze ,在浏览器中打开 http://localhost/api 结果是一个巨大的悲哀:

为什么是800毫秒?我什么也没做。好的,我决定把这个名字重命名 index.php 归档 public 文件夹到 index2 例如,放一个新的 index.php 使用阵列打印只是为了测试这是一个laravel问题还是一个基础设施问题。
新的 index.php :

好多了!然后我想,“让我们与另一个框架进行比较,例如.NETCore”。我做了一个非常简单的WebAPI项目。控制器:

namespace MockWebApi.Controllers
{
    [ApiController]
    [Route("")]
    public class MainController : ControllerBase
    {
        [Route("test")]
        public IActionResult Test()
        {
            return Ok(new
            {
                Test = "hello world!!!"
            });
        }
    }
}

结果是:

好的,你可以说这是一种编译语言。我决定使用node.js和express进行检查:
代码:

router.get('/', function(req, res, next) {
  res.json({"test": "123"})
});

结果:

如您所见,在本例中,node的速度与c#一样快。
那么,拉拉维尔怎么了?我在安装过程中遗漏了什么吗?

更新

我没有帆就扬起了拉威尔。我的docker撰写文件:

version: '3'
services:
  php-fpm:
    build:
      context: docker/php-fpm
    volumes:
      - ./:/var/www
    networks:
      - internal

  nginx:
    build:
      context: docker/nginx
    volumes:
      - ./:/var/www
    ports:
      - "80:80"
    depends_on:
      - php-fpm
    networks:
      - internal

networks:
  internal:
    driver: bridge

nginx dockerfile:

FROM nginx

ADD ./default.conf /etc/nginx/conf.d/default.conf

WORKDIR /var/www

nginx配置:

server {
    listen 80;
    index index.php;
    server_name 127.0.0.1 localhost;
    root /var/www/public;

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

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php-fpm:9000;
        fastcgi_index index.php;
        fastcgi_read_timeout 1000;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

php fpm dockerfile:

FROM php:7.4-fpm

RUN apt-get update && apt-get install -y wget git unzip \
    && apt-get install libpq-dev -y 

RUN wget https://getcomposer.org/installer -O - -q \
    | php -- --install-dir=/bin --filename=composer --quiet

RUN groupadd -r -g 1000 developer && useradd -r -u 1000 -g developer developer

USER developer
WORKDIR /var/www

我的表现没有得到任何改善(

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题