Dingo API 的缓存路由之后,我使用了 XHProf 做了以下分析。

电脑:MacBook Pro (15-inch, 2017)
环境:PHP 7.2.5

以下是没有运行缓存路由文件

为什么使用 dingo api 的缓存路由之后感觉程序

使用命令

php artisan api:cache

运行之后,反而多了很多的解析函数。
可能因为有很多的路由。重复调用了很多的方法。

为什么使用 Dingo API 的缓存路由之后通过 PHP XHProf 来分析程序,性能反而慢了。

最后定位到这个方法。

Illuminate\Routing\Route::parseAction

为什么使用 Dingo API 的缓存路由之后通过 PHP XHProf 来分析程序,性能反而慢了。

    /**
     * Parse the route action into a standard array.
     *
     * @param  callable|array|null  $action
     * @return array
     *
     * @throws \UnexpectedValueException
     */
    protected function parseAction($action)
    {
        return RouteAction::parse($this->uri, $action);
    }

这个方法会把本地缓存文件解析后变成路由。那如果路由非常多,导致数组很大,会不会导致内存溢出?想问一下大佬们的建议?

宇宙最厉害
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1
宇宙最厉害

确实发现 php artisan api:cache 产生的缓存文件,对访问的性能有影响。

4年前 评论
lovecn 4年前
宇宙最厉害 (作者) (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!