เวลาที่ใช้ในการประมวลผลเพจ xxxx วินาที
ตัวอย่างการทำการแสดงผลการประมวลผลเพจ หรือ เวลาที่ใช้ไปสำหรับการ query โดยการใช้ class Timer ที่ผมใช้ในการทำ bench mark มาทำงานแทนครับ
อันดับแรกสร้าง class Timer ขึ้นมาก่อน ดังโค้ด แล้ว save ไว้ในชื่อ timer.php
// start timer // stop timer // define private 'getMicrotime()' method
class Timer{
private $elapsedTime;
public function start()
{
if( !$this->elapsedTime = $this->getMicrotime() )
{
throw new Exception( 'Error obtaining start time!' );
};
}
public function stop()
{
if( !$this->elapsedTime = round( $this->getMicrotime() - $this->elapsedTime , 10 ) )
{
throw new Exception( 'Error obtaining stop time!' );
};
return $this->elapsedTime;
}
private function getMicrotime()
{
list( $useg , $seg ) = explode( ' ' , microtime() );
return ( (float)$useg + (float)$seg );
}
};
?>
สำหรับการเขียนโค้ดเพื่อแสดงผล ก็ต้อง include เอา timer.php เข้ามาในเพจ แล้วก็เรียกใช้งาน class Timer โดยต้องวางโค้ด start(); ใว้ในตอนต้นๆของไฟล์ก่อนการ query และใช้ stop() เพื่อจบการจับเวลา และคืนค่าเวลาที่ใช้ไป แล้วเราก็ไปจัดการแสดงผลอีกที ดังตัวอย่างการใช้งาน
// เริ่มต้นการใช้งาน แทรกส่วนนี้ไว้ตอนต้นๆของเพจ ก่อนการประมวลผล
include( 'timer.php' );
$bm = new Timer; // เรียกใช้งาน class
$bm->start(); // เริ่มต้นจับเวลา
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<p>ประมวลผลต่างๆที่ตรงนี้ จะเขียน query กี่ query ก็เขียนไป</p>
<p>
<?php
for( $i = 0 ; $i < 100000 ; $i++ )
{
echo $i;
}
?>
</p>
<?php
echo 'เวลาที่ใช้ในการประมวลผลเพจ '.$bm->stop()'. วินาที' // แสดงเวลาที่ใช้ไป
?>