Puncte:0

Găsirea cauzei principale pentru retransmisiile TCP

drapel cn

Avem un produs bazat pe o aplicație terță, care rulează pe un server apache conectat la o bază de date firebird (v2.5.3).

Din păcate, am ajuns la un punct în care primim timeout-uri când utilizatorii încearcă să facă cereri către server. Când deschidem devtools->fila network, vedem că pachetele sunt aruncate.

Pentru depanarea acestei probleme, am înregistrat trafic wireshark pe server și vedem o mulțime de evenimente de retransmisie. Unele dintre pachetele http sunt trecute în regulă, dar unele primesc aceste retransmisii și bănuiesc că acest lucru cauzează expirarea timpului.

CPU-ul serverului este ridicat (50-100%), mai ales din cauza bazei de date Firebird. Furnizorul de cloud unde este găzduit serverul nu are discuri SSD și suntem conștienți că aceasta poate fi o problemă.

Un lucru ciudat este că în înregistrarea wireshark nu vedem solicitările http de la utilizatori. Iată cum arată pachetele care sunt primite:

introduceți descrierea imaginii aici

Când am încercat să prind solicitări de la un anumit IP care nu au reușit, am primit doar retransmisie TCP (deci nu văd cererea în sine). Nu sunt sigur dacă este semnificativ, dar conexiunea este pe portul 443. Acesta este un exemplu de cum arată:

introduceți descrierea imaginii aici

  1. Este posibil ca, deoarece baza de date Firebird este ocupată/cpu-ul este ridicat, pachetele http să fie aruncate mai jos (după 4-5 secunde) chiar și fără înregistrarea cererii http în wireshark?

  2. Deoarece nu putem schimba discurile pe SSD, credeți că actualizarea procesorului ar putea ajuta cu această problemă?

  3. Există vreo configurație apache sau firebird care ar putea îmbunătăți performanța?

Alte informații pe care pot încerca să le adun pentru a obține mai multe informații despre problemă?

Arden Smith avatar
drapel pe
Ce sistem de operare folosești?
vidarlo avatar
drapel ar
Cum și unde capturați? Este filtrat ceea ce arătați?
justadev avatar
drapel cn
Este un server Windows. Capturez folosind wireshark.Prima imagine (pachete ok) filtrează pentru „http”, a doua (pachete greșite) filtrează după „ip.addr==123.123.123.123 & tcp.port==443”

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.