程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Laravel API 调用的 Docker 响应时间慢 Docker 响应时间大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Laravel API 调用的 Docker 响应时间慢 Docker 响应时间?

开发过程中遇到Laravel API 调用的 Docker 响应时间慢 Docker 响应时间的问题如何解决?下面主要结合日常开发的经验,给出你关于Laravel API 调用的 Docker 响应时间慢 Docker 响应时间的解决方法建议,希望对你解决Laravel API 调用的 Docker 响应时间慢 Docker 响应时间有所启发或帮助;

Docker 响应时间

有谁知道为什么使用 docker 时响应时间长达 1500 毫秒?

Laravel API 调用的 Docker 响应时间慢
      
    Docker 响应时间

Laravel API 调用的 Docker 响应时间慢
      
    Docker 响应时间

当我在本地机器上运行时,它只有大约 200 毫秒,这是合理的

Laravel API 调用的 Docker 响应时间慢
      
    Docker 响应时间

Laravel API 调用的 Docker 响应时间慢
      
    Docker 响应时间

我的 docker-compose.yml 文件

version: "3.4"

networks:
    BACkend:
        driver: brIDge

services:
  MysqL:
    image: MysqL:8.0
    container_name: MysqL
    restart: unless-stopped
    ports:
      - 3307:3306
    environment:
      - MysqL_ROOT_password=securerootpassword
      - MysqL_DATABASE=${DB_DATABASE}
      - MysqL_USER=${DB_USERnamE}
      - MysqL_password=${DB_password}
    networks:
      BACkend:
        aliases:
          - db-network

  app: 
    container_name: laravel_app
    build:
        context: .
        dockerfile: ./docker/8.0/php/Dockerfile
        args:
            WWWGROUP: '1000'
    ports:
        - '${APP_PORT:-80}:80'
    networks:
      BACkend:
        aliases:
          - laravel-app-network
    volumes:
        - '.:/var/www/HTML' # trIEd - '.:/var/www/HTML:cached' same results
    depends_on:
        - MysqL

我的docker/8.0/php/Dockerfile

FROM ubuntu:21.04

USER root

ARG WWWGROUP

workdir /var/www/HTML

ENV DEBIAN_FRONTEND noninteractive
ENV TZ=UTC

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update && apt-get install -y \
        libpng-dev \
        zlib1g-dev \
        libxml2-dev \
        libzip-dev \
        libonig-dev \
        zip \
        curl \
        unzip \
        webp \
        gnupg \
        gosu \
        ca-certificates \
        git \
        supervisor \
        libcap2-bin \
        python3

RUN mkdir -p ~/.gnupg \
        && chmod 600 ~/.gnupg \
        && echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf \
        && apt-key adv --homedir ~/.gnupg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E5267A6C \
        && apt-key adv --homedir ~/.gnupg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C300EE8C

RUN echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu hirsute main" > /etc/apt/sources.List.d/ppa_ondrej_php.List \
       && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
       && echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.List.d/yarn.List \
       && curl -sL https://deb.nodesource.com/setup_16.x | bash -

RUN apt-get update && apt-get install -y php8.0-cli php8.0-dev \
       php8.0-pgsql php8.0-sqlite3 php8.0-gd \
       php8.0-curl php8.0-memcached \
       php8.0-imap php8.0-MysqL php8.0-mbString \
       php8.0-xml php8.0-zip php8.0-bcmath php8.0-soap \
       php8.0-intl php8.0-readline php8.0-pcov \
       php8.0-msgpack php8.0-igbinary php8.0-ldap \
       php8.0-redis php8.0-swoole
       
RUN php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer

RUN apt-get install -y nodeJs \
        && npm install -g npm

RUN apt-get install -y MysqL-clIEnt

RUN setcap "cap_neT_Bind_service=+ep" /usr/bin/php8.0

RUN groupadd --force -g $WWWGROUP sail
RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail

copY ./docker/8.0/start-container /usr/local/bin/start-container
copY ./docker/8.0/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
copY ./docker/8.0/php.ini /etc/php/8.0/cli/conf.d/99-sail.ini
RUN chmod +x /usr/local/bin/start-container

EXPOSE 80

ENTRYPOINT ["start-container"]

cpu 使用率

更不用说在空闲状态时可能需要 3-4 秒

是否与 cpu 使用率有关?

Laravel API 调用的 Docker 响应时间慢
      
    Docker 响应时间

在 API 调用请求中,它在 1400 ms 期间高达 17-20%,然后回到 0.01%

注意它是由 Laravel 提供的 sail Dockerfile 修改的

同样的问题包括开箱即用的帆

另外,我保证 Dockerfile 中的所有依赖项都安装在我的本地机器上,但仍然是同样的问题。

解决方法

问题已解决:

原来是 windows/WSL 相关的问题,我的开发环境是建立在运行 Ubuntu 20.04 LTS /mnt/c/Users/<username>/code-directory

我将整个代码迁移到实际的 ubuntu 绝对路径 /var/www/html/code-directory,就像在生产服务器中一样,它运行良好。并相应地对 Dockerfile 进行了更改。

响应时间约为 100 毫秒,比 Windows 操作系统的本地主机快 200 毫秒

Laravel API 调用的 Docker 响应时间慢
      
    Docker 响应时间

大佬总结

以上是大佬教程为你收集整理的Laravel API 调用的 Docker 响应时间慢 Docker 响应时间全部内容,希望文章能够帮你解决Laravel API 调用的 Docker 响应时间慢 Docker 响应时间所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。