วิธีการปรับแต่ง apache คือ แก้ไขไฟล์ “/etc/apache2/apache2.conf” หรือถ้าเป็น version เก่า httpd.conf ภายในไฟล์จะมีค่าต่างๆให้ config มากมาย แต่เราจะมาดูในหัวข้อที่สําคัญๆดังนี้ครับ
Timeout หมายถึง เมื่อ browser ติดต่อเข้ามาหา server แล้วรอนานกี่วินาที ถ้า server ไม่ตอบกลับภายในเวลาที่ config ไว้จะถือว่า timeout ค่า default จะอยู่ที่ 300 วินาที
KeepAlive คือ ถ้า KeepAlive เป็น ON หมายความว่า เมื่อ user ติดต่อเข้ามาหา server ให้ process เดียวในการจัดการกับ request ทั้งหมดสําหรับ user คนนั้น จะทําให้เว็บตอบสนองเร็วมาก เพราะไม่ต้องสร้าง connection ใหม่สําหรับทุกๆ request
จะสนใจก็ต่อเมื่อ KeepAlive เป็น ON ค่า default คือ 5 หมายความว่าถ้า user ไม่ได้ทําการติดต่อเข้ามาหา server ภายใน 5 วินาที ระบบจอปล่อยให้ process นั้นเป็นอิสระ ให้ไปทํางานให้ user อื่นต่อไป
MaxRequestsPerChild คือให้ process สามารถทํางานติดต่อกันได้กี่ request ก่อนที่จะคืนหน่วยความจําให้กับระบบ เพื่อป้องกันปัญหา memory leak ถ้า KeepAlive เป็น ON และค่า MaxRequestPerChild 5000 นั่นหมายความว่า จะต้อง process ให้กับ user มากถึง 5000 session ถึงจะคืน memory ให้กับระบบ ควรลดค่านี้ลงให้เหลือซักประมาณ 300 เพื่อที่ระบบจะได้คืน memory เป็นระยะๆ โดยปกติแล้ว webpage 1 หน้าจะประกอบด้วย request หลายๆ request เพราะว่าใน 1 page มีทั้งไฟล์ css, photo, html
MaxClients หมายถึง จํานวนสูงสุดที่ user request เข้ามาหา server ได้พร้อมๆกัน เช่นถ้ากําหนด MaxClients เป็น 100 หมายความว่า สามารถให้ user request เข้ามาพร้อมกันสูงสุดคือ 100 request MaxClients ควรปรับให้เหมาะสมกับทรัพยากรเครื่องserver คือเมื่อ user request เข้ามา server จะสร้าง process ขึ้นมา ทําให้มีการใช้งาน memory เพิ่มขึ้น ถ้า มี user request เข้ามามากเกินไปจะทําให้ใช้งาน cpu และ memory มาก จนเครื่องแฮงได้ ดังนั้นควรปรับให้พอดีกับ ทรัพยากรของเครื่อง
สวัสดีครับ ในบทความนี้ก็เป็น EP.5 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Go Routine ซึ่งเป็นเรื่องสําคัญมากในการพัฒนาโปรแกรมด้วยภาษา Go เพราะจะช่วยให้เราสามารถพัฒนาโปรแกรมที่มี Performance ที่ดีครับสําหรับท่านใดที่ยังไม่ได้อ่าน EP.4 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.4 Syntax ของภาษา Goมาเริ่มเรียนรู้ไปด้วยกันตามหัวข้อด้านล่างเลยครับ
dpi คืออะไร ?dpi(dots per inch) คือ จํานวนจุด ต่อ 1นิ้ว เป็นหน่วยของ ความละเอียดในการแสดงผลของสื่อแสดงผลประเภทต่าง เช่น หน้าจอ, printer, โปรเจคเตอร์ ฯลฯ หรืออุปกรณ์อื่นใดที่สามารถแสดงภาพได้ ซึ่งเราจะสามารถมองเห็นภาพ ได้ดีที่สุดแค่ความละเอียด (dpi) ของสื่อนั้นๆ เช่น 5dpi หมายถึง ใน 1 ตารางนิ้ว จะมีจุดสี(pixel) จํานวน 5x5 = 10 จุด
สวัสดีครับ สําหรับบทความนี้ผมจะยกตัวอย่างการทํา Relative path ใน React ครับ เนื่องจากเมื่อไม่นานมานี้ผมเจอเหตุการคือเว็บที่เราเขียนด้วย React ไม่ได้อยู่ใน Root path เช่น เว็บไซต์เราไปอยู่ใน path "/profile/" ไม่ได้อยู่ใน "/"