ton1
#1
ไหน ๆ ก็ผ่านเข้ามาในบอร์ดของพี่ 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
ดีเลยครับกำลังอยากจะปรับอยู่ จะลองเอาไปใช้ดูนะครับ ขอบคุณมากครับ
ICOM
#3
อยากจะแซวอ่ะน่ะ แต่ฝากไว้ก่อน
system
#4
ตรง ServerLimit 1024 หากเป็น FreeBSD ต้องแก้ไข httpd.h ใน souce apachhe แล้ว re-compile ใหม่ และต้องไปแก้ที่ kernel ด้วยให้เปิดการเปิดไฟล์ hard_limit พอกันครับ
หมายเหคุ
ServerLimit หากปรับไว้มากๆ เวลาทำงานหนัก จะลำบากครับ ต้องดูกำลัง cpu & ram ว่ามากพอไหน ให้ดีต้องคำนวนด้วยมือนิดหน่อย
Restart ไม่ขึ้นเลยครับ
เลยต้องเอาของเก่ามาใส่แทนถึงจะ restart ได้
ไม่รู้ว่าเป็นที่อะไรครับ
ใช้ CentOS 4.2 final
ton1
#7
[quote author=siamwebsolution.com link=topic=5008.msg41887#msg41887 date=1165999161]
Restart ไม่ขึ้นเลยครับ
เลยต้องเอาของเก่ามาใส่แทนถึงจะ restart ได้
ไม่รู้ว่าเป็นที่อะไรครับ
ใช้ CentOS 4.2 final
pook
#8
ตามมาบวกให้ท่านต้นครับ เอาความรู้ความสามารถ
มาร่วมกันพัฒนาครับ เยี่ยมจริงๆ ครับ
ปุ๊ก
[quote author=212cafe.com link=topic=5008.msg41889#msg41889 date=1165999392]
เอา ServerLimit
system
#10
ServerLimit หากจะทำต้องแต่ง kernel เพิ่มนะครับ และแนะนำทำกับพวก xeon หรือพวก multi core ไม่งั้น cpu รับภาระไม่ไหวครับ
error เพราะไม่ผ่านเรื่อง kernel config
ton1
#11
ไม่เกี่ยวกับ kernel ครับ เกี่ยวกับ source ตอนเอา apache มา compile
ค่าปกติมันจะอยู่ที่ 256 ครับ สามารถแก้ แล้ว compile ใหม่ได้ครับ
system
#12
ใน Linux ไม่ต้องครับ แต่ FreeBSD มันจะกำหนดไว้ไม่เกิน 512 ครับ (สำหรับ FreeBSD 4.x) 6.x ไม่ต้องแล้ว
ลองทำดูก่อน…แล้ว restart ก็จะทราบการ process ไปเอง มันจะฟ้อง error ออกมาตอนเราเช็ค config test
ton1
#13
ขอบคุณพี่ devone ครับ เกิดไม่ทัน 4.xx
system
#14
[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
ton1
#16
[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 ได้ครับ
mr.tong
#19
แล้วไม่คิดจะเผยแพร่สู่ สาธารณะ หน่อยเหรอครับสูตรคำนวณ
ton1
#20
พี่ devone มีสูตรคำนวณมะครับ ผมไม่มีสูตรตายตัวอ่าครับ ค่อย ๆ ปรับทีละนิดเอา
จนมันรู้สึกได้ด้วยความรู้สึกว่าดีกว่าเดิม แล้วก็เอาโปรแกรม httpd benchmark วัดเอาครับ
ถึงสุดที่พอใจ ก็สรุปว่าใช้ได้ละ