【发布时间】:2021-10-28 01:41:05
【问题描述】:
我在 Vagrant+Puppet LAMP(2x 内核,2.5GB)堆栈上工作,我在其中开发基于 Laravel ver.8 的 API。 有一个默认设置、JWT 中间件和几乎是最低限度的(也可以尝试使用相同行为的全新安装)。第一次调用后,响应时间约为 6 秒。如果我调用同一个 API 端点,响应时间是 200 毫秒。在 3 秒间隔内的每个进一步调用都很快。如果我暂停调用> 3s然后再次调用,响应时间再次变慢大约6s。
我为解决这个问题所做的尝试:
php artisan cache:clear
composer dump-autoload -a --apcu
php artisan config:cache
php artisan session:table
php artisan migrate
.env:
APP_DEBUG=false
SESSION_DRIVER=database
SESSION_LIFETIME=120
CACHE_DRIVER=memcached
MEMCACHED_HOST=127.0.0.1
MEMCACHED_PORT=11217
顺便说一句,api调用只返回:return response()->json(['tst']);当我输出 phpinfo();从index.php来看,响应时间是每次(暂停到)大约70ms。
还尝试通过 Xdebug 使用 CacheGrind 调试调用:XDEBUG_PROFILE=1。以下是分析结果:https://filebin.net/izs3qm0gm3gt8jq6
我刚刚提到自动加载器需要更长的时间,但无法比较结果。有什么办法可以解决这个问题吗?
提前谢谢你。
【问题讨论】: