ถ้าเครื่องเซิร์ปเวอร์มีการโหลดสูงมาก เฉลี่ยประมาณ 2 กว่า ขึ้นไป
เนื่องจากลูกค้าใช้ mysql อัพเดต เพิ่มข้อมูลตลอดเวลาเป็นจำนวนมากๆ
ทำให้ apache ทำงานหนัก จนบางครั้งอืด หรือดาวน์ไปเลย
สเปคเครื่องเซิร์ปเวอร์ ก็ดีนะครับ แรม 1 G , CPU XEON DUALCORE 3.0
ใช้ DA อยู่ครับ ยังโหลดสูงอยู่เลย
ดูจากคำสั่ง TOP แล้ว CPU อยู่ที่ราวๆ 10% แรมใช้ไป 75%
แบบนี้ควรแก้ไขอย่างไรครับ หรือต้องไป config ตรงไหนให้สูงๆ หรือป่าวครับ
ใครพอทราบช่วยด้วย
ขอบคุณมากครับ
pook
March 15, 2007, 11:00am
3
ว่าแต่ทำเว็บอะไรเหรอครับ แต่ถ้าอืดแล้วตายไปเลย
อย่างแรกก็คงต้องปรับจูนกันไปก่อนคัรบ แล้วดูว่า
ยังพอรับได้ไหวมั๊ย ถ้าได้ปรับอะไรเพิ่มไป ถ้าไม่ได้
ดูต่อว่าอะไรขาดก็เพิ่มเติมเข้าไปครับ
ผมอาจจะพูดแค่กลางๆ นะครับ ลองตรวจสอบดูครับ
ปุ๊ก
system
March 15, 2007, 11:01am
4
เรื่อง Traffic สูง
Tuning MySQL
Tuning Apahce
Tuning OS/Kernel
ปรับ Buffer Allocated Memory ให้เหมาะกับ MySQL ระลึกเสมอว่า MySQL ต้องสามารถ Query ได้ราบรื่นก่อนเป็นอันดับแรกครับ
ปรับ Apache ให้รับภาระโหลดที่เหมาะสม ไม่มากจนเกินไปจนเกิดภาวะ Waiting ซึ่งจะทำให้ทั้งระบบช้าตามกันไปหมด ทั้งนี้สัมพันธ์กับ MySQL Tuning ด้วยครับ
หากใช้งาน Process & Traffic มากจริง คงต้องแยก MySQL Server ออกไปอีกเครื่องหนึ่งครับ หลังจาก Tuning หมดแล้วทุกอย่าง ก็ยังรับภาระโหลดสูงเกินกำลัง ก็ต้องขยับขยายเครื่องและหน่วยความจำครับ
คงต้อง admin ปรับแต่งกันอย่างต่อเนื่องเป็นเฉพาะเครื่องๆไปครับ ไม่มีสูตรสำเร็จด้าน Tuning ตายตัว โดยทั่วๆไปก็อ่านจากลิงค์ที่แนะนำข้างบนนั้นครับ
หากเราไม่ใช่ admin คงต้องให้คนด้านนี้ดูแลมากกว่าครับ server บ่ใช่ desktop ครับ มีรายละเอียดปลีกย่อยมากมาย มิอาจจะบรรยายออกมาเป็นสูตรสำเร็จได้เท่าที่ควรครับ
ขอบคุณมากครับ สำหรับเทคนิค จะลองดูครับ
แต่เครื่องผมใช้แค่ 1 โดเมนเท่านั้น โหลดแต่ mysql เนี้ยแหละ ก็หนักแล้ว
ส่วนอื่น เร็วปกติ เปิดเว็ปก็เร็วอย่างอื่นเร็วหมด ยกเว้น mysql ไปทำให้ apache รันหนัก เฮ้อ
system
March 15, 2007, 12:03pm
6
1 โดเมน… ไม่ใช่คำตอบว่า 1 เครื่องจะรับได้หมดครับ เว็บลูกค้าใช้ 1 โดเมน แต่เครื่อง 3 เครื่อง…
ขอถามอะไรบ๊องๆ หน่อยครับ ไฟล์ my.cnf อยู่ที่ไหนคับ
ผมใช้ Centos อยู่ครับ เห็นบอกว่าอยู่ที่ /etc/my.cnf แต่ไม่เห็นจะมีเลยครับ
ใครทราบบ้างครับ ช่วยบอกหน่อยว่าอยู่ที่ไหน
icez
March 16, 2007, 4:21pm
8
สร้างเองเลยครับ
/etc/my.cnf นั่นแหละครับ
สร้างเองแล้วต้องไป edit file อะไรด้วยหรือป่าวครับ
Mysql จะดึงมาใช้เลยเรอครับ
icez
March 16, 2007, 4:39pm
10
ถ้าติดตั้งแบบ rpm สำหรับ centos / fedora / redhat นะครับ
ถ้ามันตรวจพบแฟ้ม /etc/my.cnf มันจะเอาการตั้งค่ามาใช้เลย
ไม่ต้องแก้ไขใดๆ ทั้งสิ้น
ยกเว้นติดตั้งจาก source
kke
March 16, 2007, 4:59pm
11
จริงๆแล้วโหลด 2 ถือว่าไม่สูง เครื่องๆนึงจูนดีๆรับได้ถึง 20 สบายๆ
ตอนโหลด 20 ก็ยังเรียกหน้าเวบได้ไวไม่หน่วง แต่ถ้าเกิน 30 ขึ้นไปแล้วจะเริ่มออกอาการ
และก็ต้องดูองค์ประกอบอย่างอื่นด้วย เช่น memory เหลือเท่าไหร่
swap ถูกใช้งานหรือไม่ มากแค่ใหน (swap ยิ่งใช้เยอะก็จะยิ่งช้ามาก)
mysql ใช้ memory ไปเท่าไหร่
มี process อันใหนที่ใช้ memory สูงผิดปกติหรือไม่
มี log ไฟล์ที่ไม่ได้ rotate ทำให้มีขนาดใหญ่มากหรือไม่
ผมจะก็อป text จาก pc เครื่องผมเองลงไฟล์บน shell ทำไงครับ
ถ้าจะให้พิมพ์เองก็ยาว
ใช้ PuTTY อยู่หรือเปล่าครับ http://www.putty.nl/download.html
Copy ข้อมูลจากเครื่องมาได้เลย แล้วไปคลิกขวาใน PuTTY
ใช้แล้วจะติดใจ
โอ้ พระเจ้าช่วย กล้วยทอด
ผมใช้ putty มาตลอด ดันไม่เคยคลิ้กขวาเลย อะไรจะง่ายปานนั้น เริ่มติดใจแล้ว 555 เจ๋ง
เสี้ยวมานาน เวง
ขอบคุณมากครับ
ผมก็รู้มาโดยบังเอิญเหมือนกันครับ