mschat โพสต์ 2008-6-9 21:45:21

[ขอถาม] จะแก้ไขโค้ทอย่างไรในเมื่อคนเข้าเยอะๆแล้วทำให้บอร์ดอืดดังนี้

เมื่อมีคนเข้ามาเยอะ จะมีการ query ในส่วนของ
1. SELECT COUNT(*) FROM cdb_members WHERE regdate
2.        SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, s.pageviews AS spageviews, s.lastolupdate, s.sec
3. SELECT p.*, mp.*, m.uid, m.famname, m.username AS username, m.groupid, m.adminid, m.regdate, m.lasta[อันนี้เป็นการ ก๊อบ~เซ็นเซอร์~ที่เรียกว่า        Copying to tmp table]

เหล่านี้มันทำงานหนักมาก แม้นจะปิดปลักอินไปแล้วก็ตามแต่ ก็ยังทำให้เวปอืดมากมาย มันจะแก้ได้อย่างไรบ้างคับ

ปล. user online ประมาณ 300-500 นิดๆ สถิตินับหน่วงเวลา 10 นาที

ปล2. ถ้ายังรับทีมงานเพิ่ม pm บอกด้วยน่ะคับ ส่วน....สิ่งที่ผ่านมาก็ขอโทษทีมงานด้วย

===========================================================================================

ได้คำตอบมาแล้วคับ จากที่ ท่าน acaz ให้ลองเล่นเมนูที่บอก มันมีอยู่ว่า

Table(ตาราง)ที่ทำงานหนัก ก็คือ cdb_sessions เนื่องจากว่า
ไปตั้งค่าที่เมนู ตั้งค่า หน้ากระดานข่าว » Server optimization สนส่วนของหัวข้อ Maintain online time (minutes): โดย เก็บค่า userOnline ที่ผ่านมาเป็น10นาที

จึงเกิดเหตุการณ์ ทำให้ Database(ฐานข้อมูล) มีการใช้งานหนัก เพราะมีคนเข้าเยอะจัด จึงเกิดการ โพรเซสข้อมูลค้าง เป็นจำนวนมาก

ข้อสังเกตุตามความคิดผม คือ
1. เมื่อผม เคลียข้อมูลในส่วนของ Table(ตาราง) ที่ชื่อว่า cdb_sessions ออกจนหมดสิ้น โดยกำหนดหน่วงเวลา UserOnline เป็น 10นาที เวลาเข้าไปหน้าเวปใหม่ ตรง UserOnline จะหายพรวด เลยในพริบตา เนื่องจากไม่มีการเก็บข้อมูลไว้

2. เมื่อกำหนดการเก็บข้อมูล UserOnline จาก 10 นาที เป็น 5 นาที ทำให้Database(ฐานข้อมูล) มีการโพรเซสน้อยลงมาก จากที่ค้าง เป็นคืบ เหลือเพียง 2-3บรรทัดเท่านั้นเอง

===========================================================================================

อีกปัญหา คือ 2.        SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, s.pageviews AS spageviews, s.lastolupdate, s.sec

ก็คือว่า การตั้งค่า การโพสให้ใช้ระยะเวลาห่างกี่วินาที ตรงแถวๆเมนู ตั้งค่า หน้ากระดานข่าว » Server optimization อีกตามเคย หากเวปใครมีคนเยอะ แก้ปัญหาเฉพาะหน้าให้เวปอืดน้อยลงได้โดยดูหัวข้อ Post Interval(Second): ในเมนู ตั้งค่า หน้ากระดานข่าว » Server optimization มันจะถามว่า กี่วินาที ถึงจะโพสได้
ตอนแรก ผมใส่ไป15 มันเลยอืด แต่ยังไม่รู้ แล้วลองมั่วๆ ดูใส่ไป60 วิ แล้วมาดูที่โพรเซสของ Database(ฐานข้อมูล) ตกใจเลยคับ มันค้างเป็นหน้าเลยทีนี้ จากนั้น ผมลองมาปรับเป็น 0 จากที่เคยตั้งไว้ 60
แล้วมาดูที่ โพรเซสของ Database(ฐานข้อมูล) ใหม่อีกรอบ ทำให้เห็นความแตกต่างเลยว่า ไม่มีกรทำงานที่ค้างเป็นหน้าๆ เหล่านั้นอีกแล้ว

นี้คือประสบการณ์โดยตรงนะคับ หากว่ามีอะไรผิดพลาด ก็ชี้แนะด้วย

ปล. บทความนี้เขียนสรุปมาในช่วงที่ทดสอบตอน userOnline 150 นิดๆหากใครมีวิธีแนะนำ ทำให้ บอร์ดทำงานได้เร็วยิ่งขึ้น ที่แตกต่างจากของผม โปรดแนะนำด้วยน่ะค้าบ

~:9:~ ~:9:~

[ แก้ไขล่าสุด mschat เมื่อ 2008-6-10 03:33 ]

acaz โพสต์ 2008-6-9 22:28:44

ตอบกลับโพสของ 1# mschat

ที่ Tap เมนู optimize มีการตั้งค่าช่วยการทำงานเหล่านี้อยู่ครับ
ลองใช้ดู ใช้เป็นแล้วมาบอกผมมั้งนะ :)

buachompoox โพสต์ 2008-6-9 22:37:42

ตอบกลับโพสของ 2# acaz

~~

bangkokdd โพสต์ 2008-6-19 01:50:04

อ่านแล้วเกิดอาการ~:14:~แต่ก้อขอบคุณครับ

kanin03 โพสต์ 2008-8-11 19:21:43

งง ขอรับ แหะๆ แต่ไงก้ความรู้ครับ หุหุ
หน้า: [1]
ดูในรูปแบบกติ: [ขอถาม] จะแก้ไขโค้ทอย่างไรในเมื่อคนเข้าเยอะๆแล้วทำให้บอร์ดอืดดังนี้