Czy po publikacji aplikacji za pomocą komendy dotnet publish używa ona nadal IIS EXPRESS czy już innego serwera?

Odpowiedz Nowy wątek
2019-06-10 16:36
0

Czy po publikacji aplikacji za pomocą komendy dotnet publish -c release -r "platforma" aplikacja używa IIS EXPRESS czy już serwera takiego jak przy produkcji?

Pytam bo widzę że średni czas requestów na aplikacji po publish jest znacznie mniejszy.

edytowany 6x, ostatnio: Pytajnikkk, 2019-06-10 18:08

Pozostało 580 znaków

2019-06-11 23:14
0
some_ONE napisał(a):

Jak chcesz porównywać windows vs linux to moim zdaniem nie powinieneś używać żadnego serwera reverse proxy (IIS/nginx/haproxy itp.), a zrobić tylko porównanie na Kestrelu.

Jak na linuxie użyjesz czegoś na styl IIS, to będziesz testował wydajność serwerów reverse proxy, a nie apki/frameworka, bo o ile nie robisz requestów po same pliki statyczne, które serwery reverse proxy prawdopodobnie potrafią lepiej cachować (nie wiem czy Kestrel w ogóle potrafi?) to pewnie największy narzut wydajnościowy będzie właśnie po stronie takiego serwera reverse proxy.

Jak sprawdzić czego ja właściwie używam na linuxie po opublikowaniu na tej platformie aplikacje w corze?

edytowany 1x, ostatnio: Pytajnikkk, 2019-06-11 23:14

Pozostało 580 znaków

2019-06-11 23:15
0

Jak nic nie konfigurowałeś to Kestrela, to nie jest tak że apka sama odpali ci jakiś serwer reverse proxy.

Pozostało 580 znaków

2019-06-11 23:19
0
some_ONE napisał(a):

Jak nic nie konfigurowałeś to Kestrela, to nie jest tak że apka sama odpali ci jakiś serwer reverse proxy.

Okej, a to dlaczego mam tak niską przepustowość w porównaniu do FULL IIS na windowsie?
Czy ten kestrel też ma może podział na mniejszą zabawke ? (ala IIS EXPRESS) ?

Pozostało 580 znaków

2019-06-11 23:24
0
Pytajnikkk napisał(a):
some_ONE napisał(a):

Jak nic nie konfigurowałeś to Kestrela, to nie jest tak że apka sama odpali ci jakiś serwer reverse proxy.

Okej, a to dlaczego mam tak niską przepustowość w porównaniu do FULL IIS na windowsie?

Nie wiem, moim zdaniem nie powinno być takiej różnicy. Jak już to mniejsza, ale i tak bym się skłaniał do tego, że to raczej Kestrel powinien być szybszy od IIS nawet z modelem inprocess.
Co robi ten request na którym testujesz?

Czy ten kestrel też ma może podział na mniejszą zabawke ? (ala IIS EXPRESS) ?

Nie.

Pozostało 580 znaków

2019-06-11 23:29
0
some_ONE napisał(a):
Pytajnikkk napisał(a):
some_ONE napisał(a):

Jak nic nie konfigurowałeś to Kestrela, to nie jest tak że apka sama odpali ci jakiś serwer reverse proxy.

Okej, a to dlaczego mam tak niską przepustowość w porównaniu do FULL IIS na windowsie?

Nie wiem, moim zdaniem nie powinno być takiej różnicy. Jak już to mniejsza, ale i tak bym się skłaniał do tego, że to raczej Kestrel powinien być szybszy od IIS nawet z modelem inprocess.
Co robi ten request na którym testujesz?

Czy ten kestrel też ma może podział na mniejszą zabawke ? (ala IIS EXPRESS) ?

Nie.

Request do strony głównej na której mam statyczne zdjęcie i tekst
Po czym mógł znaleźć przyczynę dla której jest taka mała przepustowość? (Dodam że tego linuxa mam na maszynie wirtualnej)

edytowany 2x, ostatnio: Pytajnikkk, 2019-06-11 23:32

Pozostało 580 znaków

2019-06-12 08:26
3

Trzeba zacząć mierzyć różne metryki pokazujące jak działa nasza aplikacja na serwerze i zobaczyć gdzie są wąskie gardła. Podstawą jest mierzenie % CPU i % RAM jeśli nie masz któregoś z nich na 100% podczas testów obciążeniowych a nie jesteś w stanie wyciągnąć wyższego wyniku to znaczy że na pewno coś jest źle. W dalszej kolejności warto się przyjrzeć jak zachowuje się pula wątków na której pracuje aplikacja, jak GC działa i jest ustawiony, jak kształtują się czasy odpowiedzi.

Pomocne może być również porównanie nagłówków odpowiedzi dotyczących: cache, kompresji, http2.

Także dobra instrumentalizacja jest podstawą tuningowania, a metryk do mierzenia jest naprawdę sporo, przykład:

title


#Dżunior React Devloper wanna be#
edytowany 1x, ostatnio: neves, 2019-06-12 08:27
ladne wykresiki :D - Akihito 2019-06-12 10:10
Przy użyciu czego takie ładne wykresy otrzymałeś ? :) - Pytajnikkk 2019-06-12 11:18
Szkoda że jest na to licencja ;( Nie wiesz czy da się z poziomu monitorowania zasobów winwdows jakoś podejrzeć pule aplikacji? - Pytajnikkk 2019-06-12 11:44
TICK stack jest opensource i za darmo, licencja jest na wersje w chmurze, na windowsie nigdy nie tuningowałem asp.net core także nie wiem. - neves 2019-06-12 12:16
myślałem, że grafa, ładne. - WeiXiao 2019-06-12 20:22

Pozostało 580 znaków

2019-06-13 14:11
0

Chciałem się dowiedzieć czy sam w sobie kestrel używa modułów hostowania typu: InProcess albo OutOfProcess , jeżeli tak to jakiego modulu używa defaultowo?

Ponadto nie rozumiem, dlaczego za każdym razem mam mniejsza przepustowość na linuxie na tym samym sprzecie i na tym tescie niz na windowsie w odpowiedziach requestow.
Dodatkowo przy dużej ilości wysłanych requestow nie wyskoczył żaden błąd, a w windowsie przy uzyciu FULL IIS juz dawno mialem blędy....

Dostaje też ze przy wiekszej liczbie requestow sredni czas odpowiedzi jest szybszy niz w przypadku mniejszej probki (przepustowosc podobna do mniejszej probki i bledu nie ma)

edytowany 4x, ostatnio: Pytajnikkk, 2019-06-13 14:34

Pozostało 580 znaków

2019-06-13 18:06
0

Żeby stwierdzić co jest nie tak jak już wcześniej pisałem potrzebna jest znajomość metryk, bez nich można tylko zgadywać.
Jeśli używasz najnowszej wersji net core 3.0 Preview 6 (dostępna od wczoraj :D), to możesz te metryki bardzo prosto dostać za pomocą:
https://github.com/dotnet/dia[...]tnet-counters-instructions.md
za pomocą jednego prostego narzędzia dostajemy wszystkie najważniejsze metryki, wcześniej nie było to możliwe na linuxie:
title


#Dżunior React Devloper wanna be#

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0