Wpis z mikrobloga

Potrzebuje porady/wskazówki w znalezieniu błędu.

Otóż mam program desktopowy, do którego można uploadować pliki i inne czynności, coś ala google drive czy inny chmurowy dysk. Ostatnimi czasy w trakcie wrzucania pliku do systemu, jeśli robi się coś w nim to wszystkie akcje na serwer wywołują się znacznie dłużej niż normalnie.
tutaj zawołam zainteresowanych: #programowanie #csharp #devops #siecikomputerowe #sieci

Dalsza część informacji: Z jednej strony to oczywiste, bo robię upload, ale porobiłem troche testów wydajnościowych w starszej wersji programu i tam również było opóźnienie, ale nie było aż tak zauważalne. ( zwiększone średnie opóźnienie z 50ms na 70, natomiast w bieżącej wersji z 70ms na 250, czyli 4 krotne)
Wszystko testuje na lokalnym komputerze, przeglądałem kod w poszukiwaniu jakiś podejrzanych zmian w kodzie w miejscach odpowiedzialnych za wysyłke plików, ale nic nie było zmieniane, albo było tylko nieoczywiste dla mnie.
Wysyłka idzie po http putem. Czy ktoś ma jakąś wskazówkę, gdzie szukać problemu?
  • 15
@budyn: właśnie chodzi o to, ze mam zapisywane czasy wywolania akcji na kliencie i serwerze i odjalem jedno od drugiego i z tego policzylem, ze takie opoznienia mam na samym wysylaniu odpowiedzi/requesta
@Zeronader: Daję minimalne szanse, ale kiedyś miałem podobny problem i w starszym .NET-cie okazało się, że takie coś jak Nagle's Algorithm powodował opóźnienia ok 200ms, gdzie zawsze było 20ms.
Tak jak mówię, nie wierzę, że to to ale spróbuj ustawić na początku lifetime apki

ServicePointManager.UseNagleAlgorithm = false;
@WielkiElektronig: no nie ma takiej linii wlasnie, bo ja mam czasy wykonania calej akcji na serwer od poczatku do konca i czas wywolania requesta od wywolania do odpowiedzi na kliencie i wlasnie ten czas na kliencie minus wykonanie samej akcji na serwerze mi daje samo wyslanie/odebranie danych. I to jest spowolnione znacznie. Chociaz teraz testowalem to co mi @juzjuzjuz podpowiedzialem i zrobilem downgrade biblioteki system.net.http do wersji, ktora mam na starszej
@Zeronader: powodów może być trylion. Masz dostęp do kodu? Sprawdź source control. Może jakiś middleware po aktualizacji nie śmiga. Może logowanie? Nie masz analytics żadnego? Grafana? Hosting iis/kestrel jakieś reverse proxy? Antywirus? Szukasz igly w stogu siana kolego..