ก๊วนซอฟท์แวร์ </softganz> SoftGang (Gang Software)

Web &amp; Software Developer Gang.

ความหมายของแต่ละ apache directives ครับ

by Little Bear @26 พ.ค. 54 10:04 ( IP : 61...59 ) | Tags : Apache

KeepAlive = เมื่อเสร็จ request แล้วยังไม่ต้องปิด connection ให้รอดูว่าจะมี request เข้ามาอีกรึเปล่า ถ้ามีก็ใช้ connection นี้ต่อไปเลย มีประโยชน์สำหรับเว็บที่มี request เยอะๆใน 1 หน้าเว็บ – รูปภาพ 1 รูปนับเป็น 1 request – 1 frame นับเพิ่มอีก 1 request (รูปใน frame นับเพิ่มต่างหากอีก) ดังนั้นเว็บที่มีพวกนี้เยอะๆควรเปิด keepalive ไว้ เพื่อลดจำนวน connection ที่เข้ามา

TimeOut = ช่วงเวลารอการส่งข้อมูลของ apache กับโปรแกรม backend(เช่น PHP, Cgi) หรือ user(คนที่เปิดเว็บ) ถ้ามันรอนานเกินเวลาที่ตั้งเอาไว้มันจะปิด connection เอง ค่านี้ปกติไม่ต้องแก้ เพราะค่า default ก็ใช้ดีอยู่แล้ว

MaxKeepAliveRequests = จำนวนครั้งสูงสุดที่ 1 connection จะสามารถรับ request ได้ (กรณีเปิด keepalive เท่านั้น) ถ้าใน 1 connection รับ request เกินที่กำหนดไว้ connection นั้นจะปิดลงเองอัตโนมัติ ค่านี้ควรตั้งไว้เยอะๆ เพราะไม่เช่นนั้นจะไม่ต่างอะไรกับการเปิด Keepalive

KeepAliveTimeout = (ใช้กับ keepalive)หลังจากรับ request เสร็จ apache จะรอ request ถัดไป ถ้า request ถัดไปไม่เข้ามาภายในเวลาที่กำหนด connection จะปิดลงอัตโนมัติ

StartServers = จำนวน child server processes เมื่อ start apache

MinSpareServers = ถ้ามี child server processes ที่ว่างงานต่ำกว่าค่าที่กำหนดไว้ apache จะสร้าง ถ้ามี child server processes ขึ้นมาใหม่จนกว่าจะมี ถ้ามี child server processes ที่ว่างงานเท่ากับค่าที่กำหนด (อัตราการสร้าง ถ้ามี child server processes อยู่ที่ 1 ถ้ามี child server processes ต่อ 1 วินาที)

MaxSpareServers = ถ้ามี child server processes ที่ว่างงานรวมกันแล้วเกินค่าที่กำหนดไว้ child server processes ที่ว่างงานจะถูกปิดลงเพื่อให้มีจำนวน child server processes ที่ว่างงานไม่เกินค่าที่กำหนด

MaxClients = จำนวน child server processes ทั้งหมดที่ apache จะมีได้ ค่าสูงสุดจะถูกจำกัดไว้ที่ 256 ถ้าต้องการมากกว่านี้ต้องไปแก้ค่า ServerLimit ให้เกิน 256 ด้วย

MaxRequestsPerChild = ถ้า child server processes รับ reuqest ถึงค่าที่กำหนดไว้ child server processes จะถูกปิดเพื่อคืนทรัพยากรกลับสู่ระบบ ค่านี้ควรตั้งไว้ต่ำๆ เนื่องจากในแต่ละ request มีการใช้ทรัพยากรไม่เท่ากัน และในแต่ละครั้งที่เรียกใช้ทรัพยากร child server processes จะไม่คืนทรัพยากรให้แก่ระบบจนกว่า child server processes จะถูกปิด ดังนั้นถ้า child server processes ทำงานต่อเนื่องเป็นเวลานาน อาจทำให้มีการถือครองทรัพยากรเกินความจำเป็นทำให้ทรัพยากรของระบบไม่พอ

ที่มา blog.resellerthailand.com