มีวิธีจูน apache แบบรีดพลังแบบสุด ๆ มาฝากครับ

ไหน ๆ ก็ผ่านเข้ามาในบอร์ดของพี่ pizzaman แล้ว ไม่อยากมาอ่านอย่างเดียว
ผมขอแชร์ประสบการณ์ด้วยก็แล้วกันครับ มีเพื่อน ๆ พี่ ๆ น้อง ๆ ชอบมาถาม
เกี่ยวกับเรื่องพวกการจูนเครื่อง ซึ่งหลัก ๆ ก็มี apache กับ MySQL
ผมจะแนะนำในการจูน apache ก่อนแล้วกันครับ ซึ่งก่อนที่จะจูน สิ่งแรกที่เราต้องทำ
คือรู้ระบบของตัวเองก่อน ว่าเครื่อง spec อะไรบ้าง CPU อะไร memory เท่าไร
ลง OS อะไรไว้ แล้วต้องการให้บริการ service อะไรเป็นพิเศษ …

ถ้าส่วนใหญ่ใช้เป็น web server ก็มาใช้ความสำคัญกับ apache เป็นพิเศษ
คือโดยค่า default แล้ว httpd.conf ที่มา จะกำหนดค่าต่าง ๆ ไว้น้อย
เพราะว่าเค้าไม่ได้รู้ว่าเครื่อง server เราแรงเท่าไร เค้าจะทำมาสำหรับ space ต่ำ ๆ
ก็สามาใช้งานได้ ที่นี้เราจะจูนอะไรบ้างดีล่ะ แต่ละค่าคืออะไร ผมจะอธิบายดังต่อไปนี้นะครับ
ที่ file /usr/local/apache/conf/httpd.conf (บาง OS ก็อยู่ที่อื่นนะครับ)
ค่าเริ่มต้นที่แนะนำมีดังนี้ครับ (เครื่องเสปค P4 3.0 GHz Memory 1.0 GB)

Timeout 30 # ค่าเดิม ๆ จะเป็น 300 ครับ ปรับลงมาแค่ 30 ก็พอครับกันพวก flood
KeepAlive Off # เว็บที่จำนวนคนเข้าเยอะ ๆ ควร off ไว้ครับ
MaxKeepAliveRequests 1024 # ค่าเดิมน่าจะเป็น 100 ปรับมาสัก 1024 ครับ
KeepAliveTimeout 10 # เดิม 15 ปรับลงมา 10 ก็พอครับ

ค่าเดิม
#StartServers

ดีเลยครับกำลังอยากจะปรับอยู่ จะลองเอาไปใช้ดูนะครับ ขอบคุณมากครับ

อยากจะแซวอ่ะน่ะ แต่ฝากไว้ก่อน

ตรง ServerLimit 1024 หากเป็น FreeBSD ต้องแก้ไข httpd.h ใน souce apachhe แล้ว re-compile ใหม่ และต้องไปแก้ที่ kernel ด้วยให้เปิดการเปิดไฟล์ hard_limit พอกันครับ

หมายเหคุ
ServerLimit หากปรับไว้มากๆ เวลาทำงานหนัก จะลำบากครับ ต้องดูกำลัง cpu & ram ว่ามากพอไหน ให้ดีต้องคำนวนด้วยมือนิดหน่อย

ขอบคุณครับพี่ต้น +1ๆ

Restart ไม่ขึ้นเลยครับ
เลยต้องเอาของเก่ามาใส่แทนถึงจะ restart ได้
ไม่รู้ว่าเป็นที่อะไรครับ
ใช้ CentOS 4.2 final

[quote author=siamwebsolution.com link=topic=5008.msg41887#msg41887 date=1165999161]
Restart ไม่ขึ้นเลยครับ
เลยต้องเอาของเก่ามาใส่แทนถึงจะ restart ได้
ไม่รู้ว่าเป็นที่อะไรครับ
ใช้ CentOS 4.2 final

ตามมาบวกให้ท่านต้นครับ เอาความรู้ความสามารถ
มาร่วมกันพัฒนาครับ เยี่ยมจริงๆ ครับ

ปุ๊ก

[quote author=212cafe.com link=topic=5008.msg41889#msg41889 date=1165999392]
เอา ServerLimit

ServerLimit หากจะทำต้องแต่ง kernel เพิ่มนะครับ และแนะนำทำกับพวก xeon หรือพวก multi core ไม่งั้น cpu รับภาระไม่ไหวครับ

error เพราะไม่ผ่านเรื่อง kernel config

ไม่เกี่ยวกับ kernel ครับ เกี่ยวกับ source ตอนเอา apache มา compile
ค่าปกติมันจะอยู่ที่ 256 ครับ สามารถแก้ แล้ว compile ใหม่ได้ครับ

ใน Linux ไม่ต้องครับ แต่ FreeBSD มันจะกำหนดไว้ไม่เกิน 512 ครับ (สำหรับ FreeBSD 4.x) 6.x ไม่ต้องแล้ว

ลองทำดูก่อน…แล้ว restart ก็จะทราบการ process ไปเอง มันจะฟ้อง error ออกมาตอนเราเช็ค config test

ขอบคุณพี่ devone ครับ เกิดไม่ทัน 4.xx

[quote author=212cafe.com link=topic=5008.msg41899#msg41899 date=1166000313]
ขอบคุณพี่ devone ครับ เกิดไม่ทัน 4.xx

[quote author=212cafe.com link=topic=5008.msg41865#msg41865 date=1165996645]
ปรับเพิ่มขึ้นเป็น
ServerLimit

[quote author=sailomsaengdaed link=topic=5008.msg41902#msg41902 date=1166001935]
ของผม ปรับเป็น 2048 นึกว่าน้อยแล้ว แต่ไหงมาเยอะกว่าพวกทำ hosting กันอีกเนี้ย
ของผมเมื่อก่อนใช้ redhat ตอนเรียน 4 > 7 > 7.3 |ตอนทำงาน 8 > fedora Core 1> 2 > gentoo
แต่โทษทียังใช้ apache 1.3 อยู่ครับ
เคยใช้ 2.0 แล้วเจอปัญหาเกี่ยวกับ header ของพวก Office ครับ ไปอ่านใน apache.org ก็มีคนเจอปัญหาเดียวกัน แล้วเค้าสรุปว่ามันจะมีปัญหากับพวก office

log ของ apache เฉพาะตัว access วันนึงก็ประมาณ 19-20 M ได้ครับ

ของผมวันนึง 3-40 GB ครับ

แล้วไม่คิดจะเผยแพร่สู่ สาธารณะ หน่อยเหรอครับสูตรคำนวณ

พี่ devone มีสูตรคำนวณมะครับ ผมไม่มีสูตรตายตัวอ่าครับ ค่อย ๆ ปรับทีละนิดเอา
จนมันรู้สึกได้ด้วยความรู้สึกว่าดีกว่าเดิม แล้วก็เอาโปรแกรม httpd benchmark วัดเอาครับ
ถึงสุดที่พอใจ ก็สรุปว่าใช้ได้ละ