Remote Connect MySQL ทำไม fetched data ช้ามาก?

Remote Connect MySQL ทำไม fetched data ช้ามาก ?

อธิบายด้วยรูปเอาแล้วกันครับ (ทั้ง 2 เครื่องเป็น OS windows 2003 ทั้งคู่ ฐานข้อมูล INNODB)

อันนี้คือการเชื่อมต่อเครื่องตัวเอง = Localhost ครับ

อันนี้หลังจากการทำ Remote ไปยังอีกเครื่องที่เป็นตัวเ้ก็บฐานข้อมูล

ไม่ทราบว่าจะต้องทำอย่างไรบ้าง ให้มันดีขึ้นกว่านี้ครับ ต้องเข้าไปทำอะไรกับ my.ini หรือไม่ครับ

ขอบพระคุณมากครับ

server 2 เครื่อง ping กันได้กี่ ms คัรบ?

ตอนนี้คุณ ไอซ์ คิดว่า ปัญหาที่เกิดขึ้นน่าจะเกี่ยวข้องกับความเร็วของอินเตอร์เน็ตใช่มั้ยครับ ?

โดยปกติแล้วการทำรีโมท, ความไวของการ fetch data มันจะใกล้เคียงกับแบบของ localhost หรือไม่ครับ ?

ขึ้นกับความเร็ว internet ครับ
มีผลทั้ง bandwidth ทั้ง latency เลย

latency มาก = connect ติดช้า เสียเวลากว่าจะ connect ติด
bandwidth น้อย = กว่าจะส่งข้อมูลเสร็จก็นาน

ลองนึกถึงการขนของจากบ้านนึงไปอีกบ้านดูครับ

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

แต่ถ้าข้ามหมู่บ้านเลยก็… ตัวใครตัวมันล่ะครับ

เอ แอพพลิเคชั่น คงไม่ได้ต้องการทีละ สามแสนเรคคอร์ดมั่งครับ สามแสนเรคคอร์ดไม่น่าจะแสดงผลได้นะนี่

เออนั่นสิ ลืมนึกไป lol

select แต่พอเพียง
เลือกเอาเฉพาะ field ที่ใช้
อย่าใช้ select *
ใช้กี่ record ก็ใส่ limit ให้มันด้วย
ถ้าจะเอาแค่นับจำนวนแถวก็ใช้ select count(*)

300,000 record ถ้า record นึง 100 byte ก็เกือบๆ 30 MB เข้าไปแล้วคัรบ กว่ามันจะส่งกันหมดก็นานโขเลย

เอ… อ่านแล้วยังงงๆกับภาษาอังกฤษ ต้องขออภัยนิดหน่อยครับ พอดีตึบๆเล็กน้อย (มือใหม่ครับ)

ถ้าสมมุติว่า ความเร็วของอินเตอร์เน็ตเท่ากัน …

ตอนนี้เช่า dedicated สายร้อยตรง ทั้ง 2 เครื่อง

ให้เครื่อง A เป็นฐานข้อมูล แล้วเครื่อง B เรียกใช้ฐานข้อมูลจากเครื่อง A

รบกวนคำถาม 2-3 ข้อครับ

  • ถ้าเครื่อง B เรียกใช้ฐานข้อมูลจากเครื่อง A ความไวที่ได้จะใกล้เคียงกับ Localhost มากน้อยแค่ไหนครับ ถ้าการเรียกใช้ฐานข้อมูล 1 ตาราง มีขนาดประมาณ 30MB


  • เครื่อง A จะให้มีประสิทธิภาพในการเขียน / อ่านข้อมูล นอกจากความเร็วอินเตอร์เน็ตแล้ว มันจะต้องเกี่ยวกับชิพประมวลผลหรือไม่ครับ (พวก pentium4, duo core, xeon)


  • เครื่อง A จะต้องมี harddisk ที่ดีด้วยหรือไม่

ไม่ว่ายังไง ขนของข้ามบ้านก็เสียเวลา ยิ่งของเยอะยิ่งใช้เวลานาน
(กว่าจะ pack กว่าจะส่งออกมา ไหนจะต้องเอาไปจัดใหม่ในบ้านใหม่)

คำถาม? เครื่อง A กับเครื่อง B อยู่ใน network วงเดียวกันรึเปล่าคัรบ? หรือเช่าคนละที่
ping จากเครื่อง A ไปเครื่อง B ได้เท่าไหร่ (ถามตั้งแต่ reply แรกแล้วไม่ยอมตอบซักที)

[s]time = 21ms

ให้ดีต้องต่อสาย cross เลยครับ
ไม่งั้นมันก็ช้า อืดอย่างนี้แหละ

แล้วก็… ปรับ app ก็ดีนะ

่ต่อ cross คือ ต่อเชื่อมเครื่องต่อเครื่องใช่มั้ยครับ ?

แล้วชิพประมวลผลจำเป็นจะต้อง duo core หรือ xeon หรือไม่ครับ หรือแค่ pentium ก็พอแล้วสำหรับรัน database เพียงอย่างเดียว

แล้วแต่การใช้งานครับ ดูๆ ไปละกันว่า cpu มันพอกะความต้องการมั้ย

[quote author=Sausage link=topic=21807.msg206099#msg206099 date=1249848228]
[s]time = 21ms

เหตุผลของการแยก DB ออกจากเว็บ ก็เพราะว่าจะได้ให้เครื่องไม่ต้องทำงานหนัก
แต่บางที่ไม่เข้าใจ เอา firewall มากันอีก บอกว่า web กับ database อยู่วงเดียวกัน
ไม่ได้ จะโดน hack ผมยังเซ็ง hack เข้าเว็บได้ ก็เข้า DB ได้ สบาย ๆ …

[quote author=Sausage link=topic=21807.msg206099#msg206099 date=1249848228]
[s]time = 21ms