ความหมายของแต่ละ apache directives ครับ
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 ทำงานต่อเนื่องเป็นเวลานาน อาจทำให้มีการถือครองทรัพยากรเกินความจำเป็นทำให้ทรัพยากรของระบบไม่พอ
Relate topics
- macOS 12 Monterey: Web Server Setup/Apache/MariaDB/PHP Multiple Versions
- อีกที : macOS 11.0 Big Sur Apache/MiriaDB/PHP Setup
- Apache Config on Ubuntu Server :: Manual add new site
- เช็คเงื่อนไข url request ใน .htaccess
- Make Macbook Pro to be Web Server
- Make Ubuntu to be a web server (LAMP)
- Apache Rewrite - ยากจริง ๆ
- dir ที่สามารถ upload file ได้ให้ทำการป้องกันไม่ให้ php perl ทำงานได้
- How to install Lighttpd+PHP4+MySql5 on Ubuntu 8.10
- Content-Type
- Change my life to Ubuntu
- How to set apache to use clean url ?
- How to set apache to use clean url ?