เว็บผมล่มประจำเลย พอคนเริ่มเข้าเยอะๆเอาล่ะ max_user_connections ข้อความนี้โผล่มากับ error ทุกครั้ง
จะแก้ไขยังไงดีครับ ใช้ share hostอยู่
8,000UIP 400,000PV ต่อวัน
เว็บผมล่มประจำเลย พอคนเริ่มเข้าเยอะๆเอาล่ะ max_user_connections ข้อความนี้โผล่มากับ error ทุกครั้ง
จะแก้ไขยังไงดีครับ ใช้ share hostอยู่
8,000UIP 400,000PV ต่อวัน
นะนำให้หันไปใช้ VPS หรือไม่ก็ dedicated ครับ
น่าจะเกี่ยวกับ Mysql หรือเปล่านะครับ
VPS ต่างประเทศค่อนข้างจะแพงน่าดูเลยล่ะครับ
ลองถามทางโฮสดูครับว่า max_user_connection ตั้งไว้เท่าไหร่ (หรือดูผ่าน phpmyadmin ก็ได้เหมือนกัน)
ถ้าค่าเกิน 30 ขึ้นไปอยู่แล้ว แสดงว่า script คุณมีปัญหา เรื่อง slow-query / table lock
ถ้าสามารถขอ slow-query log จากทางโฮสได้ก็จะแก้ไขได้ง่ายขึ้น แต่ถ้าไม่ได้ก็ใช้วิธีดู process list ผ่าน phpmyadmin ช่วงที่ peakๆ เอาได้เหมือนกัน
เว็บผมก็เคยมีปัญหา user online แค่ 50 คนก็เดี้ยงแล้ว แต่หลังจากแก้เรื่อง database แล้ว ตอนนี้ online เกิน 100 คน สบายๆ mysql establish connection เฉลี่ยอยู่ที่ 2-3 connection เอง (แต่เห็นแบบนี้ไม่ใช่ว่า limit max_user_connection ไว้แค่ 10 แล้วจะพอนะครับ เพราะบางที connection จะมาพร้อมกันเป็นวูบๆ ถ้าตั้งไว้น้อยก็เกิดปัญหา connection limit ได้ อย่างน้อยๆก็ควร 50 ขึ้นไป อย่างถ้าเว็บใหญ่ๆคนเข้าพร้อมกันเยอะๆบางทีต้องมากกว่า 300 )
max user connections ตั้งไว้ที่ 200 อ่ะครับ
คนเข้าพร้อมกันนี่ Peak สุด
[quote author=andria link=topic=12710.msg124088#msg124088 date=1217713088]
max user connections ตั้งไว้ที่ 200 อ่ะครับ
คนเข้าพร้อมกันนี่ Peak สุด
ตอนที่มันล่มจะมีข้อความ error นี่ด้วยครับ
E_WARNING - mysql_connect() [function.mysql-connect]: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (11)
ทีนี้พอผมพยายามเข้า PHPMyadmin เพื่อดูโปรเซส ก็เห็นมีรายการเยอะแยะเลยครับ ประมาณ 20 กว่าๆได้
ดู query สิครับว่ามัน query ว่าอะไร แล้วไปไล่ดู table นั้นอีกที ไล่ไม่เป็นก็เอา query มาดู
อันที่มีปัญหาดูไม่ยากหรอกครับ เพราะมันจะเป็นคำสั่งเดียวกันหรือคล้ายๆกัน