ปรึกษาการตั้ง DB Server แยกต่างหากหน่อยครับ

สืบเนื่องจากกระทู้นี้ครับ http://www.thaihosttalk.com/topic/30076-mysql-%E0%B8%9E%E0%B8%B1%E0%B8%87-%E0%B8%A3%E0%B8%9A%E0%B8%81%E0%B8%A7%E0%B8%99%E0%B8%9B%E0%B8%A3%E0%B8%B6%E0%B8%81%E0%B8%A9%E0%B8%B2%E0%B8%AB%E0%B8%99%E0%B9%88%E0%B8%AD%E0%B8%A2%E0%B8%84%E0%B8%A3%E0%B8%B1%E0%B8%9A/

เนื่องจากถ้าถามต่อมันจะหลายเป็นคนละเรื่องกันแล้ว ก็เลยขอตั้งกระทู้แยกนะครับ

จากการทดสอบการใช้งาน (โม Apache แล้วเล็กน้อยครับ จากสูตรโม Apache แถวๆนี้แหละ) ผลปรากฎว่านักเรียนเข้าระบบพร้อมๆกันสัก 10 เครื่องๆก็จะเริ่มอืดแล้วก็แฮ๊งค์ไปเลยครับ (ขนาด putty ยัง connect ค้างเลยครับ) เครื่องนี้ยัดแรมไป 1GB ครับ

และตัว moodle เองก็ซด Mysql ได้สุดๆเช่นกัน โดยเฉพาะการทำ logfile ของมันครับ ผมก็เลยมีแนวคิดว่าจะแยก DB ออกมาเป็นอีกเครื่องนึงครับ ก็จะขอคำชี้แนะหน่อย ดังนี้ครับ

1.ควรจะใส่ RAM ประมาณเท่าไหร่ครับ 1 GB พอไหมครับ?

2.ถ้าติดตั้ง mysql แล้วจะให้อีกเครื่อง connect ข้ามมายังไงครับ กล่าวคือเครื่องเว็บ เวลาเขียนตัวแปรเรียกไม่ต้องใส่ host เป็น ip ให้อ้าง localhost เหมือนเดิม เสมือนเป็นเนื้อเดียวกัน

3.ควรจะติดตั้งเครื่องมืออะไรที่จำเป็นๆใน DB Server ได้บ้างครับ?ฃ

ขอบคุณครับ

ไม่ต้องแยกเครื่องครับ

แค่เพิ่ม ram เป็น 2G หรือไม่ก็ 4G ก็เพียงพอแล้วครับ

ขอบคุณครับ เนื่องจากในอนาคตมันจะมีอีกหลายระบบที่จะใช้ mysql ไงครับ ก็เลยอยากจะจับมันรวมไว้ที่เดียวเลยน่ะครับจะได้จัดการมันง่ายๆหน่อย (4webserver : 1mysql server อะไรทำนองนี้)

ประเด้นคือเดี้ยงทีเดียวก็ไปหมดเลยน่ะสิครับ

Config เทพ

Ram หมด

Load ขึ้นสูง

Swap เต็ม

เครื่องค้าง

config ไม่เทพครับ apache ไม่เคยแตะเลยผมเล่นแต่ mysql อย่างเดียว

กระทู้ก่อน มีคนโพสถามเรื่องเวบบิท โหลดโหด ยัดแรม 16GB ก็ยังโหลดโหด

แต่พอไปสะกิด mysql นิดหน่อย ปรากฏว่าไหลลื่นเลย แรม 4GB ก็ชิวแล้ว

รีดพลังออกมาให้หมดก่อน ค่อยไปดูฮาร์ดแวร์ครับ

เคยได้ยินว่า moodle โหด แต่ว่า 10connect ก็ง่ายไปครับ

database server ให้เน้น เรื่อง disk i/o ครับ

ถ้าเป็น SAS ยิ่งหลายลูก ยิ่งดีครับ

ส่วน SATA อย่าไปใส่เกิน 4 ลูกละครับ

ปอลิง RAID-10 ไปเลย ถ้าไม่คิดมากเรื่องความจุ

แล้ววิธีเอามาเชื่อมเข้ากับ webserver ให้เป็นระบบเดียวกันนี่ทำยังไงครับ (การ config)

แก้ config ที่โปรแกรมให้ชี้ db ไปที่ ip ใหม่ก็จบแล้วครับ

(จากปกติ localhost ก็ระบุ ip ไปแทน)

ถ้าชี้ ip อย่างคุณไอซ์ว่า ผมขอแนะนำอันนี้เพิ่มติม เพื่อ performance ที่ดีขึ้นครับ

http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_skip-name-resolve

ทำการ --skip-name-resolve เพราะ เราตั้งเป็น ip address แล้ว ไม่ต้อง lookup dns ให้เสีย overhead ครับ

ผมว่าใช้วิธีแบบที่คุณไอซ์ว่าแหละครับ แต่อย่าลืมดูดีๆ ว่า mysql ตัวเครื่องใหม่ bind กับ ip อะไร เพราะปกติจะ Bind กับ localhost ทำให้ไม่สามารถ connect จากข้างนอกได้ และก็อย่าลืม grant ให้ host เป็น * ด้วยครับเพื่อดรียกใช้งานจากเครื่องอื่น