摘要:環境核內存開啟性能監控使用生產環境命令進行安裝統一執行打印框架執行時間內存最主要差異加載所有文件整理時間線整體執行時間時間改為加載如何動態加載可優化可優化為什么需要復制一份整理時間線整體執行時間時間加載所有文件,差異差異差異差異
環境
centos7 + docker(alpine3.7)
1核
內存2G
php7.1.17
開啟opcache
性能監控tideways_xhprof
composer 使用生產環境命令進行安裝
composer install --no-dev --optimize-autoloader --prefer-dist統一執行 vension 打印
框架 | 執行時間 | 內存 |
---|---|---|
lumen | 8ms | 0.4MB |
lumen + Facades | 8.5ms | 0.5MB |
lumen + Facades + Eloquent | 13ms~14ms | 0.8MB |
laravel | 50ms~60ms | 1.6MB |
加載所有config文件:6.711ms
Provider register: 5.756ms
Provider boot: 8.048ms
Route Middleware: 9.084ms
terminateMiddleware: 4.068ms
lumen + Facades + Eloquent 整理時間線
整體
執行時間: 13.284ms
cpu時間: 13.1ms
public/index.php
bootstrap/app.php
vendor/autoload.php: 0.617ms
Dotenv load: 1.882ms 改為php加載
Application::__construct: 0.674ms
withFacades: 0.455ms
withEloquent: 5.144ms 如何動態加載?
loadComponent database: 4.931ms
configure: 0.5ms ==可優化==
DatabaseServiceProvider
register: 0.684ms
boot: 0.981ms
PaginationServiceProvider
register: 0.167ms
boot: 2.115ms 可優化
Router::group: 0.215ms
Application::run: 3.758ms
dispatch: 3.479ms
parseIncomingRequest: 2.643ms
Request::capture: 2.007ms
Request::createFromGlobals: 0.984ms
Request::createRequestFromFactory: 0.947ms
Request::initialize: 0.982ms
Request::createFromBase: 1.005ms
Request::duplicate: 0.789ms 為什么需要復制一份?
sendThroughPipeline: 0.826ms
Response::send: 0.263ms
laravel 整理時間線
整體
執行時間:54.3ms
CPU時間:53.2ms
public/index.php
vendor/autoload.php: 0.926ms
bootstrap/app.php
Application::__construct: 1.471ms
registerBaseServiceProviders: 0.708ms
make Kernel: 1.3ms
Request::capture: 1.841ms
kernel::handle: 43.308ms
Kernel::sendRequestThroughRouter: 43.117ms
bootstrap: 28.188ms
Application::bootstrapWith: 28.175ms
LoadEnvironmentVariables::bootstrap: 4.372ms
Dotenv::load: 4.212ms
LoadConfiguration::bootstrap: 6.711ms 加載所有config文件,差異
RegisterFacades::bootstrap: 0.587ms
RegisterProviders::bootstrap: 5.657ms Provider register 差異
Collection::partition: 0.8ms
ProviderRepository::load: 4.250ms
IlluminateAuthAuthServiceProvider
IlluminateCookieCookieServiceProvider
IlluminateDatabaseDatabaseServiceProvider
IlluminateEncryptionEncryptionServiceProvider
IlluminateFilesystemFilesystemServiceProvider
IlluminateFoundationProvidersFoundationServiceProvider
IlluminateNotificationsNotificationServiceProvider
IlluminatePaginationPaginationServiceProvider
IlluminateSessionSessionServiceProvider
IlluminateViewViewServiceProvider
FideloperProxyTrustedProxyServiceProvider
AppProvidersAppServiceProvider
AppProvidersAuthServiceProvider
AppProvidersEventServiceProvider
AppProvidersRouteServiceProvider
BootProviders::bootstrap: 8.048ms Provider boot 差異
array_walk: 7.793ms
Pipeline::then: 14.690ms
Router::dispatch: 12.202ms
findRoute: 1.754ms
runRoute: 10.434ms
runRouteWithinStack: 9.084ms Middleware 差異
Pipeline::then: 8.586ms
prepareResponse: 2.220ms
prepare: 1.6ms
Response::send: 0.591ms
Kernel::terminate: 4.068ms
Kernel::terminateMiddleware: 4.056ms
StartSession::terminate: 0.915ms
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/31387.html
摘要:的現狀目前是版本,是基于開發。入口文件啟動文件和配置文件框架的入口文件是。在路由中指定控制器類必須寫全命名空間,不然會提示找不到類。目前支持四種數據庫系統以及。使用時發生錯誤,因為在文件中,的默認驅動是。 最近使用 Lumen 做了 2 個業余項目,特此記錄和分享一下。 Lumen 的介紹 在使用一項新的技術時,了解其應用場景是首要的事情。 Lumen 的口號:為速度而生的 La...
摘要:配置項用于配置失敗隊列任務存放的數據庫及數據表。要使用隊列驅動,需要在配置文件中配置數據庫連接。如果應用使用了,那么可以使用時間或并發來控制隊列任務。你可以使用命令運行這個隊列進程。如果隊列進程意外關閉,它會自動重啟啟動隊列進程。 一、概述 在Web開發中,我們經常會遇到需要批量處理任務的場景,比如群發郵件、秒殺資格獲取等,我們將這些耗時或者高并發的操作放到隊列中異步執行可以有效緩解系...
摘要:如何做用戶認證根據文檔描述,提供用戶認證的接口,他的核心是看守器和提供器,看守器定義怎么認證用戶,提供器定義怎么檢索用戶。 最近的一個PHP項目,上一個項目是采用ThinkPHP來弄的,因為很早就聽說過Laravel的大名,所以進了Laravel的官網,意外發現了Lumen,正好我項目是提供API的,所以選擇了Lumen,因為是Laravel的精簡版,看了幾天的Laravel文檔,也總...
閱讀 2273·2021-08-23 09:46
閱讀 922·2019-08-29 18:31
閱讀 1875·2019-08-29 17:04
閱讀 2465·2019-08-29 12:23
閱讀 1861·2019-08-26 14:05
閱讀 1086·2019-08-26 13:44
閱讀 3157·2019-08-26 12:23
閱讀 2211·2019-08-26 10:46