|
|
|
website ค้างเมือ mysqld cpu peak อัพเดทข้อมูลลง database |
|
|
|
|
|
|
|
1 optimize code เล็กน้อย
Code (PHP)
public function OnlineUpdate($user){
//$nowtime=mktime(date('H'), date('i'), date('s'), date('m'), date('d'), date('Y'));
$nowtime = time(); // get system time มาไว้ใน buffer คำสั่ง date ถ้าไม่ ไม่ได้ กำหนดค่า เวลา จะไปถึง system time ยิ่งเรียกเยอะ เวลายิ่งเพี้ยน
// และ ใช้คำสั่ง mktime ทำไม ในเมื่อเราใช้ system time อยู่แล้ว เรียกคำสั่งเดียว สั้นๆ ได้ค่าเท่ากัน
try{
$stmt = $this->conn->prepare("UPDATE pw_logintime SET timer=:pass WHERE user=:usercheck LIMIT 1");
$stmt->execute(array(':usercheck'=>$user,':pass'=>$nowtime));
$stmt->close(); // ปิด transaction อันแรกไปก่อน ค่อยเปิดใหม่
$ipaddress_online = $_SERVER['REMOTE_ADDR'];
$stmt = $this->conn->prepare("UPDATE pw_logintime SET onlineip=:onlineip2 WHERE user=:usercheck LIMIT 1");
$stmt->execute(array(':usercheck'=>$user,':onlineip2'=>$ipaddress_online));
}catch(PDOException $e){
echo $e->getMessage();
}
}
2 optimize table เล็กน้อย เพิ่ม index ให้ user ด้วย ค้นหา ด้วย user แต่ไม่มี index ให้ user มันจะสร้าง temp index ขึ้นมา เสมอ
ยิ่งข้อมูลเยอะ ยิ่งนาน
|
|
|
|
|
Date :
2021-11-11 18:43:55 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ลองทำการคำแนะนำแล้วครับ อาการดีขึ้นมาก แต่ยังพบว่ายังเจอในบ้างครั้ง ไม่ทราบว่าควรจะแก้ไขจุดไหนอีกมั้ยครับ เพื่อให้หายขาด
|
ประวัติการแก้ไข 2021-11-11 22:17:40
|
|
|
|
Date :
2021-11-11 22:00:11 |
By :
Manop12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$stmt = $this->conn->prepare("UPDATE pw_logintime
SET timer=:pass , onlineip=:onlineip2
WHERE user=:usercheck LIMIT 1");
รวมเป็น statement เดียว เพิ่งสังเกตุเห็น ตารางเดียวกัน where เดียวกัน
|
|
|
|
|
Date :
2021-11-11 23:18:09 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
็Host Spec ต่ำ
|
|
|
|
|
Date :
2021-11-12 14:56:22 |
By :
Guest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|