Puncte:0

Mărimea pachetului influențează latența de răspuns?

drapel ua

Îmi testez aplicația web la nivel local cu o bază de date micro amazon care este situată în nordul Virginiei. Locuiesc în Groningen, Olanda. Când trimit o interogare selectată pe internetul public, este nevoie 2616 (ms) pentru a returna un set de rezultate de 42 kiloocteți.

[INFO ] 2022-01-17 10:22:02.147 [http-nio-8080-exec-1] http_access_log - method=GET uri="/api/journal/get/virtual-scroll" status-code=206 bytes= 42350 duration=2616(ms) client: remote ip=0:0:0:0:0:0:0:1 useragent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, cum ar fi Gecko) ) Chrome/97.0.4692.71 Safari/537.36"

Când fac un simplu SELECTAȚI 1 DIN TABEL Interogarea durează 550 ms pentru a primi răspunsul înapoi. Deci asta înseamnă că latența răspunsului va crește atunci când dimensiunea răspunsului crește? Sau interogarea care returnează setul de rezultate rulează lent? Este un apel de procedură stocată.

drapel cn
Bob
În general, aplicațiile bazate pe baze de date nu se descurcă bine cu o latență mare (în sensul unei [întârzieri dus-întors](https://en.wikipedia.org/wiki/Round-trip_delay)) între serverul bazei de date și aplicație. Proiectarea proastă a bazei de date, interogările proaste și designul prost al aplicației vor agrava acest lucru. Pentru performanță, asigurați-vă că aplicația și baza de date pot comunica la viteze LAN, nu prin conexiuni WAN/Internet.
Puncte:0
drapel ru

Când trimit o interogare selectată pe internetul public, durează 2616 (ms) pentru a returna un set de rezultate de 42 de kiloocteți.

Rețineți că cererea trebuie să ajungă la server, să fie procesată acolo și răspunsul trebuie să revină la client. Fiecare transmisie constă în serializare plus propagare la destinație, astfel încât timpul depinde de dimensiunea datelor.

În cazul dvs., cel mai mare impact este cel mai probabil de la procesarea pe server, totuși. Interogările complexe pot necesita destul de mult timp, în funcție de complexitatea lor (nu neapărat legată de dimensiunea de ieșire) și de performanța serverului.

Pentru completitudine:

  • Întârziere de serializare = dimensiunea datelor / lățime de bandă (42 KB / 100 Mbit/s â 3,5 ms)
  • întârziere de propagare: cel puțin 5 ms la 1000 km, în funcție de conectivitate și media (Groningen-Virginia > 30 ms per călătorie)

Deci, puteți estima aproximativ că călătoria dus-întors va dura mai puțin de 100 ms, în timp ce restul întârzierii se datorează procesării serverului. Acesta este motivul pentru care este vital ca serverul și baza de date să fie optimizate pentru volumul de lucru. De asemenea, trebuie să țineți cont de întârzierea transmisiei, astfel încât aplicația ar trebui să optimizeze și să grupeze interogările pe cât posibil.

Maurice avatar
drapel ua
„De asemenea, trebuie să țineți cont de întârzierea transmisiei”. Ce este mai exact întârzierea transmisiei?
Zac67 avatar
drapel ru
Definițiile variază ușor, dar mai sus folosesc întârziere de serializare + întârziere de propagare.

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.