Remote Connect MySQL ทำไม fetched data ช้ามาก ?
อธิบายด้วยรูปเอาแล้วกันครับ (ทั้ง 2 เครื่องเป็น OS windows 2003 ทั้งคู่ ฐานข้อมูล INNODB )
อันนี้คือการเชื่อมต่อเครื่องตัวเอง = Localhost ครับ
อันนี้หลังจากการทำ Remote ไปยังอีกเครื่องที่เป็นตัวเ้ก็บฐานข้อมูล
ไม่ทราบว่าจะต้องทำอย่างไรบ้าง ให้มันดีขึ้นกว่านี้ครับ ต้องเข้าไปทำอะไรกับ my.ini หรือไม่ครับ
ขอบพระคุณมากครับ
icez
August 10, 2009, 2:07am
2
server 2 เครื่อง ping กันได้กี่ ms คัรบ?
ตอนนี้คุณ ไอซ์ คิดว่า ปัญหาที่เกิดขึ้นน่าจะเกี่ยวข้องกับความเร็วของอินเตอร์เน็ตใช่มั้ยครับ ?
โดยปกติแล้วการทำรีโมท, ความไวของการ fetch data มันจะใกล้เคียงกับแบบของ localhost หรือไม่ครับ ?
icez
August 10, 2009, 2:34am
4
ขึ้นกับความเร็ว internet ครับ
มีผลทั้ง bandwidth ทั้ง latency เลย
latency มาก = connect ติดช้า เสียเวลากว่าจะ connect ติด
bandwidth น้อย = กว่าจะส่งข้อมูลเสร็จก็นาน
ลองนึกถึงการขนของจากบ้านนึงไปอีกบ้านดูครับ
connect ไป localhostนี่เหมือนแค่จัดที่จัดทางมันนิดๆ หน่อยๆ แป๊ปเดียวก็เสร็จ
บ้านคนละหลัง แต่ในหมู่บ้านเดียวกัน ก็เร็วหน่อย
แต่ถ้าข้ามหมู่บ้านเลยก็… ตัวใครตัวมันล่ะครับ
เอ แอพพลิเคชั่น คงไม่ได้ต้องการทีละ สามแสนเรคคอร์ดมั่งครับ สามแสนเรคคอร์ดไม่น่าจะแสดงผลได้นะนี่
icez
August 10, 2009, 2:50am
6
เออนั่นสิ ลืมนึกไป 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 ที่ดีด้วยหรือไม่
icez
August 10, 2009, 2:59am
8
ลองนึกถึงการขนของจากบ้านนึงไปอีกบ้านดูครับ
connect ไป localhost นี่เหมือนแค่จัดที่จัดทางมันนิดๆ หน่อยๆ แป๊ปเดียวก็เสร็จ
[color=red]บ้านคนละหลัง แต่ในหมู่บ้านเดียวกัน ก็เร็วหน่อย
แต่ถ้าข้ามหมู่บ้านเลยก็… ตัวใครตัวมันล่ะครับ[/color]
ไม่ว่ายังไง ขนของข้ามบ้านก็เสียเวลา ยิ่งของเยอะยิ่งใช้เวลานาน
(กว่าจะ pack กว่าจะส่งออกมา ไหนจะต้องเอาไปจัดใหม่ในบ้านใหม่)
คำถาม? เครื่อง A กับเครื่อง B อยู่ใน network วงเดียวกันรึเปล่าคัรบ? หรือเช่าคนละที่
ping จากเครื่อง A ไปเครื่อง B ได้เท่าไหร่ (ถามตั้งแต่ reply แรกแล้วไม่ยอมตอบซักที)
icez
August 10, 2009, 3:11am
10
ให้ดีต้องต่อสาย cross เลยครับ
ไม่งั้นมันก็ช้า อืดอย่างนี้แหละ
แล้วก็… ปรับ app ก็ดีนะ
่ต่อ cross คือ ต่อเชื่อมเครื่องต่อเครื่องใช่มั้ยครับ ?
แล้วชิพประมวลผลจำเป็นจะต้อง duo core หรือ xeon หรือไม่ครับ หรือแค่ pentium ก็พอแล้วสำหรับรัน database เพียงอย่างเดียว
icez
August 10, 2009, 3:17am
12
แล้วแต่การใช้งานครับ ดูๆ ไปละกันว่า cpu มันพอกะความต้องการมั้ย
[quote author=Sausage link=topic=21807.msg206099#msg206099 date=1249848228]
[s]time = 21ms
ton1
August 10, 2009, 10:26am
14
เหตุผลของการแยก DB ออกจากเว็บ ก็เพราะว่าจะได้ให้เครื่องไม่ต้องทำงานหนัก
แต่บางที่ไม่เข้าใจ เอา firewall มากันอีก บอกว่า web กับ database อยู่วงเดียวกัน
ไม่ได้ จะโดน hack ผมยังเซ็ง hack เข้าเว็บได้ ก็เข้า DB ได้ สบาย ๆ …
kke
August 10, 2009, 5:19pm
15
[quote author=Sausage link=topic=21807.msg206099#msg206099 date=1249848228]
[s]time = 21ms