เวบลูกค้ามีการ query database หนักมากทำไงดี

ตาม Topic เลยครับ เวบลูกค้าบนเครื่องมีการ Query Database เยอะมากครับ

ไม่ทราบพี่ ๆ ที่มีประสบการณ์ พอจะชี้ทางสว่างให้ได้มั้ยครับ ว่าควรทำไง

ปล.เพิ่ม Ram อีกสัก 2GB จะหายมั้ยครับ

ขอบคุณครับ
ปอ…

optimize ที่ sql
ดู query ของเว็บ
ทำ index ตาราง

อย่างสุดท้ายค่อยเพิ่มแรมครับ

อยากรู้ครับ ทำ index ตารางทำอย่างไรครับ(ไมใจความหมาย)

ช่วย post ให้ถูกห้องด้วยนะครับ — ย้าย

ขอโทษทั้งสมาชิก THT และ Mod ด้วยนะครับ แต่ผมไม่ทราบจริง ๆ ว่าต้องโพสต์ห้องไหน

กรุณาย้ายให้ด้วยนะครับ ขอบคุณครับ

เห็น pm มา แต่ขอตอบในกระทู้ดีกว่าครับ

ก่อนอื่นเลย เราต้องรู้ว่าเว็บนั้น query “อะไรบ้าง” ครับ
เทคนิคง่ายๆ ที่ไม่จำเป็นต้องไปไล่ code คือใส่ option

log_queries_not_using_indexes

ใน my.cnf ไว้ restart mysql ให้เรียบร้อย ปล่อยทิ้งไว้อีกวัน
เสร็จแล้วก็เข้าไป /var/lib/mysql (centos/fedora/rhel)
หาแฟ้มที่ชื่อ “ลงท้ายด้วย” -slow.log แล้วก็เปิดดูครับ

ยกตัวอย่างจากเว็บผมละกัน

User@Host: thz_web[thz_web] @ localhost []

Query_time: 0

เข้ามาที่ตาราง ดูด้านล่างสุด ในหมวด indexes ตามรูปเลยครับ


ในเงื่อนไขของ where มีการค้นหาใน field ชือ่ ‘online_ip’ แต่ในรายการ index ไม่มี field นี้
ดังนั้น เพิ่มครับ

จบ lol

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

ขอบคุณมากๆ ครับ

[quote author=baansiripatt link=topic=10341.msg101011#msg101011 date=1205480343]
ขอบคุณมากๆ ครับ

ขอบคุณมาก ๆครับ คืนนี้จะลองดู ได้ผลยังงัยจะตามมาเล่าให้ฟัง

อันนี้มันเป็นเรื่องของลูกค้านะ

[quote author=pat link=topic=10341.msg101122#msg101122 date=1205553585]
อันนี้มันเป็นเรื่องของลูกค้านะ

เว็บก็จะ connect database ไม่ได้เป็นช่วงๆ ซึ่งลูกค้าก็คงไม่ต้องการแบบนั้น

เป็นการบังคับให้แก้ไขไปในตัว