Puncte:1

Scalare bazată pe numărul de procese care rulează pe instanța ec2

drapel gr

Am un caz de utilizare în care mai multe scripturi Python vor rula în paralel pe ec2. Ei citesc o coadă SQS și efectuează operațiuni cum ar fi descărcarea din S3, analizarea fișierelor, împărțirea, procesarea și actualizarea bazei de date. Scripturile rulează la fiecare 5 minute. Dacă SQS este gol, scriptul nu face nimic și iese. Dacă SQS are un mesaj, acesta este procesat de scriptul care poate rula mai mult de o oră. Deci duratele de rulare variază.

În scalarea automată, văd că există opțiune de scalare pe baza utilizării medii a procesorului, dar caracterul aleatoriu cu care este utilizat CPU-ul face ca acesta să nu fie un indicator bun când să scalați (de exemplu, scriptul Python va lua mai mult CPU în timp ce face operațiuni cu disc io. Dar alteori este nevoie de memorie, dar nu are cpu)

Există o modalitate de a scala în funcție de numărul de procese Python care rulează pe instanța ec2? Deci, atunci când numărul de invocări paralele ajunge la 10, instanțele cresc?

Mai mult, există o modalitate de a specifica că reducerea ar trebui să fie redusă NU se întâmplă pentru o instanță ec2 dacă are cel puțin un proces Python care rulează în ea (chiar dacă acel proces ia <5% CPU), deoarece reducerea reducerii ar încheia un proces în desfășurare și ar fi mai bine dacă reducerea se poate întâmpla după finalizarea procesului python

Nu există un echilibrator de încărcare în imagine.

Rohini avatar
drapel gr
M-am uitat la ideea de a declanșa lambda cu trigger SQS pentru fiecare mesaj pe care SQS îl primește. Ceea ce ar însemna, teoretic, pe măsură ce numărul de mesaje crește, mai multe invocări de funcții au loc, astfel încât se scalează. Dar https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html specifică timeout pentru orice lambda ca fiind de 15 minute. Acest lucru nu se va potrivi cu cazul meu de utilizare, deoarece procesarea Python poate dura mai mult de o oră
Oscar De León avatar
drapel la
Ce zici de controlul Autoscaling din interiorul instanței? Mi se pare că aveți un fel de mecanism de control pentru script, așa că poate folosiți-l pentru a extinde atunci când este necesar și când nu mai este nevoie de o instanță pentru a rula, puteți scala înapoi. În iulie trecut, au adăugat o funcție pentru a selecta care instanță pentru a se termina la scalare. Poate că ajută https://aws.amazon.com/about-aws/whats-new/2021/07/amazon-ec2-auto-scaling-now-lets-you-control-which- instanțe-de-terminare-la-scalare-în/

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.