มีคำถามมาถาม เรื่องขนาดของ db

THT Game V1 : ให้เปิดกระทู้หมายเลข2979.0

คือมันมีข้อถกเถียง ซึ่งผมเองก็ไม่ใช่ คนทำ host ซะด้วย เลยอาจจะไม่รู้เรื่องทางเทคนิคมาก

เรื่องมันมีอยู่ว่า…

มีปริมาณการใช้

รองรับ แต่ละบอร์ดตาม DB ของตัวเอง

ผมว่าคำถามไม่ชัดเจนเท่าไหร่ เหมือนมันตกหล่นไป

เช่น

  • มันกี่บอร์ดล่ะ >= 2 หรือเปล่า
  • แล้วจำนวน DB ล่ะมีกี่ DB
  • ขนาดของ ฟิว ตาราง หรือให้คิดเอาว่าขนาด DB เท่ากัน

?? :unsure:

ถ้าคิดว่าเท่ากัน แค่แยก db…

ไม่ต่างกันครับ

เข้าใจความหมายครับ
คือบางกรณีเราเช่าโฮสแล้วโดนจำกัดจำนวน DB เช่นให้แค่ 1 DB
ดังนั้นจะมีกี่บอร์ดก็ต้องยัดเข้าไปใน DB อันเดียวกันโดยแยก prefix
[ 1 + 2 + 3 + 4 ]

ส่วนอีกกรณีคือสร้าง db ได้หลายอันหรือไม่จำกัด ก็สร้าง db แยกเป็นอันๆ
ให้สำหรับแต่ละบอร์ดแยกจากกันไป
[ 1 ] + [ 2 ] + [ 3 ] + [ 4 ]

ซึ่งทั้งสองแบบจะใช้ปริมาณพื้นที่รวมเท่าๆกัน
[ 1 + 2 + 3 + 4 ] == [ 1 ] + [ 2 ] + [ 3 ] + [ 4 ]

ทั้งสองแบบต่างกันเล็กน้อยในเรื่องของการ open database
แบบแรก ทุกบอร์ดจะ open db เดียวกัน
แบบที่สอง แต่ละบอร์ดจะ open db แยกกัน
ส่วนอันใหนจะช้าเร็วก็ไม่รู้เหมือนกัน

แต่โดยความคิดส่วนตัว
การเปิด db ที่มีจำนวน table เยอะๆย่อมใช้ ram มากกว่า การเปิด db ที่มี table น้อยกว่า
การเรียก query table อาจจะช้ากว่าเล็กน้อย

แต่ในทางกลับกัน เมื่อเปิด db ย่อยๆทุกอันจนครบ ก็จะใช้ ram พอๆกับ เปิด db อันใหญ่อันเดียว

บอกไม่ได้เหมือนกันว่าแบบใหนจะดีกว่า เพราะอันใหญ่มัีนก็เปิดทีเดียว ไม่ต้องไปเปิดหลายๆอัน ส่วนอันเล็กๆ ก็มี table ต่อ db น้อยกว่า

มองไปถึงโครงสร้างการเก็บ db ของ mysql
แต่ละ db ก็จะมี folder ของตัวเอง 1 อัน
table แต่ละอัน ก็จะเก็บเป็น files (2-3 ไฟล์) อยู่ตาม db folder ของมัน

ดังนั้นการ query db ที่มีจำนวน table มากกว่าก็จะใช้เวลาในการ seek หาเพื่อเปิดไฟล์มากกว่า
ถ้าเป็น db ย่อยๆหลายอัน ก็จะใช้เวลาในการ seek หา folder ของ db มากกว่า
ถ้าหากมีจำนวน db ไม่มากแบบหลังน่าจะเร็วกว่า แต่ในโฮสมักจะมี db จำนวนมาก ผลจึงออกมาไม่น่าจะต่้างกันมากนัก
[ A ] - _1 _2 _3 _4 … _100
.
.
.
[ Z ] - _1 _2 _3 _4 … _100

กับ

[ A ] - _1 _2 _3 _4 … _20
.
.
.
[ ZZ ] - _1 _2 _3 _4 … _20

โห… ละเอียดจอร์จมากครับ

แล้วอย่างนี้ ก็คือ มีค่าเท่ากันใช่ใหมครับ

หรือท่านอื่นว่าไงครับ

ถ้าพิจารณาที่ว่า มีเวบนึงโหลดหนักๆ ส่วนอีกเวบไม่่ค่อยมีโหลด

แบบแยก db จะช่วยลดโหลดในการ access db สำหรับเวบที่โหลดหนักๆได้พอสมควร
แต่จะว่าไปแล้วตัว db engine มันก็มี cache ของมันอยู่จำนวนหนึ่ง ช่วยลดการ access file ไปได้พอสมควร

โดยส่วนตัวแล้ว ชอบแบบแยก db ของใครของมันมากกว่าครับ
เวลา backup ก็สะดวกกว่า ไม่ต้องมาเลือก table ที่จะ backup เวลาต้องการเฉพาะบางบอร์ด
และถ้าบอร์ดใหนมีช่องโหว่เวลาโดน hack เข้ามาลบ db ก็โดนลบแค่ของตัวเอง
(แต่ละ db ต้องใช้ user/passwd แยกกัน ถ้ามีหลาย db แต่ใช้ user เดียวกันก็มีสิทธิ์โดนลบหมด)

มีใครเคยทดสอบ ประสิทธิภาพ ของ MySQL ไหมครับ??

ผมมีระบบ ที่ต้องรองรับ สำหรับ 30ล้าน records ต่อเดือน

ถ้า MySQL ไม่ไหว ผมยังมอง MaxDB อยู่

<_<

30m record หรือ 30m query ครับ?

เรื่อง db นี่ไม่แน่ใจนะครับ
ความรู้สึกบอกว่า แยกดีกว่า จะได้สะดวกต่อการจัดการ
แล้วเวลา backup จะสะดวกกว่า

มีใครเคยทดสอบ ประสิทธิภาพ ของ MySQL ไหมครับ??

ผมมีระบบ ที่ต้องรองรับ สำหรับ 30ล้าน records ต่อเดือน

ถ้า MySQL ไม่ไหว ผมยังมอง MaxDB อยู่

<_<

น่าจะหมายถึงรองรับ 30M insert ใช่ไหมครับ

เอาแบบว่าของ ThaiLE แล้วกัน วันละประมาณ 2.5 M request ครับ
ซึ่งจะเท่ากับการ insert transaction อย่างเดียวก็วันละ 2.5 M
เดือนนึงก็ตก 50-60 M record (เฉพาะ transaction log)
ไม่นับ table อื่นๆ และ query อื่นๆอีกแยะ

ถ้านับรวมเป็นจำนวน query ก็ตกวันละประมาณ 15M queries
หรือเดือนละ 450M queries ครับ

เอาอยู่ครับ

จะมีความต่างกันในส่วนของ limit connection ด้วยครับ

น่าสนใจครับ นี่อาจทำให้ผมไม่ต้องใช้ MsSQL, Oracle

ขอทราบ spec database server ด้วยครับ
ไม่ทราบว่า มีการ config อะไรเป็นพิเศษหรือเปล่าครับ?

น่าสนใจครับ นี่อาจทำให้ผมไม่ต้องใช้ MsSQL, Oracle

ขอทราบ spec database server ด้วยครับ
ไม่ทราบว่า มีการ config อะไรเป็นพิเศษหรือเปล่าครับ?

http://www3.thaile.com/phpbb/viewtopic.php?t=60

สถิติเก่า และรายละเอียดครับ

ยอดเยี่ยมมากครับ เค้นทุกเม็ดจริงๆ :lol:

ถึงกับงงรับประทานไปเลยฮ่ะๆๆ เยี่ยมจริงๆ
ขอบคุณสุดยอดการ tuning by k.pizzaman ^^

ปุ๊ก

Update ล่าสุด ช่วงหลังนี้มี BXC request วันละประมาณ 2.5M ครั้ง
Load average ช่วงกลางวัน อยู่ระหว่าง 6 - 15 มี peak ประมาณ 30 เป็นครั้งคราว

อาการยังสบายดีครับ :slight_smile:

มีการปรับปรุงระบบไปนิดนึง คือเปลี่ยนตัว web server จาก apache2+mod_php ไปเป็น litespeed+lsapi->php
ความเร็วดีขึ้นพอประมาณ แต่ที่ดีมากคือ memory pressure ลดลงเยอะมากๆๆๆๆ ใครยังไม่เคยลองใช้ได้เลยครับ
ดูรายละเอียดของ litespeed ได้ที่ www.litespeedtech.com

ตัว web server อาการสบายมาก แต่ที่เริ่มโหลดคือ MySQL (ตามคาด)

ตัว web server อาการสบายมาก แต่ที่เริ่มโหลดคือ MySQL (ตามคาด)

สงสัยต้องไปหา lssql มาใช้ร่วมกับ lsws แล้วม้างงง

เคยลองเทสดูแล้วครับถ้าเวบใช้ mysql มันไปหน่วงที่ mysql เลยได้ benchmark ออกมาแทบไม่ต่างกันเลย แต่ถ้าเป็น html, php แล้วล่ะก็ เร็วกว่าซัก 20-30% ได้เลย

เสียอย่างเดียวไม่ save config เหมือน apache ดัน save เป็น xml ทำได้แค่ import config มาตอนแรก ไม่งั้นเอาไปแทนได้สบายเลย เพราะ cp ส่วนใหญ่รองรับแต่ apache

lsws อ่าน apache config ได้โดยตรงเลยครับ แืทบจะ compat เกือบหมดเลย ลองดูนะครับ

lsws อ่าน apache config ได้โดยตรงเลยครับ แืทบจะ compat เกือบหมดเลย ลองดูนะครับ

ลองเล่นดูแล้วครับ ตอนนี้เลยกำลังสั่งให้ squid redirect เข้า lsws หมดเลย