gpt4 book ai didi

docker - Google Cloud Run 最多只能同时处理 100 个请求

转载 作者:行者123 更新时间:2023-12-04 19:25:13 24 4
gpt4 key购买 nike

因此,我的开发团队正在尝试从 GCE 迁移到 GCR,我们已经成功地使用 github 操作部署了 Cloud Run 服务和 CI/CD。但是我们遇到了一个问题,即 Cloud Run 服务可以同时处理的请求量不超过 100 个请求。
所以我们的应用程序的基本框架是 php/codeigniter,我们使用的 web 服务器是 apache2 webserver,以及作为我们已经包含在 dockerfile 中的数据库的 sql server

FROM php:7.4.22-apache
USER root
RUN apt-get update && apt-get upgrade -y
RUN apt-get update && apt-get install -y gnupg2
RUN apt-get install libcurl4-openssl-dev
RUN apt-get install zlib1g-dev
RUN apt-get install libpng-dev -y
RUN docker-php-ext-install curl
RUN docker-php-ext-install gd
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update
RUN apt-get install wget
RUN wget http://ftp.de.debian.org/debian/pool/main/g/glibc/multiarch-support_2.28-10+deb10u1_amd64.deb

RUN dpkg -i multiarch-support_2.28-10+deb10u1_amd64.deb
RUN apt-get install -y libodbc1
RUN apt-get install -y unixodbc-dev
RUN pecl install sqlsrv
RUN pecl install pdo_sqlsrv
RUN echo "extension=pdo_sqlsrv.so" >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.:\s||"`/30-pdo_sqlsrv.ini
RUN echo "extension=sqlsrv.so" >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.:\s||"`/30-sqlsrv.ini

RUN rm multiarch-support_2.28-10+deb10u1_amd64.deb
# RUN ACCEPT_EULA=Y apt-get -y install mssql-tools
RUN ACCEPT_EULA=Y apt-get install msodbcsql17
COPY 000-default.conf /etc/apache2/sites-available/000-default.conf
COPY apache2.conf /etc/apache2/apache2.conf
COPY openssl.cnf /etc/ssl/openssl.cnf
COPY php.ini /etc/php/7.4/apache2/php.ini
RUN a2enmod rewrite
RUN /etc/init.d/apache2 restart
这是我们使用的 dockerfile
FROM jamesjones/test-base:latest
USER root
COPY . /var/www/html
RUN cd /var/www/html
RUN chown -R www-data:www-data /var/www/html

COPY v1/application/config/config.prod.php /var/www/html/v1/application/config/config.php
COPY v1/application/config/database.prod.php /var/www/html/v1/application/config/database.php
COPY v1/application/config/routes.prod.php /var/www/html/v1/application/config/routes.php
COPY v2/application/config/config.prod.php /var/www/html/v2/application/config/config.php
COPY v2/application/config/database.prod.php /var/www/html/v2/application/config/database.php
COPY v2/application/config/routes.prod.php /var/www/html/v2/application/config/routes.php
COPY .htaccess.prod /var/www/html/.htaccess

VOLUME /var/www/html
我已经尝试了这些步骤,但问题似乎仍然存在 https://cloud.google.com/blog/topics/developers-practitioners/3-ways-optimize-cloud-run-response-times这是我们的云运行规范
gcr-spec
我还尝试将自动缩放的最小实例数增加到 10,但似乎没有区别。
这个问题有其他选择吗?

最佳答案

原来问题出在 vpc 连接器上,因为我们的数据库是使用 tcp/ip 连接的,我们必须将公共(public) ip 列入白名单才能安全访问它,这就是我们使用 vpc 的原因,所以我们使用 mikrotik 绑定(bind)我们的 ip 而不是使用 vpc 连接器。 gcr 服务最终可以处理 10000 个请求。

关于docker - Google Cloud Run 最多只能同时处理 100 个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71760937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com