CodeIgniter - การทำโปรไฟล์แอปพลิเคชัน

เมื่อสร้างเว็บแอปพลิเคชันเรากังวลอย่างมากเกี่ยวกับประสิทธิภาพของเว็บไซต์ในแง่ของระยะเวลาที่คอนโทรลเลอร์ใช้ในการดำเนินการและปริมาณหน่วยความจำที่ใช้ ไม่เพียง แต่ประสิทธิภาพเท่านั้น แต่เรายังต้องดูข้อมูลเชิงลึกของข้อมูลเช่นข้อมูล POST, ข้อมูลการสืบค้นฐานข้อมูล, ข้อมูลเซสชัน ฯลฯ เพื่อวัตถุประสงค์ในการดีบักในขณะที่พัฒนาแอปพลิเคชัน CodeIgniter ทำให้งานนี้ง่ายขึ้นสำหรับเราด้วยการทำโปรไฟล์ใบสมัคร

เปิดใช้งานการทำโปรไฟล์

หากต้องการเปิดใช้งานการสร้างโปรไฟล์แอปพลิเคชันของคุณเพียงดำเนินการคำสั่งที่ระบุด้านล่างในวิธีการใด ๆ ของคอนโทรลเลอร์

$this->output->enable_profiler(TRUE);

คุณสามารถดูรายงานการสร้างโปรไฟล์ได้ที่ด้านล่างของหน้าหลังจากเปิดใช้งาน

ปิดการใช้งานการทำโปรไฟล์

หากต้องการปิดใช้งานการสร้างโปรไฟล์แอปพลิเคชันของคุณเพียงดำเนินการคำสั่งที่ระบุด้านล่างในวิธีการใด ๆ ของคอนโทรลเลอร์

$this->output->enable_profiler(FALSE);

เปิด / ปิดส่วนโปรไฟล์

การทำโปรไฟล์สามารถทำได้ตามส่วน คุณสามารถเปิดหรือปิดการทำโปรไฟล์ของส่วนได้โดยตั้งค่าบูลีนเป็น TRUE หรือ FALSE หากคุณต้องการตั้งค่าโปรไฟล์ในแอปพลิเคชันคุณสามารถทำได้ในไฟล์ที่อยู่ในapplication/config/profiler.php

ตัวอย่างเช่นคำสั่งต่อไปนี้จะเปิดใช้งานคิวรีการทำโปรไฟล์สำหรับแอปพลิเคชันทั้งหมด

$config['queries'] = TRUE;

ในตารางต่อไปนี้คีย์คือพารามิเตอร์ซึ่งสามารถตั้งค่าในอาร์เรย์การกำหนดค่าเพื่อเปิดหรือปิดใช้งานโปรไฟล์เฉพาะ

สำคัญ คำอธิบาย ค่าเริ่มต้น

benchmarks

เวลาที่ผ่านไปของคะแนนเกณฑ์มาตรฐานและเวลาดำเนินการทั้งหมด จริง

config

ตัวแปร CodeIgniterConfig จริง

controller_info

คลาส Controller และวิธีการร้องขอ จริง

get

ข้อมูล GET ใด ๆ ที่ส่งผ่านในคำขอ จริง

http_headers

ส่วนหัว HTTP สำหรับคำขอปัจจุบัน จริง

memory_usage

จำนวนหน่วยความจำที่ใช้โดยคำขอปัจจุบันเป็นไบต์ จริง

post

ข้อมูล POST ใด ๆ ที่ส่งผ่านในคำขอ จริง

queries

รายการของการสืบค้นฐานข้อมูลทั้งหมดที่ดำเนินการรวมถึงเวลาดำเนินการ จริง

uri_string

URI ของคำขอปัจจุบัน จริง

session_data

ข้อมูลที่จัดเก็บในเซสชันปัจจุบัน จริง

query_toggle_count

จำนวนคิวรีที่บล็อกคิวรีจะเริ่มต้นเป็นซ่อน 25

ผู้สร้างโปรไฟล์ตั้งค่าในไฟล์ในรูปแบบ application/config/profiler.php สามารถแทนที่ได้โดยใช้ไฟล์ set_profiler_sections() ฟังก์ชันในคอนโทรลเลอร์ดังแสดงด้านล่าง

$sections = array( 
   'config'  => TRUE, 
   'queries' => TRUE 
); 
 
$this->output->set_profiler_sections($sections);