星期二, 30 5 月, 2023
No Result
View All Result
育心文具行

育心文具行

  • 首頁
  • 創作x紀錄
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 當紅俱樂部
  • 留言給我
育心文具行
  • 首頁
  • 創作x紀錄
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 當紅俱樂部
  • 留言給我
No Result
View All Result
育心文具行
Home 心得x體驗

PHP Codeigniter 4 框架速度優化

2023-03-24
in 心得x體驗, 筆記x備忘
Reading Time:1 min read
Share on FacebookShare on Twitter

會選擇 Codeigniter 有一個很大的需求是因為要能快速入手,簡單好用,從 3.x 個位數版本開始,現在推出 4 大改版,結構和其他框架也越來越像。

最近修改一份無框架的專案程式碼,在不更改業務邏輯、資料庫結構的狀況下,移植到 ci4 上面以後才發現,速度變的奇慢無比。想到要追蹤 ci4 的執行速度,才發現 composer 下來的 core 還挺複雜的阿! 功能強大結果變慢,屠龍的少年,終將變成惡龍呀……。

於是開始研究 Ci4 優化的方法,這邊記錄下來。

在優化之前,以兩個檔案讀取作為指標。

讀取名叫 init 的頁面 2.3 sec

Ajax 讀取前端設定 JSON 資料 3.41 sec

處理的動作

  • 在 app/Config/Modules.php 中,把 $enabled 和 $discoverInComposer 設定為 false ,參考文件。( init 頁面 828ms, ajax load settings json 2.11 sec)
  • 同一個檔案中,把 $aliases 設定為空集合。( init 頁面 761.82ms, ajax load settings json 1.8 sec)
  • 在 app/Config/Toolbar.php 中,把 $collectors 設定為空集合。在 app/Config/Events.php 中,有一段標記 ‵Debug Toolbar Listeners.‵ 的程式碼,刪除或註解起來。 ( init 頁面 640.70ms, ajax load settings json 1.54 sec)
  • 在 app/Config/Filters.php 中,預設有幾個 class 開啟,分別是:csrf、toolbar、honeypot、invalidchars、secureheaders。這幾個有些是安全設定,自行確認檢查哪些要移除。
  • 檢查 app/Config/Autoload.php 裡面有哪些用不到的,儘量在只需要使用時才用。

效果顯著。

init 頁面從 2.3 秒到 683豪秒
AJAX 讀取前端設定從 3.41 秒到 1.65 秒

但是無框架的原始程式碼呼叫速度還是非常的快的。在相同資料庫、相同 php 運行環境的狀況下,速度是框架 3 倍以上。

init 頁面 208.03 豪秒
AJAX 讀取前端設定 354.94 豪秒

這沒辦法比,革命尚未成功就是。

Tags: ci4codeigniter 4php 框架
Share22Tweet14
Previous Post

《自慢10:18項修練》第四部讀書心得

Next Post

無效爬蟲、垃圾蜘蛛的阻擋方法

Next Post

無效爬蟲、垃圾蜘蛛的阻擋方法

〈三小時異性戀思辨聯誼〉聯誼活動心得

《如怨以償》沉浸式娛樂 心得

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策及服務條款。

全站搜尋

No Result
View All Result

關於我

育心文具行

Jerry Lin

程式設計師

育心文具行是一家文具店,老闆的小兒子是一個設計師,職業是設計程式,興趣是設計人,倒是還沒有實作的機會。
--
所有的相遇都不是巧合。
在廣告公司待了三年有兩年多在做內容產品,離職後繼續在內容產業走了四年多,最後選則離開台灣的公司體制在家 SOHO ,碰上了 2020 年疫情才知道原來自己這是走在時代的潮流尖端。 感謝許多老闆和貴人相助,至今目前尚能存活,在台北街頭努力著。

近期文章

  • 《原則》第二部讀書心得
  • 《原則》第一部讀書心得
  • 將現成的 git repo 添加現成的專案資料夾
  • 透過 phpdoc 套件生成 PHP 文件
  • DNSSEC Cloudflare 與 Godaddy 設定

分類

  • 創作x紀錄 (12)
  • 心得x體驗 (38)
  • 筆記x備忘 (30)
  • 閒談x雜記 (5)

贊助買咖啡

Facebook Instagram RSS

標籤

android axios bitbucket centos cloudflare dart dev dist f flutter gist git git hook hook ios line line api linode linux MAC php pinia push QBQ!問題背後的問題 serverless ubuntu vps vue vue.js vue3 wordpress workers 原則 原子習慣 團隊,從傳球開始 團隊,從傳球開始:五百年都難以超越的 UCLA 傳奇教練伍登培養優越人才和團隊的領導心法 心得 權限 活動心得 自慢10 自慢10:18項修練 規格 調整硬碟空間 調整規格 讀書心得

文章分類

  • 創作x紀錄 (12)
  • 心得x體驗 (38)
  • 筆記x備忘 (30)
  • 閒談x雜記 (5)

近期文章

  • 《原則》第二部讀書心得
  • 《原則》第一部讀書心得
  • 將現成的 git repo 添加現成的專案資料夾
  • 透過 phpdoc 套件生成 PHP 文件
  • DNSSEC Cloudflare 與 Godaddy 設定

© 2020 hipster.crazyjerry.studio - a blog about experience, notes and nonsense, by Jerry Lin.

No Result
View All Result
  • 首頁
  • 創作x紀錄
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 當紅俱樂部
  • 留言給我

© 2020 hipster.crazyjerry.studio - a blog about experience, notes and nonsense, by Jerry Lin.