คำถามติดแท็ก mpm-prefork

4
ฉันจะเลือก Apache MPM ที่ใช้ได้อย่างไร
นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการเลือก Apache httpd MPM ที่ถูกต้อง ฉันสับสนเล็กน้อยระหว่าง MPM ที่แตกต่างกันที่เสนอโดย Apache - 'ผู้ปฏิบัติงาน', 'เหตุการณ์', 'prefork' ฯลฯ อะไรคือความแตกต่างที่สำคัญระหว่างพวกเขาและฉันจะตัดสินใจได้อย่างไรว่าจะเลือกอันไหนดีที่สุดสำหรับการปรับใช้ที่กำหนด

5
ติดตั้งตัวใด: Apache Worker หรือ Prefork อะไรคือข้อดีของแต่ละข้อ?
จากคำอธิบายของทั้งPreforkและWorker MPM ดูเหมือนว่าประเภท prefork ค่อนข้างล้าสมัย แต่ฉันไม่พบการเปรียบเทียบที่เหมาะสมของทั้งสองประเภท สิ่งที่ฉันอยากรู้: อะไรคือความแตกต่างระหว่างสองเวอร์ชันนี้? อะไรคือข้อดี (dis-) ของเซิร์ฟเวอร์แต่ละประเภท? มีแนวทางพื้นฐานใดบ้างที่จะเลือกประเภทตามเงื่อนไข มีความแตกต่างด้านประสิทธิภาพที่ใหญ่ระหว่างสองหรือไม่

1
การปรับแต่ง Apache2 prefork MaxClients ServerLimit
ฉันมีเครื่องที่มี 128 GB Ram ที่ใช้ Apache2 เป็นเว็บเซิร์ฟเวอร์ (ในเครื่องนี้ไม่มีเซิร์ฟเวอร์ฐานข้อมูลเครื่องฐานข้อมูลเป็นเครื่อง 64 GB Ram ที่สามารถรองรับการเชื่อมต่อสูงสุด 2000 ครั้ง) ฉันเห็นด้วยเครื่องมือตรวจสอบที่มีอยู่ในขณะนี้ประมาณ 44 คนทำงานไม่ว่างและ 12 คนไม่ได้ใช้งาน 12 สิ่งที่เป็นค่าทางทฤษฎีที่ดีที่สุดสำหรับโมดูล prefork ของฉัน? ฉันมีหน้าว่างบางครั้งโหลดเว็บไซต์ในชั่วโมงการโหลดสูงและมีข้อผิดพลาดนี้ในบันทึกข้อผิดพลาด apache ของฉัน: [แจ้งให้ทราบล่วงหน้า] เด็ก pid 13595 สัญญาณทางออกแบ่งส่วนผิดพลาด (11) จะแก้ไขปัญหานี้ได้อย่างไร? การกำหนดค่าโมดูล Apache Prefork ของฉัน: StartServers 3 MinSpareServers 3 MaxSpareServers 5 ServerLimit 3200 MaxClients 3100 MaxRequestsPerChild 0 ฟรี …

2
วิธีการปรับแต่ง Apache บนเซิร์ฟเวอร์ Ubuntu 14.04
ปัจจุบันใน Apache 2 ของฉัน (Apache 2.4.7 เป็นที่แน่นอน) ใน Ubuntu 14.04 ฉันมีการตั้งค่านี้: /etc/apache2/mods-enabled/mpm_prefork.conf <IfModule mpm_prefork_module> StartServers 20 MinSpareServers 100 MaxSpareServers 250 MaxRequestWorkers 150 MaxConnectionsPerChild 0 </IfModule> เซิร์ฟเวอร์นั้นเป็นเซิร์ฟเวอร์ Amazon (8GB) ที่ไม่ได้ทำอะไรมากไปกว่าการโหลดแบบฟอร์มสมัครสามหน้าสำหรับแคมเปญโฆษณาของ Google ฉันพบสคริปต์ชื่อapachetuneit.shบนเว็บ แต่หลังจากนั้นครู่หนึ่ง Apache ก็รายงานข้อผิดพลาดนี้: [อังคาร 21 เมษายน: 45: 42.227935 2015] [mpm_prefork: ข้อผิดพลาด] [pid 1134] AH00161: เซิร์ฟเวอร์ถึงการตั้งค่า MaxRequestWorkers พิจารณาเพิ่มการตั้งค่า MaxRequestWorkers ฉันจะตัดสินวิธีตั้งค่าเหล่านี้ได้อย่างไร …

4
ฉันจะเปลี่ยนจาก prefork เป็น MPM ของผู้ปฏิบัติงานบน CentOS 64 บิตได้อย่างไร
ฉันใช้ CentOS 64 บิตและเพิ่งค้นพบว่าฉันกำลังเรียกใช้ prefork MPM บน Xeon Dual Quad ของฉัน ฉันถูกบอกว่าคนงานจะให้ฉันใช้หน่วยความจำลดลงและประสิทธิภาพที่สูงขึ้นเนื่องจากฉันใช้เว็บไซต์การจราจรที่สูงมาก หากเป็นจริงฉันจะทำอย่างไร

1
ประสิทธิภาพของ Apache ลดลงอย่างมากเกินกว่าคำขอ 256 ~ พร้อมกัน
ฉันใช้ไซต์ที่มีปริมาณการใช้งานค่อนข้างต่ำซึ่งมีผู้คนจำนวนมากเข้ามาเยี่ยมชมสัปดาห์ละครั้งหลังจากที่มีการอัปเดตไซต์ ในช่วงนี้ประสิทธิภาพของเว็บไซต์แย่มากเมื่อเทียบกับส่วนที่เหลือของสัปดาห์ โหลดจริงบนเซิร์ฟเวอร์ยังคงต่ำมากเชื่อถือได้ต่ำกว่า 10% CPU และต่ำกว่า 30% RAM (ฮาร์ดแวร์ควร overkill เสร็จสมบูรณ์สำหรับสิ่งที่เราทำจริง ๆ ) แต่ด้วยเหตุผลบางอย่าง Apache ดูเหมือนไม่สามารถรับมือกับปริมาณ ของคำขอ เรากำลังเรียกใช้ apache 2.2.3 บน RHEL 5.7, เคอร์เนล 2.6.18-274.7.1.el5, x86_64 ความพยายามที่จะทำซ้ำพฤติกรรมนี้ในช่วงนอกเวลาทำงานกับ ab ฉันพบว่าประสิทธิภาพการทำงานลดลงอย่างมากเมื่อมีผู้ใช้เกินกว่า 256 คน เรียกใช้การทดสอบด้วยกรณีการใช้งานที่เล็กที่สุดเท่าที่จะเป็นไปได้ที่ฉันสามารถหาได้ (ไฟล์ข้อความแบบสแตติกที่ถูกเรียกคืนประสิทธิภาพทั้งหมด 223 ไบต์) เป็นเรื่องปกติอย่างต่อเนื่องโดยมีคำขอ 245 คำขอพร้อมกัน: Connection Times (ms) min mean[+/-sd] median max Connect: 15 25 5.8 24 …

1
การเพิ่มประสิทธิภาพ Apache prefork - การเลือกค่า `MaxRequestsPerChild` ที่ถูกต้อง
ฉันพยายามเพิ่มประสิทธิภาพเว็บเซิร์ฟเวอร์ของเราเพื่อจัดการการเชื่อมต่อให้มากที่สุด ฉันอ่านบทความมากมายและบันทึก Apache ฉันพยายามเข้าใจว่าควรเลือกสิ่งMaxRequestsPerChildใด ตอนแรกฉันพยายามตั้งค่าเป็น 4,000 แต่เซิร์ฟเวอร์มีปัญหาในการจัดการคำขอจำนวนมากดังนั้นฉันจึงเริ่มเพิ่ม ในขณะที่การตั้งค่าของฉันคือ: <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 40000 </IfModule> หลังจากตั้งค่าเป็นMaxRequestsPerChild40,000 เซิร์ฟเวอร์สามารถจัดการการเชื่อมต่อได้มากขึ้นในขณะที่ไม่ได้ใช้หน่วยความจำ / cpu มากขึ้น ใครช่วยบอกฉันหน่อยได้ไหมว่าค่านี้สูงเกินไปหรือว่าโอเคที่มีมูลค่าสูงเช่นนี้? ขอบคุณ! ข้อมูลระบบปฏิบัติการ: [root@web06 ~]# uname -a Linux web 2.6.18-164.el5PAE #1 SMP Thu Sep 3 04:10:44 EDT 2009 i686 i686 i386 GNU/Linux …

2
Apache เข้าถึง MaxClients และล็อคเซิร์ฟเวอร์
ขณะนี้ฉันมีเซิร์ฟเวอร์ Apache2 ที่ใช้งานmpm-preforkและmod_phpบน OpenVZ VPS พร้อม RAM ที่สามารถระเบิดได้ 512M จริง / 1024M (ไม่มีการสลับ) หลังจากใช้การทดสอบบางอย่างฉันพบว่าขนาดกระบวนการสูงสุดที่ Apache ได้รับคือ 23M ดังนั้นฉันจึงตั้งค่าMaxClientsเป็น 25 (23M x 25 = 575 MB ตกลงสำหรับฉัน) ฉันตัดสินใจรันการทดสอบโหลดบนเซิร์ฟเวอร์ของฉันและผลลัพธ์ก็ทำให้ฉันงง ฉันใช้abเครื่องเดสก์ท็อปเพื่อขอหน้าหลักจากบล็อก WordPress เมื่อฉันทำงานabด้วยการเชื่อมต่อพร้อมกัน 24 รายการทุกอย่างดูใช้ได้ แน่นอนว่าซีพียูสูงขึ้นแรมฟรีลดลงและผลลัพธ์ก็คือเวลาตอบสนอง 2-3 วินาทีต่อคำขอ แต่ถ้าฉันใช้abการเชื่อมต่อพร้อมกัน 25 ครั้ง (ขีด จำกัด เซิร์ฟเวอร์ของฉัน) Apache จะหยุดทำงานหลังจากผ่านไปสองสามวินาที มันเริ่มประมวลผลการร้องขอจากนั้นจะหยุดตอบสนอง CPU กลับไปที่ไม่ได้ใช้งาน 100% และabหมดเวลา Apache log …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.