NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Memory Leak v .Net Api - (Net7.0)

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Mini
Člen
Avatar
Mini:20.12.2023 11:51

Ahoj,
Už několik týdnů zápasím s tím že mi moje .net aplikace bere moc paměti.
Zjistil jsem to tak že na hostingu active24, kde moje appka beží mi po pár requestech zabijí muj pool a tim padem je tam chvíli odezva treba 4 vteriny. (po kontaktu s nimi je to kvuli tomu že appka žere moc pameti, tak ji shodí)
Na localhostu mi to nedelá jelikož ja mam ramky velky.
Použivám MSSQL a .NET 7.0
Zde je minimálni repo na kterém se to děje.
GIT-HUB-MEMORY-LEAK

Zkusil jsem: Zkoušel jsem ruzné memory-leaks tooly ale nikdy jsem z nich nebyl chytrý.
Zkoušel jsem smazat skoro vsechny controllery a servisy a proste ten problém nastává pořád.
Začalo to když applikace byla v .net3.1 tak jsem ji updatnul na .Net 7.0 ale to nepomohlo.
Jediné co jsem zjistil je že když odstraním HangFire (knihovna pro plánování tasků jako background servisa) tak se to stane za delší dobu ale stejně to problém nevyrešilo.

Chci docílit: Potřebuju zjistit co dělam špatne jestli tam pouzivam nejaky anti-paterny nebo jestli mám špatně nastavenej startup classu, protože tyto výpadky si nemužu dovolit.
Jsem senior frontend ale v .Net teprve začínám tak na to prosím myslete :-D.

Děkuji moc všem za případnou pomoct.

Editováno 20.12.2023 11:52
Odpovědět
20.12.2023 11:51
Jste dobří jen v tom, co vás baví.
Avatar
JerryM
Člen
Avatar
JerryM:27.12.2023 18:42

brouku ten zdroják po spuštění v MSVS2022 nefunguje. Hází mi to HTTP Error 404.0 - Not Found.
ale tam je tolik míst, ve kterých si mohl udělat chybu že nevim nevim :) :) :) tohle se bude kontrolovat
opravdu těžko
koukni sem
https://michaelscodingspot.com/…t-practices/
https://www.leansentry.com/…Memory-Leaks
budeš asi muset ten tvuj kod nějak ještě víc rozkouskovat na menží díly a zkoumat to zvlášť.
používáš taky hodně lambdas a hodně složitých lambdas to neni moc dobře tam se může schovávat spoustu problémů

 
Nahoru Odpovědět
27.12.2023 18:42
Avatar
Mini
Člen
Avatar
Odpovídá na JerryM
Mini:28.12.2023 12:48

Aplikace je rest-api, takže ona funguje jen je potreba na api posilat requesty (nemá clienta aplikace).
Napadlo me jestli nemám špatne vztahy mezi DB entitama. Ale na prvni pohled mi to neprijde.

Nahoru Odpovědět
28.12.2023 12:48
Jste dobří jen v tom, co vás baví.
Avatar
JerryM
Člen
Avatar
JerryM:28.12.2023 12:51

jak jsem řikal asi bych to nějak zorkouskoval a zkoumal zvlášť
nicéně používáš opravdu hodně lambdas a to se kontroluje opravdu velmi špatně, tam muže nastat chyba kdekoliv a nedá se to zachytit, já lambdas nepoužívám vubec

 
Nahoru Odpovědět
28.12.2023 12:51
Avatar
Mini
Člen
Avatar
Odpovídá na JerryM
Mini:29.12.2023 14:53

Ty lambas tím myslis presne co? Jak je v TripService metoda GetAllTrips ? Tak ty where, foreach atd? To je spatne? Nebo v čem by tam mohl byt problém?
Díky

Nahoru Odpovědět
29.12.2023 14:53
Jste dobří jen v tom, co vás baví.
Avatar
JerryM
Člen
Avatar
JerryM:29.12.2023 15:42

tohle
https://learn.microsoft.com/…-expressions
já to vubec nepoužívám když to neni nezbytně nutné
a ty to tam dáváš kde se jen dá
ano, je to víc práce to rozepisovat, ale pak se to líp kontroluje
přiznám se že nevim co s tim zdrojákem :) ... asi bych to zahodil a začal znova od začátku

 
Nahoru Odpovědět
29.12.2023 15:42
Avatar
Mini
Člen
Avatar
Mini:29.12.2023 16:37

Zkusim to este vi ocesat no tak uvidim.
Ale porad stejne nevidim ten duvod proc ty lamby nepouzivat. Debugovat to jde taky snadno jak cokoli, nejakej duvod ?

Nahoru Odpovědět
29.12.2023 16:37
Jste dobří jen v tom, co vás baví.
Avatar
JerryM
Člen
Avatar
JerryM:6.1.2024 17:04

nemám lambdy rád ... asi sem ze starý školy :)

 
Nahoru Odpovědět
6.1.2024 17:04
Avatar
Mini
Člen
Avatar
Mini:12.1.2024 19:11

Uz sem smazal skoro vše a pořád to dělá to stejné.
Někdo nejakej nápad?
Nemá někdo čas na mě že by se mnou na to kouknul (live)? (Samožrejme zaplatím)

Nahoru Odpovědět
12.1.2024 19:11
Jste dobří jen v tom, co vás baví.
Avatar
JerryM
Člen
Avatar
JerryM:25.1.2024 16:07

zkus poslat tu minimální verzi ... na uloz.to uz to nejde ... tak někam ... :)

 
Nahoru Odpovědět
25.1.2024 16:07
Avatar
Mini
Člen
Avatar
Mini:25.1.2024 16:10

Já ji mam na githubu :-)
https://github.com/…/Memory-leak

Nahoru Odpovědět
25.1.2024 16:10
Jste dobří jen v tom, co vás baví.
Avatar
JerryM
Člen
Avatar
JerryM:28.1.2024 15:46

hm ta tvoje poslední verze mě neukazuje žádnej memory leak.
a neni problém někde jinde ???

 
Nahoru Odpovědět
28.1.2024 15:46
Avatar
Mini
Člen
Avatar
Odpovídá na JerryM
Mini:29.1.2024 10:13

Urovna resim s hostingem ze je nejspis problem u nich. Takže nejspis v kodu problem neni

Nahoru Odpovědět
29.1.2024 10:13
Jste dobří jen v tom, co vás baví.
Avatar
JerryM
Člen
Avatar
JerryM:29.1.2024 10:15

asi jo ... ono ASPčko je poměrně náročná věc ...
zkus jinej hosting, na ASP je tu pár free hostingu jenon abys viděl co to bude dělat.

 
Nahoru Odpovědět
29.1.2024 10:15
Avatar
Mini
Člen
Avatar
Mini:29.1.2024 10:26

jjj už mam prave info o tech ceskej hostingách na .NET Core. Nevíš o nějakym spolehlivým? Ja to ted mám na active24 a je to fakt hrůza. Na PHP asi dobry ale ten .Net nic moc.

Nahoru Odpovědět
29.1.2024 10:26
Jste dobří jen v tom, co vás baví.
Avatar
JerryM
Člen
Avatar
JerryM:9.2.2024 9:33

asi něco z toho .. hlavně aby to fungovalo :)
https://googiehost.com/…net-hosting/

 
Nahoru Odpovědět
9.2.2024 9:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.