พอเริ่มเปิดให้มาใช้งานมาสมัครสมาชิกกัน รู้สึกว่ามันหน่วงๆ ค้างๆ
พอ restart ทีนึงก็จะเร็วขึ้นมาพักนึง ใช้ๆไปก็ค้างๆอีก
ตอนนี้เลยให้ cron มันจัดการ restart เป็นระยะๆแทน ซึ่งผมว่าไม่น่าใช่วิธีที่พึงกระทำเท่าไหร่ -_-"
FreeBSD blog.hotwave.fm 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sun May 7 04:32:43 UTC 2006 root@opus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น
ผมลองเข้า http://blog.hotwave.fm/ แล้วมีอาการช้าอย่างเห็นได้ชัด แบบนี้ไม่ใช่แค่หน่วงแล้วละครับ ต้องมีอะไรแปลกๆ แน่
เมื่อกี๊อยู่ๆ ก็เร็วขึ้น คาดว่าได้รับการรีสตาร์ตไปหน่อย ไม่ทราบว่ารีสตาร์ตอะไรครับ apache?
ตอนนี้ restart apache ไปหนะคับ ด้วย apachectl restart
ในส่วนของ ข้อ 3 กับ 4 นี่ผมทำไว้แล้วแต่ก็ยังเป็นอย่างที่คุณ sugree เจอหนะครับผม มันอืดดดดไปเลยครับผม
apache นี่ผมกำหนดไว้
MaxRequestsPerChild 20000
MaxSpareServers 256
MinSpareServers 100
StartServers 60
ตัว MaxRequestsPerChild นี่น่าจะปรับค่าลดลงมาดีป่าวครับผม
mysql นี่ยังไม่เคยจูนเลยครับ ไม่มีประสบการณ์กับมันเลย เริ่มต้นอย่างไรดีครับ T T
ลองเช็คค่าทั่วๆ ไปก่อนดีกว่าครับ ผมสังหรณ์ว่าแรมไม่พอ เริ่มจาก ps vmstat memstat และอื่นๆ อะไรก็ได้
www2# w
4:24PM up 317 days, 3:18, 1 user, load averages: 0.27, 0.38, 0.54
USER TTY FROM LOGIN@ IDLE WHAT
www2# ps uawx
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 11 94.0 0.0 0 8 ?? RL 20Jun06 428112:01.01 [idle]
ไอ้ process [idel] ตัวนี้ทำไมมันใช้ CPU เยอะจัง อื่มๆๆๆ
www2# top
last pid: 83282; load averages: 0.00, 0.17, 0.41 up 317+03:22:33 16:28:08
271 processes: 1 running, 270 sleeping
CPU states: 1.1% user, 0.0% nice, 0.0% system, 0.0% interrupt, 98.9% idle
Mem: 342M Active, 94M Inact, 163M Wired, 18M Cache, 73M Buf, 2436K Free
Swap: 1255M Total, 1238M Used, 17M Free, 98% Inuse
แรมมันเหลือ 2M เองแฮะครับ
โอ้โน้ ใช้ swap 98% น่ากลัวมาก
ตอนนี้ปรับ apache conf ใหม่คับ
MaxRequestsPerChild 500
MaxSpareServers 100
MinSpareServers 20
MaxClients 150
StartServers 50
แล้วลอง top ดูมันจะเป็น
last pid: 83450; load averages: 5.01, 2.11, 1.11 up 317+03:28:07 16:33:42
106 processes: 1 running, 105 sleeping
CPU states: 0.4% user, 0.0% nice, 1.1% system, 0.4% interrupt, 98.1% idle
Mem: 52M Active, 8092K Inact, 162M Wired, 280K Cache, 73M Buf, 397M Free
Swap: 1255M Total, 16M Used, 1239M Free, 1% Inuse
แรม 512M เหรอครับ
แฮ่ คำสั่งดูแรมนี่พิมพ์ยังไงแล้วหนะครับ พอดีเครื่องนี้เอาไปตั้งไว้ปีกว่าแล้วเลยจำ spec ไม่ได้หนะครับผม
ผมคิดว่าตั้งค่าสูงเกินไปมากครับ
StartServers 5
MinSpareServer 5
MaxSpareServers 20
ก็น่าจะพอแล้วครับ ใช้ prefork ก็ดี แต่อย่าให้มากไปเพราะ sleep เกือบหมด ไม่ได้ใช้อยู่ดี เปลือง memory
รายงานผลครับ ผมปรับ apache ให้มี process ลดลง แรมก็เพิ่มขึ้น ทีนี้เร็วแล้วครับ
แต่พอใช้ไปซักพักสงสัยเริ่มมีคนเข้าเว็บเพิ่มขึ้น process apache ก็เลยเพิ่มขึ้น แรมก็ลดลง พอเริ่มแตะ swap มากขึ้น ก็เริ่มช้าอีกแล้ว
ก็เลยไปปรับ apache ให้ process ลดลงอีกจึ๋งครับ แล้วเดี๋ยวจะดูไปอีกสักพัก
ท่าทางซื้อแรมอัดเข้าไปน่าจะเอาอยู่รึเปล่าหนอ
ดูแรมด้วย top หรือ vmstat หรือ memstat ก็ได้ครับ ผมว่าลดจำนวนโปรเซสของ apache ลงอีกน่าจะดีกว่านี้ไม่งั้นจะเกิดเหตุ thrashing แบบที่เป็นอยู่ น่ากลัวมาก
ขอบคุณครับ ท่าทางเครื่องนั้นจะเป็นแรม 512 จริงๆครับ และก็เอาไม่อยู่จริงๆครับ กับการใช้งานของเว็บผม เพราะน้องๆเขาจะเล่นกันแบบถี่มาก ภายใน 1 นาทีนี่โพสต์กันหลายข้อความเลย
ตอนนี้ลด process ของ apapche ลงมาอยู่ที่ 80 ใช้ swap ราวๆ 30% ท่าทางคงต้องลด process ลงไปอีก
เห็นทีต้องเอาเครื่อง Xeon ram 2G ไปบูชายัญใช้แทนเครื่องนี้ซะแล้ว
Drupal นี่เราเอาตัว php ไว้อีกเครื่องนึง แล้ว connect mysql ไปอีกเครื่องนึงได้มั๊ยครับ แบบว่าไม่ใช่ localhost หนะครับ
แยก mysql ก็ดีครับ อืม ผมว่ามันอาจจะเกิดจาก php ใช้แรมมากไป ลองเช็คใน php.ini ว่าให้
memory_limitเท่าไหร่ โดยปกติ forum กับ blog ไม่น่าใช้เกิน 8M-16Mเอ๊ะ ถ้า 80 ยังต้องใช้ swap นี่แปลว่าอาจจะไปกินที่ mysql นะเนี่ย ถ้าแรมน้อยจริงๆ อาจจะเซ็ต apache ให้เป็นแบบ mpm worker จะช่วยประหยัดได้เยอะ แต่อาจจะต้องเจอกับปัญหาของ thread บน freebsd แทน ผมไม่แน่ใจว่าจะเป็นยังไงเหมือนกัน ครั้งสุดท้ายที่เซ็ต freebsd เจอปัญหาเยอะเลยเปลี่ยนเป็น ubuntu หมดแล้ว
uptime น่าประทับใจมาก เก็บไว้อีกสองเดือนก็ครบปี
คุณสุกรีมีข้อมูลไหมครับ
อย่าง blognone นี่ config apache process ไว้ที่จำนวนเท่าไร
ต้องให้ mk กับ lew มาตอบครับ
นั่นสิครับ อันนี้ต้องถามลิ่ว (เป็น shared host น่ะครับ)
ตามนี้ครับ
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000