Score:0

Apache2 เวลาตอบสนองสุดซึ้งหลังจากเปิดใช้งานโมดูล php-fpm

ธง cn

ฉันใช้ Apache2 บน Debian 11 VPSฉันได้เขียน API และฉันพยายามเน้นการทดสอบผ่านเซิร์ฟเวอร์ภายนอกโดยใช้ ApacheBench

เมื่อเปิดใช้งาน mpm_prefork และปิดใช้งาน php8.0-fpm เวลาตอบสนองเปอร์เซ็นไทล์ที่ 95 จะอยู่ที่ประมาณ 30 มิลลิวินาที ผลลัพธ์จะเป็นดังนี้:

ซอฟต์แวร์เซิร์ฟเวอร์: Apache/2.4.52
ชื่อโฮสต์เซิร์ฟเวอร์: XXX.XXX.com
พอร์ตเซิร์ฟเวอร์: 443
โปรโตคอล SSL/TLS: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,4096,256
คีย์อุณหภูมิเซิร์ฟเวอร์: X25519 253 บิต
ชื่อเซิร์ฟเวอร์ TLS: XXX.XXX.com

เส้นทางเอกสาร: /v1/module
ความยาวเอกสาร: 370 ไบต์

ระดับการทำงานพร้อมกัน: 100
เวลาที่ใช้ในการทดสอบ: 2.783 วินาที
คำขอที่สมบูรณ์: 1,000
คำขอล้มเหลว: 0
คำขอ Keep-Alive: 1,000
การถ่ายโอนทั้งหมด: 845001 ไบต์
HTML ที่ถ่ายโอน: 370,000 ไบต์
คำขอต่อวินาที: 359.28 [#/วินาที] (ค่าเฉลี่ย)
เวลาต่อคำขอ: 278.336 [ms] (ค่าเฉลี่ย)
เวลาต่อคำขอ: 2.783 [ms] (หมายถึง ในทุกคำขอที่เกิดขึ้นพร้อมกัน)
อัตราการถ่ายโอน: ได้รับ 296.48 [Kbytes/วินาที]

เวลาเชื่อมต่อ (มิลลิวินาที)
              ค่าเฉลี่ยต่ำสุด[+/-sd] ค่ามัธยฐานสูงสุด
ต่อ: 0 14 157.2 0 2295
กำลังดำเนินการ: 17 26 3.3 25 44
กำลังรอ: 17 26 3.3 25 44
รวม: 17 40 157.8 25 2330

เปอร์เซ็นต์ของคำขอที่ให้บริการภายในเวลาที่กำหนด (มิลลิวินาที)
  50% 25
  66% 26
  75% 27
  80% 28
  90% 30
  95% 33
  98% 41
  99% 282
 100% 2330 (คำขอที่ยาวที่สุด)

เมื่อ mpm_prefork ยังคงเปิดใช้งานอยู่ แต่เปลี่ยนไปใช้ php8.0-fpm เวลาตอบสนองจะไร้สาระ ผลลัพธ์จะเป็นดังนี้:

ซอฟต์แวร์เซิร์ฟเวอร์: Apache/2.4.52
ชื่อโฮสต์เซิร์ฟเวอร์: XXX.XXX.com
พอร์ตเซิร์ฟเวอร์: 443
โปรโตคอล SSL/TLS: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,4096,256
คีย์อุณหภูมิเซิร์ฟเวอร์: X25519 253 บิต
ชื่อเซิร์ฟเวอร์ TLS: XXX.XXX.com

เส้นทางเอกสาร: /v1/module
ความยาวเอกสาร: 370 ไบต์

ระดับการทำงานพร้อมกัน: 100
เวลาที่ใช้ในการทดสอบ: 12.595 วินาที
คำขอที่สมบูรณ์: 1,000
คำขอล้มเหลว: 0
คำขอ Keep-Alive: 0
การถ่ายโอนทั้งหมด: 788,000 ไบต์
HTML ที่ถ่ายโอน: 370,000 ไบต์
คำขอต่อวินาที: 79.39 [#/วินาที] (ค่าเฉลี่ย)
เวลาต่อคำขอ: 1259.549 [ms] (ค่าเฉลี่ย)
เวลาต่อคำขอ: 12.595 [ms] (หมายถึง ในทุกคำขอที่เกิดขึ้นพร้อมกัน)
อัตราการถ่ายโอน: ได้รับ 61.10 [Kbytes/วินาที]

เวลาเชื่อมต่อ (มิลลิวินาที)
              ค่าเฉลี่ยต่ำสุด[+/-sd] ค่ามัธยฐานสูงสุด
ต่อ: 91 1152 619.3 1108 4744
กำลังดำเนินการ: 22 46 39.0 32 850
รอ: 21 43 27.4 31 491
รวม: 121 1198 623.4 1146 4784

เปอร์เซ็นต์ของคำขอที่ให้บริการภายในเวลาที่กำหนด (มิลลิวินาที)
  50% 1146
  66% 1298
  75% 1668
  80% 1796
  90% 2535
  95% 2053
  98% 2190
  99% 3017
 100% 4784 (คำขอที่ยาวที่สุด)

ฉันใช้ Apache/2.4.52 (Debian) และ PHP 8.0.14 (cli) เป้าหมายคือการเริ่มใช้ mpm_event แทน mpm_prefork เพื่อเปิดใช้งานการเชื่อมต่อพร้อมกันจำนวนมากสำหรับ API ของฉัน ฉันเริ่มทำสิ่งนี้ด้วยเวลาโหลดแบบนั้นไม่ได้

ฉันจะเปลี่ยนเป็น php-fpm โดยไม่เสียเวลาโหลดได้อย่างไร การตั้งค่า php-fpm ของฉันมีดังนี้:

pm.max_children = 844
pm.start_servers = 16
pm.min_spare_servers = 8
pm.max_spare_servers = 16
pm.max_requests = 1,000
jp flag
PHP ทำงานด้วย `mod_php` และ `php-fpm` ใช้การกำหนดค่าต่างกัน ตรวจสอบให้แน่ใจว่าการตั้งค่าเหมือนกันในทั้งสองกรณี

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา