我使用了一个带有php:8.1.6cli的码头容器,并运行了我的laravel乘法器。当我将终端附加到容器并运行一个简单的命令php artisan inspire
时,停靠程序需要花费8秒的时间执行。
我的php.ini配置:
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Sao_Paulo
我的这个容器的Dockerfile:
FROM php:8.1.6-cli
LABEL maintainer="Crazynds"
WORKDIR /workspace
ENV DEBIAN_FRONTEND noninteractive
ENV TZ=UTC-3
ENV NODE_VERSION=16
USER root
RUN apt-get update \
&& apt-get install -y libcurl4-openssl-dev libonig-dev libzip-dev libpq-dev build-essential gnupg gosu curl zip unzip git supervisor libcap2-bin libpng-dev python2 locales \
&& mkdir -p ~/.gnupg \
&& chmod 600 ~/.gnupg
RUN php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer \
&& curl -sL https://deb.nodesource.com/setup_$NODE_VERSION.x | bash -
RUN apt-get install -y nodejs nano wget dos2unix
RUN apt-get -y autoremove \
&& apt-get clean\
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN pecl install redis && docker-php-ext-enable redis; exit 0
RUN docker-php-ext-install pdo_mysql pdo_pgsql mbstring exif pcntl curl zip gd
ENTRYPOINT ["sleep","infinity"]
我是如何找到执行php组件所需的大部分时间的问题的?有没有任何方法来检查执行过程中每一部分时间所消耗的时间?
发布于 2022-10-30 18:05:04
我找到解决办法了。使用Windows dirs挂载卷的对接程序很慢。
我的问题的解决方案是用单独的卷创建vendor
文件夹和node_modules
,而不是从Windows文件夹中挂载它们。
仅这一项就大大提高了性能,现在的响应时间约为1秒,但如果我将整个项目安装在卷上而不是文件夹上,那么速度会快得多。
https://stackoverflow.com/questions/74212313
复制相似问题