Puncte:0

Utilizare foarte scăzută a memoriei în timpul testului de sarcină grea

drapel ph

Am un site web wordpress pe care am făcut un test de sarcină grea. După cum puteți vedea mai jos, utilizarea procesorului este, desigur, mare, dar, în același timp, utilizarea RAM nu depășește niciodată 0,4%. Testul de încărcare nu produce erori, dar timpul de încărcare a site-ului este foarte lung. Sunt îngrijorat că capacitatea disponibilă a memoriei RAM nu este foarte folosită. Sau este normală utilizarea RAM scăzută pentru 10000 de clienți/secundă?

Specificații server:

  • CPU: procesor AMD Ryzen 7 PRO 3700 cu 8 nuclee (16 nuclee)
  • RAM: 64 GB
  • SSD: 960 GB NVMe
  • Lățime de bandă: 1 Gbps
  • OS: Ubuntu 20.04.4 LTS

Nu este activată memorarea în cache

Obțin acele rezultate cu top comanda

sus - 14:12:22 până la 4:11, 2 utilizatori, medie de încărcare: 29,49, 16,27, 7,29
Sarcini: 467 total, 143 alergare, 301 dormit, 23 oprit, 0 zombi
%Cpu(e): 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 total, 50683.7 gratuit, 7559.5 folosit, 6063.7 buff/cache
MiB Swap: 7630.0 total, 7630.0 gratuit, 0.0 folosit. 55881.2 disponibil Mem

    PID UTILIZATOR PR NI VIRT RES SHR S %CPU %MEM TIME+ COMANDA
  37346 nginx 20 0 270356 266728 6364 R 78,1 0,4 2:19,89 nginx
  57982 fibonac+ 20 0 355720 153908 105132 S 14,0 0,2 0:03,36 php-fpm
  61772 fibonac+ 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 fibonac+ 20 0 355788 153888 105072 S 13,6 0,2 0:04,08 php-fpm
  59186 fibonac+ 20 0 353712 151920 105132 S 13,6 0,2 0:02,86 php-fpm
  61435 fibonac+ 20 0 353680 150108 105120 R 13,6 0,2 0:01,66 php-fpm
  57693 fibonac+ 20 0 355760 153964 105132 S 13,3 0,2 0:04,53 php-fpm
  59195 fibonac+ 20 0 353684 151912 105124 S 13,3 0,2 0:02,86 php-fpm
  51154 fibonac+ 20 0 357824 156160 105136 R 12,3 0,2 0:08,10 php-fpm
  51197 fibonac+ 20 0 357780 156064 105088 R 12,0 0,2 0:07,05 php-fpm
  58034 fibonac+ 20 0 355728 153616 105132 R 11,0 0,2 0:03,17 php-fpm
  51261 fibonac+ 20 0 357780 156064 105136 R 10,0 0,2 0:06,74 php-fpm
  52563 fibonac+ 20 0 358116 162056 110892 R 10,0 0,2 0:06,62 php-fpm
  57410 fibonac+ 20 0 355728 153948 105132 R 10,0 0,2 0:03,86 php-fpm
  59521 fibonac+ 20 0 351636 149816 105136 R 10,0 0,2 0:01,98 php-fpm
  60246 fibonac+ 20 0 353752 151856 105140 R 10,0 0,2 0:02,70 php-fpm
  51147 fibonac+ 20 0 357812 156156 105136 R 9,6 0,2 0:07,93 php-fpm
  51210 fibonac+ 20 0 357780 156136 105136 R 9,6 0,2 0:08,08 php-fpm
  51225 fibonac+ 20 0 357776 156112 105128 R 9,6 0,2 0:07,47 php-fpm
  51241 fibonac+ 20 0 357780 156112 105136 R 9,6 0,2 0:06,95 php-fpm
  51251 fibonac+ 20 0 357784 156072 105136 R 9,3 0,2 0:06,92 php-fpm
  51255 fibonac+ 20 0 357784 156132 105140 R 9,3 0,2 0:07,43 php-fpm
  57054 fibonac+ 20 0 355784 153952 105124 R 9,3 0,2 0:03,91 php-fpm
  57056 fibonac+ 20 0 355768 153960 105132 R 9,3 0,2 0:03,85 php-fpm
  59192 fibonac+ 20 0 353708 151508 105120 R 9,3 0,2 0:02,73 php-fpm
  61746 fibonac+ 20 0 343316 140124 105140 R 9,3 0,2 0:00,74 php-fpm
  51233 fibonac+ 20 0 357776 156112 105140 R 9,0 0,2 0:06,65 php-fpm
  51243 fibonac+ 20 0 357784 156140 105120 R 9,0 0,2 0:07,97 php-fpm
  55161 fibonac+ 20 0 355728 153988 105132 R 9,0 0,2 0:04,28 php-fpm
  57424 fibonac+ 20 0 355736 153600 105132 R 9,0 0,2 0:03,30 php-fpm
  59185 fibonac+ 20 0 353684 151496 104832 R 9,0 0,2 0:02,73 php-fpm
  51177 fibonac+ 20 0 357812 156132 105136 R 8,6 0,2 0:07,17 php-fpm
  57401 fibonac+ 20 0 355728 153620 105132 R 8,6 0,2 0:03,25 php-fpm
  51239 fibonac+ 20 0 357836 156128 105136 R 8,3 0,2 0:06,93 php-fpm
  54835 fibonac+ 20 0 357776 155544 104892 R 8,3 0,2 0:04,93 php-fpm
  61764 fibonac+ 20 0 345492 143512 105588 R 8,3 0,2 0:01,07 php-fpm
  50951 fibonac+ 20 0 357860 156164 105140 R 8,0 0,2 0:08,77 php-fpm
  51024 fibonac+ 20 0 357816 156128 105136 R 8,0 0,2 0:07,97 php-fpm
  51160 fibonac+ 20 0 357808 156156 105136 R 8,0 0,2 0:07,45 php-fpm
  54833 fibonac+ 20 0 357832 155788 104816 R 8,0 0,2 0:06,09 php-fpm
  57047 fibonac+ 20 0 355788 153864 105068 R 8,0 0,2 0:03,91 php-fpm
  59193 fibonac+ 20 0 355760 153208 105080 R 8,0 0,2 0:03,08 php-fpm
  63679 fibonac+ 20 0 260456 107648 80836 R 8,0 0,2 0:00,24 php-fpm
  63682 fibonac+ 20 0 260456 107672 80860 R 8,0 0,2 0:00,24 php-fpm
  51028 fibonac+ 20 0 357856 156068 105136 R 7,6 0,2 0:06,58 php-fpm
  53620 fibonac+ 20 0 357776 156048 105132 R 7,6 0,2 0:05,68 php-fpm
  54832 fibonac+ 20 0 357776 155968 105052 R 7,6 0,2 0:05,61 php-fpm
  55152 fibonac+ 20 0 357780 156040 105132 R 7,6 0,2 0:05,36 php-fpm
  57981 fibonac+ 20 0 355732 153596 105132 R 7,6 0,2 0:03,30 php-fpm
  58035 fibonac+ 20 0 355736 153604 105132 R 7,6 0,2 0:03,29 php-fpm
  59184 fibonac+ 20 0 353736 151484 105100 R 7,6 0,2 0:02,47 php-fpm
  59189 fibonac+ 20 0 356072 159176 110760 R 7,6 0,2 0:05,38 php-fpm
  63683 fibonac+ 20 0 260456 106668 80072 R 7,6 0,2 0:00,23 php-fpm
  51208 fibonac+ 20 0 357780 156188 105140 R 7,3 0,2 0:07,25 php-fpm
  51237 fibonac+ 20 0 357776 156184 105136 R 7,3 0,2 0:07,43 php-fpm
djdomi avatar
drapel za
Nicio memorie cache activată ar putea avea numele că amprenta memoriei este atât de scăzută ;) dar care este problema cu care te confrunți în general, în baza că este o întrebare sau o problemă legată de afaceri?
drapel ph
Ei bine, am dezactivat memorarea în cache pentru că unele dintre paginile mele sunt foarte dinamice. De fapt, nu mă confrunt cu nicio eroare, sunt doar surprins că utilizarea memoriei este atât de scăzută și sunt îngrijorat că serverul meu ar putea procesa cereri mai rapid dacă ar folosi memoria disponibilă.
djdomi avatar
drapel za
nu ezitați să aveți mai mult ram după cum este necesar. nu-ti face griji pentru ceva ce nu exista....
vidarlo avatar
drapel ar
De ce crezi că utilizarea RAM ar trebui să fie mai mare? Ce ar trebui să folosească mai multă memorie RAM în opinia ta?
drapel ph
@vidarlo Am crezut că procesarea interogărilor HTTP ar avea nevoie de mai mult ram. Am crezut că ceva nu a fost configurat corect, astfel încât să existe o limită a memoriei RAM sau ceva de genul ăsta. Dar dacă nu este cazul, bine, atunci voi folosi RAM-ul liber pentru altceva pentru a ajuta omenirea. De exemplu, un proiect de calcul distribuit precum DreamLab
Puncte:2
drapel cn

10000 de clienți/secundă?

Ce ordine de mărime a cererilor vă așteptați să primiți de fapt? Stack Exchange, întreaga rețea, poate atinge vârfuri 5.000 de cereri pe secundă pentru ~1,3 miliarde de vizualizări de pagină pe lună. O comparație directă este dificilă, dar presupun că ceea ce faci este mai mic decât atât.

capacitatea disponibilă a memoriei RAM nu este cu adevărat folosită.

Ai dreptate că o mare parte din memorie nu este folosită în acest moment. 50683 MB liberi este mult atât în ​​număr absolut, cât și ca 78% din totalul de 64306 MB. Dacă tratați acest lucru ca o alocare generoasă pentru creștere, sau o dimensiune unica pentru majoritatea serverelor de 64 GB, este chemarea dvs. de judecată, ca parte a planificării capacității.

Șaizeci (?) de procese de server web plus alte șanse nu este mare lucru pentru 64 GB de memorie. Observați RES de aproximativ 150 MB fiecare. În timp ce, teoretic, ar putea însumează 5.000 MB, contabilizarea memoriei este întotdeauna mai complicată decât presupunerile simple pe care le fac oamenii. Linux este leneș și tinde să aloce pagini de memorie fizică pentru date unice. Zeci de copii ale aceleiași sarcini „comprimă” bine.În special pentru sarcinile de lucru de referință de calcul, care probabil pot conduce la creșterea procesorului cu un set de lucru mic.

Cu multă memorie liberă, dar timp de răspuns slab la o aplicație, există cu siguranță și alți factori limitatori ai performanței. Găsirea ei necesită o abordare metodică pentru a examina toate aspectele sistemului. Orice, de la parametrii de reglare php, la alte resurse (rețea?), la probleme de concurență a aplicațiilor.

Ca aspect practic, pe Linux instalați simboluri de depanare și rulați perf top A ști ce funcții sunt pe CPU poate ajuta la analiza a ceea ce se întâmplă în profunzime în codul utilizatorului sau al nucleului. În mod ideal, aveți și ceva de genul unui instrument APM care poate profila codul.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.