Score:0

การใช้หน่วยความจำต่ำมากในระหว่างการทดสอบการโหลดจำนวนมาก

ธง ph

ฉันมีเว็บไซต์ wordpress ที่ฉันทำการทดสอบการโหลดจำนวนมาก อย่างที่คุณเห็นด้านล่าง แน่นอนว่าการใช้งาน CPU นั้นสูง แต่ในขณะเดียวกันการใช้งาน RAM ก็ไม่เคยสูงกว่า 0.4% การทดสอบการโหลดไม่ก่อให้เกิดข้อผิดพลาดใด ๆ แต่เวลาในการโหลดของเว็บไซต์นั้นนานมาก ฉันกังวลว่าความจุที่มีอยู่ของ RAM จะไม่ได้ใช้จริงๆ หรือว่าการใช้ RAM ต่ำเป็นเรื่องปกติสำหรับไคลเอนต์ 10,000 เครื่อง/วินาที?

ข้อกำหนดเซิร์ฟเวอร์:

  • CPU: โปรเซสเซอร์ AMD Ryzen 7 PRO 3700 8-Core (16 คอร์)
  • แรม: 64GB
  • SSD: 960GB NVMe
  • แบนด์วิธ: 1 Gbps
  • ระบบปฏิบัติการ: Ubuntu 20.04.4 LTS

ไม่มีการเปิดใช้งานการแคช

ฉันได้รับผลลัพธ์เหล่านั้นด้วย สูงสุด สั่งการ

บน - 14:12:22 ขึ้น 4:11, 2 ผู้ใช้, โหลดเฉลี่ย: 29.49, 16.27, 7.29
งาน: ทั้งหมด 467, 143 วิ่ง, 301 นอน, 23 หยุด, 0 ซอมบี้
%Cpu(s): 27.6 us, 45.5 sy, 0.0 ni, 24.8 id, 0.0 wa, 0.0 hi, 2.1 si, 0.0 st
MiB Mem : รวม 64306.9, 50683.7 ฟรี, 7559.5 ใช้, 6063.7 บัฟ/แคช
MiB Swap: รวม 7630.0, ฟรี 7630.0, ใช้ไป 0.0 55881.2 ประโยชน์ Mem

    ผู้ใช้ PID PR NI VIRT RES SHR S %CPU %MEM TIME+ คำสั่ง
  37346 nginx 20 0 270356 266728 6364 R 78.1 0.4 2:19.89 nginx
  57982 ฟีโบนัก+ 20 0 355720 153908 105132 S 14.0 0.2 0:03.36 php-fpm
  61772 ฟีโบนัก+ 20 0 353552 150692 105776 S 14.0 0.2 0:01.26 php-fpm
   1524 mysql 20 0 9117616 192712 20468 S 13.6 0.3 1:17.50 mysqld
  57048 ฟีโบนัก+ 20 0 355788 153888 105072 S 13.6 0.2 0:04.08 php-fpm
  59186 ฟีโบนัก+ 20 0 353712 151920 105132 S 13.6 0.2 0:02.86 php-fpm
  61435 ฟีโบนัก+ 20 0 353680 150108 105120 R 13.6 0.2 0:01.66 php-fpm
  57693 ฟีโบนัก+ 20 0 355760 153964 105132 S 13.3 0.2 0:04.53 php-fpm
  59195 ฟีโบนัก+ 20 0 353684 151912 105124 S 13.3 0.2 0:02.86 php-fpm
  51154 ฟีโบนัก+ 20 0 357824 156160 105136 R 12.3 0.2 0:08.10 php-fpm
  51197 ฟีโบนัก+ 20 0 357780 156064 105088 R 12.0 0.2 0:07.05 php-fpm
  58034 ฟีโบนัก+ 20 0 355728 153616 105132 R 11.0 0.2 0:03.17 php-fpm
  51261 ฟีโบนัก+ 20 0 357780 156064 105136 R 10.0 0.2 0:06.74 php-fpm
  52563 ฟีโบนัก+ 20 0 358116 162056 110892 R 10.0 0.2 0:06.62 php-fpm
  57410 ฟีโบนัก+ 20 0 355728 153948 105132 R 10.0 0.2 0:03.86 php-fpm
  59521 ฟีโบนัก+ 20 0 351636 149816 105136 R 10.0 0.2 0:01.98 php-fpm
  60246 ฟีโบนัก+ 20 0 353752 151856 105140 R 10.0 0.2 0:02.70 php-fpm
  51147 ฟีโบนัก+ 20 0 357812 156156 105136 R 9.6 0.2 0:07.93 php-fpm
  51210 ฟีโบนัก+ 20 0 357780 156136 105136 R 9.6 0.2 0:08.08 php-fpm
  51225 ฟีโบนัก+ 20 0 357776 156112 105128 R 9.6 0.2 0:07.47 php-fpm
  51241 ฟีโบนัก+ 20 0 357780 156112 105136 R 9.6 0.2 0:06.95 php-fpm
  51251 ฟีโบนัก+ 20 0 357784 156072 105136 R 9.3 0.2 0:06.92 php-fpm
  51255 ฟีโบนัก+ 20 0 357784 156132 105140 R 9.3 0.2 0:07.43 php-fpm
  57054 ฟีโบนัก+ 20 0 355784 153952 105124 R 9.3 0.2 0:03.91 php-fpm
  57056 ฟีโบนัก+ 20 0 355768 153960 105132 R 9.3 0.2 0:03.85 php-fpm
  59192 ฟีโบนัก+ 20 0 353708 151508 105120 R 9.3 0.2 0:02.73 php-fpm
  61746 ฟีโบนัก+ 20 0 343316 140124 105140 R 9.3 0.2 0:00.74 php-fpm
  51233 ฟีโบนัก+ 20 0 357776 156112 105140 R 9.0 0.2 0:06.65 php-fpm
  51243 ฟีโบนัก+ 20 0 357784 156140 105120 R 9.0 0.2 0:07.97 php-fpm
  55161 ฟีโบนัก+ 20 0 355728 153988 105132 R 9.0 0.2 0:04.28 php-fpm
  57424 ฟีโบนัก+ 20 0 355736 153600 105132 R 9.0 0.2 0:03.30 php-fpm
  59185 ฟีโบนัก+ 20 0 353684 151496 104832 R 9.0 0.2 0:02.73 php-fpm
  51177 ฟีโบนัก+ 20 0 357812 156132 105136 R 8.6 0.2 0:07.17 php-fpm
  57401 ฟีโบนัก+ 20 0 355728 153620 105132 R 8.6 0.2 0:03.25 php-fpm
  51239 ฟีโบนัก+ 20 0 357836 156128 105136 R 8.3 0.2 0:06.93 php-fpm
  54835 ฟีโบนัก+ 20 0 357776 155544 104892 R 8.3 0.2 0:04.93 php-fpm
  61764 ฟีโบนัก+ 20 0 345492 143512 105588 R 8.3 0.2 0:01.07 php-fpm
  50951 ฟีโบนัก+ 20 0 357860 156164 105140 R 8.0 0.2 0:08.77 php-fpm
  51024 ฟีโบนัก+ 20 0 357816 156128 105136 R 8.0 0.2 0:07.97 php-fpm
  51160 ฟีโบนัก+ 20 0 357808 156156 105136 R 8.0 0.2 0:07.45 php-fpm
  54833 ฟีโบนัก+ 20 0 357832 155788 104816 R 8.0 0.2 0:06.09 php-fpm
  57047 ฟีโบนัก+ 20 0 355788 153864 105068 R 8.0 0.2 0:03.91 php-fpm
  59193 ฟีโบนัก+ 20 0 355760 153208 105080 R 8.0 0.2 0:03.08 php-fpm
  63679 ฟีโบนัก+ 20 0 260456 107648 80836 R 8.0 0.2 0:00.24 php-fpm
  63682 ฟีโบนัก+ 20 0 260456 107672 80860 R 8.0 0.2 0:00.24 php-fpm
  51028 ฟีโบนัก+ 20 0 357856 156068 105136 R 7.6 0.2 0:06.58 php-fpm
  53620 ฟีโบนัก+ 20 0 357776 156048 105132 R 7.6 0.2 0:05.68 php-fpm
  54832 ฟีโบนัก+ 20 0 357776 155968 105052 R 7.6 0.2 0:05.61 php-fpm
  55152 ฟีโบนัก+ 20 0 357780 156040 105132 R 7.6 0.2 0:05.36 php-fpm
  57981 ฟีโบนัก+ 20 0 355732 153596 105132 R 7.6 0.2 0:03.30 php-fpm
  58035 ฟีโบนัก+ 20 0 355736 153604 105132 R 7.6 0.2 0:03.29 php-fpm
  59184 ฟีโบนัก+ 20 0 353736 151484 105100 R 7.6 0.2 0:02.47 php-fpm
  59189 ฟีโบนัก+ 20 0 356072 159176 110760 R 7.6 0.2 0:05.38 php-fpm
  63683 ฟีโบนัก+ 20 0 260456 106668 80072 R 7.6 0.2 0:00.23 php-fpm
  51208 ฟีโบนัก+ 20 0 357780 156188 105140 R 7.3 0.2 0:07.25 php-fpm
  51237 ฟีโบนัก+ 20 0 357776 156184 105136 R 7.3 0.2 0:07.43 php-fpm
djdomi avatar
za flag
ไม่มีการแคชใดที่เปิดใช้งานสามารถระบุชื่อที่พิมพ์หน่วยความจำเหลือน้อย ;) แต่ปัญหาที่คุณกำลังเผชิญอยู่คืออะไรโดยพื้นฐานแล้วเป็นคำถามหรือปัญหาที่เกี่ยวข้องกับธุรกิจ
ph flag
ฉันปิดใช้งานการแคชเพราะบางเพจของฉันเป็นไดนามิกมาก จริง ๆ แล้วฉันไม่พบข้อผิดพลาดใด ๆ ฉันแค่ประหลาดใจที่การใช้หน่วยความจำต่ำมาก และฉันกังวลว่าเซิร์ฟเวอร์ของฉันจะสามารถประมวลผลคำขอได้เร็วขึ้นหากใช้หน่วยความจำที่มีอยู่
djdomi avatar
za flag
อย่าลังเลที่จะเพิ่ม ram ตามต้องการ อย่ากังวลกับสิ่งที่ไม่มีอยู่จริง....
vidarlo avatar
ar flag
ทำไมคุณ *คิดว่า* การใช้ RAM ควรสูงกว่านี้ อะไรควรใช้ RAM มากกว่ากันในความคิดของคุณ?
ph flag
@vidarlo ฉันคิดว่าการประมวลผลแบบสอบถาม HTTP จะต้องการ ram มากกว่า ฉันคิดว่ามีบางอย่างกำหนดค่าไม่ถูกต้อง ดังนั้น RAM จึงถูกจำกัดหรืออะไรทำนองนั้น แต่ถ้าไม่เป็นเช่นนั้นก็ไม่เป็นไร ฉันจะใช้ RAM ที่ว่างสำหรับสิ่งอื่นเพื่อช่วยมนุษยชาติ ตัวอย่างเช่น โครงการคอมพิวเตอร์แบบกระจาย เช่น DreamLab
Score:2
ธง cn

10,000 ลูกค้า/วินาที?

ลำดับความสำคัญของคำขอที่คุณคาดว่าจะได้รับคืออะไร Stack Exchange เครือข่ายทั้งหมดอาจถึงจุดสูงสุด 5,000 คำขอต่อวินาที สำหรับการดูเพจประมาณ 1.3 พันล้านเพจต่อเดือน การเปรียบเทียบโดยตรงเป็นเรื่องยาก แต่ฉันคิดว่าสิ่งที่คุณกำลังทำนั้นเล็กกว่านั้น

ความจุที่มีอยู่ของ RAM ไม่ได้ใช้จริงๆ

คุณถูกต้องที่หน่วยความจำส่วนใหญ่ของคุณไม่ได้ถูกใช้งาน ณ เวลานี้ ฟรี 50683 MB เป็นจำนวนมากทั้งจำนวนจริงและ 78% ของทั้งหมด 64306 MB การทำเช่นนี้เป็นการสิ้นเปลือง การจัดสรรเผื่อแผ่สำหรับการเติบโต หรือขนาดเดียวที่เหมาะกับเซิร์ฟเวอร์ส่วนใหญ่ 64 GB การตัดสินใจของคุณเป็นส่วนหนึ่งของการวางแผนความจุ

หกสิบ (?) กระบวนการเว็บเซิร์ฟเวอร์รวมถึงอัตราต่อรองและจุดสิ้นสุดอื่น ๆ ไม่ใช่เรื่องใหญ่สำหรับหน่วยความจำ 64 GB สังเกต RES ของแต่ละประมาณ 150 MB แม้ว่าในทางทฤษฎีแล้วอาจรวมกันได้ถึง 5,000 MB แต่การทำบัญชีหน่วยความจำนั้นซับซ้อนกว่าสมมติฐานง่ายๆ ที่ผู้คนตั้งขึ้นเสมอ Linux ขี้เกียจและมีแนวโน้มที่จะจัดสรรหน้าหน่วยความจำกายภาพสำหรับข้อมูลเฉพาะ สำเนาของงานเดียวกันหลายสิบชุด "บีบอัด" ได้ดีโดยเฉพาะอย่างยิ่งสำหรับเวิร์กโหลดการวัดประสิทธิภาพเชิงคำนวณ ซึ่งมีแนวโน้มว่าจะสามารถเพิ่ม CPU ด้วยชุดการทำงานขนาดเล็ก

ด้วยหน่วยความจำว่างจำนวนมาก แต่เวลาตอบสนองต่ำสำหรับแอปพลิเคชัน ย่อมมีปัจจัยจำกัดประสิทธิภาพอื่นๆ อย่างแน่นอน การค้นหามันต้องใช้ วิธีการที่มีระเบียบแบบแผน เพื่อตรวจสอบทุกด้านของระบบ อะไรก็ได้ตั้งแต่พารามิเตอร์การปรับแต่ง php ไปจนถึงทรัพยากรอื่นๆ (เครือข่าย?) ไปจนถึงปัญหาการทำงานพร้อมกันของแอปพลิเคชัน

ในทางปฏิบัติบน Linux ติดตั้งสัญลักษณ์การดีบักและเรียกใช้ สุดยอดไปเลย การรู้ว่าฟังก์ชันใดอยู่บน CPU สามารถช่วยวิเคราะห์สิ่งที่เกิดขึ้นลึกลงไปในรหัสผู้ใช้หรือเคอร์เนล เป็นการดีที่คุณมีบางอย่างเช่นเครื่องมือ APM ที่สามารถรหัสโปรไฟล์ได้

โพสต์คำตอบ

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