PHP+Nginx响应时间过长

PHP+Nginx响应时间过长

我在 nginx 反向代理后面运行一个 php-fpm 服务器,它只是提供 phpinfo 来对响应时间进行基准测试。phpinfo 页面的响应时间(使用 postman)约为 150 毫秒,这似乎太高了。我使用了 AWS c5 实例和 digital ocean 专用实例,它们似乎都有类似的结果。

我不认为这是网络问题,因为当我请求一个简单的 html 网页时,nginx 的响应时间约为 30ms。这让我认为这是 php 本身的问题。任何帮助都非常感谢 - 我正在寻找大约 40-50ms 的 php 页面平均响应时间。以下是我正在使用的 docker 文件和 nginx 配置:

Dockerfile:

FROM php:8.0.6-fpm-buster

RUN docker-php-ext-install opcache

COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini

Nginx 配置:

server {
    listen 80;
    index index.php index.html;
    server_name localhost;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /code;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

opcache.ini:

[opcache]
opcache.enable=1
; 0 means it will check on every request
; 0 is irrelevant if opcache.validate_timestamps=0 which is desirable in production
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

Docker-撰写:

version: '2'

services:
    web:
        image: nginx:latest
        ports:
            - "8080:80"
        volumes:
            - ./code:/code
            - ./site.conf:/etc/nginx/conf.d/default.conf
        networks:
            - code-network
    php:
        build: .
        volumes:
            - ./code:/code
        networks:
            - code-network

networks:
    code-network:
        driver: bridge

./代码/index.php

<?php
phpinfo();
?>

相关内容