Aspnetcore: рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдХрдЪрд░рд╛ рдПрдХрддреНрд░ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдорд╛рд░реНрдЪ 2017  ┬╖  136рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/aspnetcore

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХреНрдпреЛрдВ Asp.net рдХреЛрд░ рдХрдЪрд░рд╛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдореИрдВрдиреЗ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЛ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд▓рдиреЗ рджрд┐рдпрд╛, рдФрд░ рдореЗрд░реА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ 20GB рддрдХ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреАрд╕реА рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рддреЛ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╡реЗрдм рд╡рд┐рдзрд┐ рд▓рд┐рдЦреА рдЬреЛ рддрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕рдВрдЧреНрд░рд╣ рд▓реМрдЯрд╛рддреА рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЗ рдХреЗрд╡рд▓ 124MB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рд╡реЗрдм рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛, рддреЛ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ 411MB рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рддрдХ рдЙрдЪреНрдЪ рдФрд░ рдЙрдЪреНрдЪ рд╣реЛрддрд╛ рд░рд╣рд╛ред рдЕрдЧрд░ рдореИрдВ рд╡реЗрдм рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд░рд╣рддрд╛ рддреЛ рдпрд╣ рдФрд░ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдореЗрд░рд╛ рдЯреЗрд╕реНрдЯ рдХреЛрдб рдпрд╣ рдерд╛:

`

[рдПрдЪрдЯреАрдкреАрдЧреЗрдЯ]
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ async рдХрд╛рд░реНрдп> рдЯреЗрд╕реНрдЯрдЬреАрд╕реА () {
рдХреЙрдиреНрд╕реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрджреЗрд╢ = "рдЯреЗрд╕реНрдЯ";
рдПрдиреНрдпреВрдорд░реЗрдмрд▓ рд▓реМрдЯреЗрдВред рд░рд┐рдкреАрдЯ (рд╕рдВрджреЗрд╢, 100000000);
}
`

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рдХреБрдЫ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ... рдореЗрд░реА рд╕рдордЭ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд▓рд┐рдП рд╣рд░ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирдиреЗ рдФрд░ UI рдХреЛ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрдореЛрд░реА рдХреЛ рдореБрдХреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреАрд╕реА рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА, рдореЗрдореЛрд░реА рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЧрдИ рдереАред
netcorescreenshot

рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдиреАрд▓рдХрдВрда

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕рдХреА рдХреЛрдИ рдЦрдмрд░? рдореИрдВ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдХреЛрд░ 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЕрднреА рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИред _Controller_ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрднреА рдХрдо рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред (_рдореИрдВрдиреЗ рд╡реЗрдмрдПрдкреА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛_)

рд╕рднреА 136 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@rynowak

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рдХреБрдЫ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ... рдореЗрд░реА рд╕рдордЭ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд▓рд┐рдП рд╣рд░ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирдиреЗ рдФрд░ UI рдХреЛ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрдореЛрд░реА рдХреЛ рдореБрдХреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

рдмрдбрд╝реА рд╡рд╕реНрддреБ рдХрд╛ рдвреЗрд░ рдЖрдкрдХреЛ рдпрд╣рд╛рдБ рдХрд╛рдЯ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕> 85KB рдЖрдХрд╛рд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ LOH рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдмрд╣реБрдд рдХрдо рд╣реА рд╕рдВрдХреБрдЪрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рджреЗрдЦреЗрдВ http://stackoverflow.com/questions/8951836/why-large-object-heap-and-why-do-we-care рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП (рдпрд╛ https://github.com/dotnet/coreclr/blob/master /Documentation/botr/garbage-Collection.md#design-of-allocator рдЕрдЧрд░ рдЖрдк рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХреНрдпреЛрдВ Asp.net рдХреЛрд░ рдХрдЪрд░рд╛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдореИрдВрдиреЗ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЛ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд▓рдиреЗ рджрд┐рдпрд╛, рдФрд░ рдореЗрд░реА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ 20GB рддрдХ рдкрд╣реБрдВрдЪ рдЧрдпрд╛

рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдХреНрдпрд╛ рдХрд░ рд░рд╣реА рд╣реИ рдХрд┐ рдпрд╣ рдЗрддрдиреА рдмрдбрд╝реА рд╡рд╕реНрддреБрдПрдВ рдмрдирд╛ рд░рд╣реА рд╣реИ? рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдбрдВрдк рд▓реЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛ рдЬрд╛рдП, рдЬреЛ рдЖрдкрдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдХреМрди рд╕реА рд╡рд╕реНрддреБрдПрдВ рдЪрд╛рд░реЛрдВ рдУрд░ рдЪрд┐рдкрдХреА рд╣реБрдИ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХреНрдпреЛрдВ рд░рдЦрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рдЖрдк рдбрдВрдк рдпрд╛ рд╡рд┐рдВрдбрдмрдЧ рдпрд╛ рдкрд░рдлрд╡реНрдпреВ рдЬреИрд╕реЗ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдЯреВрд▓ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

Enumerable.Repeat . рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рд╕рд░рдгреА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
рдпрд╛ GCSettings.LargeObjectHeapCompactionMode (.Net Standard рдореЗрдВ рд╕рдорд░реНрдерд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░реЗрдВред

рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП @davidfowl рдФрд░ @MhAllan рдзрдиреНрдпрд╡рд╛рджред рд▓реЗрдХрд┐рди рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рдерд╛ред рдореИрдВ рдмрд╕ рдХреБрдЫ рдРрд╕рд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗ рддрд╛рдХрд┐ рдореИрдВ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗ рд╕рдХреВрдВред рд╕рдЪреНрдЪрд╛рдИ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рд╢реНрди рдореЗрдВ рд╡рд╕реНрддреБ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдФрд░ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди @davidfowl рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рд╕реЗрд╡рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЛ рдбреИрдкрд░ рдХреЗ рд╕рд╛рде рдЦреАрдВрдЪ рд░рд╣реА рдереА, рдФрд░ рдкрд░рд┐рдгрд╛рдореА рд╡рд╕реНрддреБ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рд░рд╣реА рдереАред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдереАред рддреЛ рд╕реНрдореГрддрд┐ рдХреЛ рдЙрд╕ рдорд╛рддреНрд░рд╛ рддрдХ рдмрдврд╝рдиреЗ рдореЗрдВ рдХреБрдЫ рджрд┐рди рд▓рдЧ рдЧрдПред рдЬрдм рдореИрдВ рдЗрд╕ рдЦрд╝рд╛рд╕рд┐рдпрдд рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреАрдмреА рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рдмрд╛рд░-рдмрд╛рд░ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдереЛрдбрд╝рд╛ рдХрдВрд╕реЛрд▓ рдРрдк рд▓рд┐рдЦрд╛ рдерд╛ред

@zorthgo рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдбреИрдкрд░ рдирд╣реАрдВ рд╣реИ? рдпрджрд┐ рдЖрдк PHP рдХреА рддрд░рд╣ рд╕реАрдзреЗ рдЕрдкрдиреА SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдХреЗ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдмрд╣реБрдд рд╕рд╛рд░реА рдХреИрд╢реНрдб SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдбреИрдкрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ
https://github.com/StackExchange/Dapper/blob/fe5c270aceab362c936456087a830e6fe1603cac/Dapper/SqlMapper.cs
рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдореГрддрд┐ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2017 рдЖрдкрдХреЗ рдРрдк рдкрд░ рдХрдИ рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдореЗрдореЛрд░реА рд╕реЗ рдХреБрдЫ рд╕реНрдиреИрдкрд╢реЙрдЯ рд▓реЗрдиреЗ рдФрд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@zorthgo рд╣рд╛рдБ рдореИрдВрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рд╣реИред рдореЗрд░реЗ .net рдХреЛрд░ рдХрдВрд╕реЛрд▓ рдРрдк рдореЗрдВ рд╕рд░реНрд╡рд┐рд╕рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдореЗрдВ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ 50 рдПрдордмреА рдХреА рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред рдореИрдВрдиреЗ рдорд╛рди рд▓рд┐рдпрд╛ рдХрд┐ рдпрд╣ VS2017 рдмрдЧ рдерд╛ рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдореЗрдВ рдЙрдЪреНрдЪ рдЙрдкрдпреЛрдЧ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреАред рдЬреИрд╕рд╛ рдХрд┐ рдЬрд╝реЛрд░реНрдердЧреЛ рдиреЗ рдПрдкреАрдЖрдИ рдХреЛ рд╕рд░рд▓ рдХреЙрд▓ рдХрд░рдХреЗ рдХрд╣рд╛ рд╣реИ, рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдореГрддрд┐ рдЬрд╛рд░реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ ASP.NET Core рдкрд░ .NET Core рдкрд░ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдпрд╣ .NET Framework рдкрд░ ASP.NET Core рдХреЗ рд╕рд╛рде рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

рдХреНрдпрд╛ рдЖрдк MVC 5 (System.Web рдкрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдорд╛рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ?

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЗрд╕рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рд▓рдХреНрд╖реНрдп рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред NetCoreApp 1.1 рдФрд░ рдореЗрд░рд╛ рдХрдВрд╕реЛрд▓ рдРрдк рдПрдХ рд╕рд╛рдЭрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд░рд╣рд╛ рдерд╛ред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ред рдПрдХ рдирдореВрдирд╛ рдРрдк рдЬреЛ hellorequest рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдРрдк рдореЗрдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдореЛрд░реА 85mb рд╣реИ, рдлрд┐рд░ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рд╕реЗ рдореИрдВ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рд▓рдЧрднрдЧ 145mb рддрдХ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдпрд╣ рдХрднреА-рдХрднреА 125mb рддрдХ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╡рд╣реАрдВ рд░рд╣рддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдиреЗрдЯ рдХреЛрд░ рдХрдВрд╕реЛрд▓ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛ рдорд╛рдирд╛ рдХрд┐ рдореИрдВ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рдерд╛ рдпрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рддрддреНрдХрд╛рд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред

https://drive.google.com/open?id=0B0Gm-m-z_U84TU5keWFTMzc1ZWc

3000-5000 рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдирд╛рдд рдПрдХ Asp.Net рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдпрд╣рд╛рдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ.. рд╕рд░реНрд╡рд░ рдкрд░ рдореЗрдореЛрд░реА рдХрд▓ рдмрдврд╝рдХрд░ 15GB рд╣реЛ рдЧрдИ ... рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдореЗрдореЛрд░реА рдбрдВрдк рд▓рд┐рдпрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдЖрдкрдХреЗ рд╡рд┐рд╢реЗрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рднреА рдореЗрдореЛрд░реА рдХреНрдпрд╛ рд▓реЗ рд░рд╣реА рд╣реИ?

@davidfowl @Pinox
рдореИрдВ рдПрдХ рдмрдбрд╝реА рдХрдВрдкрдиреА рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рд╣рдо ASP.NET Core рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрд╛, рддреЛ рдореИрдВ рдбрд░ рдЧрдпрд╛: рдЪрд┐рдВрддрд┐рдд:ред рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рддреЛ рдХреГрдкрдпрд╛, рдХреНрдпрд╛ рдпрд╣ ASP.NET Core рдпрд╛ .NET Core (CoreCLR) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рд╣рдо Full .NET (4.6) рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдБред

@ikourfaln рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ .net рдХреЛрд░ рдХрдВрд╕реЛрд▓ рдРрдк, рд╕рд░реНрд╡рд┐рд╕рд╕реНрдЯреИрдХ (.net рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг) рдФрд░ рдХреЗрд╕реНрдЯреНрд░реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЕрдЬреАрдм рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕реНрддрд░ рддрдХ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдпрд╣ рдЕрдЪрд╛рдирдХ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рдКрдкрд░ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЫреЛрдЯреЗ рдирдореВрдиреЗ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрдХреНрд╖ рдореЗрдВ рдЬрд╛рдВрдЪрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред

рд╢рд╛рдпрдж @zorthgo рдЕрдкрдиреА рддрд░рдл рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд╣ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрддрд░ рдкрд░ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдмрдврд╝рдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣реА рд╡рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ @zorthgo рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдирдореВрдирд╛ рдРрдк рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╕реНрдореГрддрд┐ рджреВрд░ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИред рдпрд╣ рдКрдкрд░ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рд░реБрдХ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджрд┐рдпрд╛:

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд╕реНрддреБ рдХреЛрдИ рднреА (рдЯреЗрд╕реНрдЯрдЬреАрд╕реА рдЕрдиреБрд░реЛрдз)
{
рдХреЙрдиреНрд╕реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрджреЗрд╢ = "рдЯреЗрд╕реНрдЯ";
рдЧрдгрдирд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд╛рдкрд╕реАред рджреЛрд╣рд░рд╛рдПрдВ (рд╕рдВрджреЗрд╢, 100000);
}

@рдкрд┐рдиреЙрдХреНрд╕
рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЕрдкрдиреА рддрд░рдл рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ред

2.0 рдореЗрдВ рдЗрд╕ рдмрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ?

рдЗрд╕рдХреА рдХреЛрдИ рдЦрдмрд░? рдореИрдВ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдХреЛрд░ 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЕрднреА рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИред _Controller_ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрднреА рдХрдо рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред (_рдореИрдВрдиреЗ рд╡реЗрдмрдПрдкреА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛_)

рдирдорд╕реНрддреЗ,

рдореЗрд░реЗ рдкрд╛рд╕ ASP.NET Core 2 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдореЗрдореЛрд░реА рдбрдВрдк рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЬреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЙрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╣реИ рдЬреИрд╕реА рдУрдкреА рдиреЗ рдХрд╣рд╛ рдерд╛ред рдореЗрд░рд╛ рдЖрд╡реЗрджрди рд▓рдЧрднрдЧ 75 рдПрдордмреА рдЖрд╡рдВрдЯрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдмрд╣реБрдд рдЬрд▓реНрджреА рдпрд╣ ~ 750 рдПрдордмреА рддрдХ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╕реЗ 608 рдПрдордмреА ".NET рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдЕрдкреНрд░рдпреБрдХреНрдд рд╕реНрдореГрддрд┐" рд╣реИред

рдРрдк рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдкрд╣рд▓рд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ:
image

3 рдорд┐рдирдЯ рдФрд░ 100 рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд╛рдж рджреВрд╕рд░рд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ:
image

рд╣рдо рднреА рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдорд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реЗ рдирд┐рдкрдЯ рд░рд╣рд╛ рд╣реИ, (рдЬреЛ рдЦрд░рд╛рдм рдбрд┐рдЬрд╝рд╛рдЗрди рд╣реИ рдФрд░ рдЬрд▓реНрдж рд╣реА рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛), рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рд╕реНрдореГрддрд┐ рдХреЛ рдмрдврд╝рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣реА рд╣реИред рдореЗрдореЛрд░реА рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ 40-50% (50 рдПрдордмреА рд╣рд╛рд╕рд┐рд▓ рдХрд░реЗрдВ, 30-35 рдПрдордмреА рдХрдо рдХрд░реЗрдВ), рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рд╣рд░ рдмрд╛рд░ 10-15 рдПрдордмреА рдХреА рд╕реАрдорд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдмрдврд╝рд╛рддреА рд╣реИред рд╕рд░реНрд╡рд┐рд╕ рдХреЛ рд╕рд░реНрд╡рд┐рд╕ рдлреИрдмреНрд░рд┐рдХ рдХреЗ рдЕрдВрджрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдЙрддреНрдкрд╛рджрди рд╕реЗрд╡рд╛ (20-100 req/s) рдореЗрдВ рдПрдХ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реИ:

  • ASP.NET рдХреЛрд░ 2.0.4
  • рд╕рд░реНрд╡рд┐рд╕рд╕реНрдЯреИрдХ.рдХреЛрд░ 1.0.44
  • рд╕реНрдХреАрдпрд╛рд╢рд╛рд░реНрдк 1.59.2
  • рдбреЙрдХрд░ v17.09.0-ce, Ubuntu 16.04 x64 рдкрд░ afdb6d4 рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
  • x4 рд╕рд░реНрд╡рд░ @ 40 рд╕реАрдкреАрдпреВ, 128 рдЬреАрдмреА рдореЗрдореЛрд░реА
  • рд╕рд░реНрд╡рд░ рдЬреАрд╕реА рд╕рдЪ рд╣реИ
  • рдкреНрд░рддреНрдпреЗрдХ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ 12k (mhz) CPU рд╢реЗрдпрд░реЛрдВ, 8GB ram . рдкрд░ рд╕реЗрдЯ рд╣реИ

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рдлреНрд░рдВрдЯ-рдПрдВрдб рд╡реЗрдм рд╕рд░реНрд╡рд░ рдФрд░ рд╡рд░реНрдХрд░ рд╣реИ (рдХреНрд░рдорд╢рдГ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

рд╡реЗрдм рд╕рд░реНрд╡рд░ (рдкрд┐рдЫрд▓реЗ 6 рдШрдВрдЯреЗ)
screen shot 2018-01-13 at 1 06 24 pm

рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ (рдкрд┐рдЫрд▓реЗ 6 рдШрдВрдЯреЗ)
screen shot 2018-01-13 at 1 07 55 pm

рд╡реЗ рджреЛрдиреЛрдВ рдмрдбрд╝реЗ рдмрд╛рдЗрдЯ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╕реЗрд╡рд╛ рдПрдХ рд╡рд╕реНрддреБ рднрдВрдбрд╛рд░рдг рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд░рд╣реА рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╡рд╕реНрддреБрдУрдВ рдХреЛ LOH рдореЗрдВ рд░рдЦрддреА рд╣реИред рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рдЗрд╕ рд╕рдордп .NET рдХреЛрд░ рдХреА рдПрдХ рдЬреНрдЮрд╛рдд рд╕реАрдорд╛ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ LOH рдХрднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдл рдпрд╛ рдЦрдВрдбрд┐рдд рдирд╣реАрдВ рд╣реБрдЖред

рдРрд╕рд╛ рдХрд╣рдХрд░, рдПрд╕рдУрдПрдЪ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╡реЗрдм рдПрдкреАрдЖрдИ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕рд╛рдлрд╝ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдХреЛрдИ рд╕реБрдЭрд╛рд╡? рдХреНрдпрд╛ рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдореИрдВрдиреЗ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдХреЛрдИ рдЪрдордХрджрд╛рд░ рдореЗрдореЛрд░реА рд▓реАрдХ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдФрд░ рдореИрдВ рд╕рд░реНрд╡рд┐рд╕рд╕реНрдЯреИрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрд╛рд╣рд░ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@sebastienros - рдЗрд╕ рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░? рдХреНрдпрд╛ рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреЛрдИ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рджреЗрдЦрд╛ рд╣реИ?

  • рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ 2.1 рдкрд░ рдорд╛рдкрддреЗ рд╣реИрдВ, рдореИрдВ 2.0 . рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛
  • рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдПрд▓рдУрдПрдЪ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдмрдбрд╝реЗ рд╕рд░рдгреА рдкреВрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

@sebastienros , рдХрдИ рдкреНрд░рд╢реНрди:

  1. рдореИрдВрдиреЗ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдЯреНрд╕ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХреЛрдИ LOH рд╡рд┐рдЦрдВрдбрди рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ред рдХреНрдпрд╛ рдЖрдк рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХреИрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░рд╛ рдЖрд╡реЗрджрди рдПрд▓рдУрдПрдЪ рд╡рд┐рдЦрдВрдбрди рдореБрджреНрджреЛрдВ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ рдпрд╛ рдирд╣реАрдВ?
  2. .NET рдХреЛрд░ 2.1 рдкрд░ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИрдВ? рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ Kestrel рд╕реНрдкреИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ?
  3. рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдкреВрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ - рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рд╣рдореЗрдВ GCSettings.LargeObjectHeapCompactionMode.CompactOnce рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

.NET рдХреЛрд░ 2.1 рдкрд░ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИрдВ? рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ Kestrel рд╕реНрдкреИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рд╣рдордиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХреЛрдИ рд╕рдмреВрдд рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ Kestrel рдореЗрдВ рд╣реИред рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЖрд╡реЗрджрди рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдкреВрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ - рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рд╣рдореЗрдВ GCSettings.LargeObjectHeapCompactionMode.CompactOnce рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

@jkotas @Maoni0 рдпрд╣рд╛рдБ рдХреЛрдИ рд╕рд▓рд╛рд╣?

рдЕрдЧрд░ рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реВрдВ рддреЛ рдореИрдВ рдХреИрд╕реЗ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рд░реЗрдбрдЧреЗрдЯ рдореЗрдореЛрд░реА рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ LOH рд▓рдЧрднрдЧ рдЦрд╛рд▓реА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ @sinapis рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХреЗрд╡рд▓ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП 1GB рд╕реЗ рдЕрдзрд┐рдХ рдЖрд╕рд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдЯреНрд░реЗрд╕ рдПрдХрддреНрд░ рдХрд░реЗрдВ рдФрд░ рдкрд░рдлрд╡реНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред .NET рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рд╡реЗрдВрд╕ рдФрд░ рдЕрдиреНрдп рджреНрд╡рд╛рд░рд╛ рдХрдИ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИрдВ: https://www.bing.com/search?q=.NET%20memory%20leak%20perfview ред

https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/linux-performance-tracing.md рдореЗрдВ рдирд┐рд╢рд╛рди рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЬреАрд╕реА рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рдЖрд╕-рдкрд╛рд╕ рдЕрдзрд┐рдХ рд╕реНрдореГрддрд┐ рд░рдЦ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ, рдЗрд╕реЗ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдЬреЙрдм рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдореЛрд░реА рд▓рд┐рдорд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЬреАрд╕реА рдЗрди рд╕реАрдорд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рдХрд░реАрдм рд╣реЛрдиреЗ рдкрд░ рдЕрдзрд┐рдХ рдЖрдХреНрд░рд╛рдордХ рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред
  • рдпрд╛, рд╕рд░реНрд╡рд░ рдЬреАрд╕реА рд╕реЗ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреАрд╕реА рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ред рд╕рд░реНрд╡рд░ рдЬреАрд╕реА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢рд┐рдЦрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕реЗрдЯ рд╣реЛрдирд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдореЗрдВ рд▓реЛрдЕрд░ рд╣рд╛рдИ рдкреАрдХ рд╡рд░реНрдХрд┐рдВрдЧ рд╕реЗрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдереНрд░реВрдкреБрдЯ рднреА рдХрдо рд╣реИред

рдирдорд╕реНрддреЗ,

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдиреЗрдЯ рдХреЛрд░ рд╡реЗрдм рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдПрдХ рд╣реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2016 рдкрд░ .Net Core 2.0.3 рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдорд╢реАрди рдПрдХ рд╣рд╛рдЗрдкрд░-рд╡реА рд╡реАрдПрдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ 28 рд╕реАрдкреАрдпреВ рдХреЛрд░ рдФрд░ 24 рдЬреАрдмреА рд░реИрдо рд╣реИред рдпрджрд┐ рд╣рдо рдЖрдИрдЖрдИрдПрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреВрд▓ рдХреЛ рдЕрдХреНрд╕рд░ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд░реАрд╕рд╛рдпрдХрд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдВрддрддрдГ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА (>=рдХреБрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рдХрд╛ 95%) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ CPU рдЙрдкрдпреЛрдЧ рднреА рджреГрдврд╝рддрд╛ рд╕реЗ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ (рдХрднреА-рдХрднреА 2% рд╕реЗ 70% рддрдХ)ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдУрдУрдПрдо рдЕрдкрд╡рд╛рдж рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд╣рдо рд╣рдореЗрд╢рд╛ рдкреВрд▓ рдХреЛ рд░реАрд╕рд╛рдпрдХрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ (рдЕрдзрд┐рдХрддрдо рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдбреЙрдЯрдиреЗрдЯ.рдПрдХреНрд╕рдИ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдХрд╛ 98% рдерд╛)ред

".рдиреЗрдЯ рдореЗрдореЛрд░реА рдкреЛрд░реНрдлрд╝рд┐рд▓рд░" (рд╕рд╛рдЗрдЯреЗрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░) рдХреЗ рд╕рд╛рде рдЙрддреНрдкрд╛рджрди рдореЗрдореЛрд░реА рдбрдВрдк рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╣реИ:
image

рдпрджрд┐ рдпрд╣ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рд╣реА рд╣реИ, рддреЛ рд▓рдЧрднрдЧ 95% рдореЗрдореЛрд░реА "рдУрд╡рд░рд╣реЗрдб> рдЕрдкреНрд░рдпреБрдХреНрдд" рдореЗрдВ рд╣реИред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрдореЛрд░реА рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рд╕рдВрдкрд╛рджрдХ рдЗрд╕ рд╢реНрд░реЗрдгреА (рдЙрдирдХреЗ рдордВрдЪ рдкрд░) рдХрд╛ рд╡рд░реНрдгрди рдХреИрд╕реЗ рдХрд░ рд░рд╣рд╛ рд╣реИ:
_"рдУрд╡рд░рд╣реЗрдб->рдЕрдкреНрд░рдпреБрдХреНрдд" рдкреНрд░рдмрдВрдзрд┐рдд рд╣реАрдк рдХреЗ рд▓рд┐рдП .NET рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдореЛрд░реА рд╣реИред рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдкреНрд░рдпреБрдХреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рдХрдИ рдирд┐рдпрдо рд╣реИрдВ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдмрджреНрдз рдореЗрдореЛрд░реА рдХреЛ рд░рдЦрдирд╛ рд╣реИ рдпрд╛ рдЗрд╕реЗ рдУрдПрд╕ рдкрд░ рдЬрд╛рд░реА рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА, рдЖрд╡рдВрдЯрди рдкреИрдЯрд░реНрди, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛, рд╕рд░реНрд╡рд░ рдЬреАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрджрд┐ рдЬреИрд╕реЗ рдХрд╛рд░рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред_

@jkotas рдореИрдВ рдЖрдкрдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реВрдВрдЧрд╛ (рд╡рд┐рдВрдбреЛрдЬ рдЬреЙрдм рдСрдмреНрдЬреЗрдХреНрдЯ, рдФрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреАрд╕реА рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛) рдФрд░ рдореИрдВ рдЖрдкрдХреЛ рдкрд░рд┐рдгрд╛рдо рдмрддрд╛ рджреВрдВрдЧрд╛ред рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдЙрддреНрдкрд╛рджрди рдореЗрдореЛрд░реА рдбрдВрдк рд╕реЗ рдХреЛрдИ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдВред

рдзрдиреНрдпрд╡рд╛рдж

@sinapis @ronald7
рдХреНрдпрд╛ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдРрд╕рд╛ рдРрдк рд╕рд╛рдЭрд╛ рдХрд░ рдкрд╛рдПрдЧрд╛ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ? рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рд╣рдо рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдвреВрдВрдв рдкрд╛рдПрдВрдЧреЗ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдХрд░рдХреЗ рд╣рдЯрд╛ рджреЗрдВрдЧреЗ рдФрд░ рдиреНрдпреВрдирддрдо рд░реЗрдкреНрд░реЛ рдХреЛ рдЕрд▓рдЧ рдХрд░ рджреЗрдВрдЧреЗред

@sebastienros рдореИрдВ рдРрдк рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рддреНрд░ рдХреЛ PerfView рд╕рддреНрд░ + рдореЗрдореЛрд░реА рдбрдВрдк рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдХреБрдЫ рд╡рд┐рд╡рд░рдг: рдореЗрд░реЗ рдкрд╛рд╕ ASP.NET Core 2 рд╡реЗрдм API рд╣реИ, рдореИрдВрдиреЗ 200 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рд╕рднреА 10 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рд╣реА рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд░рд╣реЗ рд╣реИрдВред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ 775 рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЧрдИред

рдпрд╣ рдРрдк рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдореЗрдВ рд▓рдЧрднрдЧ 1 рдЬреАрдмреА рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреВрдж рдЧрдпрд╛ рдФрд░ рдЙрд╕реА рддрд░рд╣ рдмрдирд╛ рд░рд╣рд╛ред рдбрдВрдк рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдореИрдВ рд▓рдЧрднрдЧ 18 рдПрдордмреА рдЧрд┐рди рд╕рдХрддрд╛ рд╣реВрдВ:

image

рддреЛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ 1 рдЬреАрдмреА рдХрд╣рд╛рдВ рдЧрдпрд╛?

@sinapis рдзрдиреНрдпрд╡рд╛рдж

рдЖрдк рдЬрд┐рд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЬреАрд╕реА рдкреАрдХ рд▓реЛрдб рдкрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдХреБрдЫ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ рдЗрд╕реЗ рд╕рдордп рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЬреАрд╕реА рд╕рд░реНрд╡рд░ рдореЛрдб рд╣реИ, рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реЗ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЕрд╡рдзрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЗ рдРрдк рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рди рдХрд░реЗрдВред рдпрд╣ рдЖрд░рдХреНрд╖рд┐рдд рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЙрдкрд▓рдмреНрдз рдХреБрд▓ рдореЗрдореЛрд░реА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдЕрдЧрд░ рдпрд╣ рдмрдврд╝рддрд╛ рд░рд╣рд╛ рддреЛ рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдореБрджреНрджрд╛ рджреЗрдЦреЗрдВрдЧреЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЕрдм рдФрд░ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рднреЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдирд╛ рдРрдк рдЪрд▓рд╛рдиреЗ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдХрдо рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЙрд╕реА рдЪреАрдЬрд╝ рдХреЛ рддрдм рддрдХ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдЖрдкрдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рди рдХрд░ рд▓реЗ? рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╣реА рднрд╛рд░ рдХреЗ рд╕рд╛рде рдЗрддрдирд╛ рд▓рдВрдмрд╛ рдХрд┐ рдпрд╣ рдЗрд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдмрдврд╝рддрд╛ рд╣реБрдЖ рджрд┐рдЦрд╛рдПрдЧрд╛? рдореИрдВ рдЕрднреА рднреА рдЖрдкрдХреЗ рд╡рд░реНрддрдорд╛рди рдбрдВрдк рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реВрдВрдЧрд╛ред

рдХреНрдпрд╛ рдЖрдк рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЗ рджреМрд░рд╛рди рдФрд░ рдЕрдВрдд рдореЗрдВ рдбрдВрдк рднреА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╣рдо рд╡рд┐рд╡рд░рдг рджреЗрдЦ рд╕рдХреЗрдВред

рдирдорд╕реНрддреЗ @sebastienros

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдРрдк рдХреЛ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдФрд░ рди рд╣реА рдореЗрдореЛрд░реА рдбрдВрдк, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдбрдореА рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЙрд╕реА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде) рдмрдирд╛рдЙрдВрдЧрд╛, рдЗрд╕реЗ рдЙрд╕реА рдорд╢реАрди рдкрд░ рдЪрд▓рд╛рдКрдВрдЧрд╛, рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдЗрд╕реЗ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬреЛ рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдбрдВрдк рд╕реЗ рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдПрдХ рдкреНрд░реЛрдбрдХреНрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ GC рдореЛрдб рдХреЛ _server_ рд╕реЗ _workstation_ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдкрд░ рдХреБрдЫ рднреА рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдореЗрдВ рдмрддрд╛ рджреВрдВрдЧрд╛ред

рдореИрдВрдиреЗ рдПрдХ рдФрд░ рдкрд░реАрдХреНрд╖рдг рднреА рдХрд┐рдпрд╛: рд╣рдо 4 рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдкрд░ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдкреАрдЫреЗ рдЕрдкрдирд╛ рдЖрд╡реЗрджрди рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдкреВрд▓ рд╕реЗ рдПрдХ рдорд╢реАрди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж, dotnet.exe рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдХрдо рдирд╣реАрдВ рд╣реБрдИ рдФрд░ 30 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рднреА рдЙрд╕реА рд╕реНрддрд░ рдкрд░ рдмрдиреА рд░рд╣реАред (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрднреА рднреА рдХреБрдЫ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛: рдПрд╕рд╕реАрдУрдПрдо рджреНрд╡рд╛рд░рд╛ рд╣рд░ 30 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдбрдореА рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ рднреЗрдЬрд╛ рдЧрдпрд╛ рдПрдХ рдЕрдиреБрд░реЛрдз)ред рдХреЛрдИ рдореЗрдореЛрд░реА рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЧрдИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЧрдИред

рд╢реБрдХреНрд░рд┐рдпрд╛

@sinapis рдореИрдВрдиреЗ рдЖрдкрдХреЗ ETW рдЯреНрд░реЗрд╕ рдХреЛ рджреЗрдЦрд╛ред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╣реИрд░рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ - рдЖрдк рдЕрдВрддрд┐рдо рдкреНрд░реЗрд░рд┐рдд gen2 GC рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЬреАрд╡рд┐рдд рд░рд╣реЗ, рдлрд┐рд░ рднреА рд╣рдордиреЗ рдЗрддрдиреА рдореЗрдореЛрд░реА рдХреЛ рдкреНрд░рддрд┐рдмрджреНрдз рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ред рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдмрдврд╝рдд рдХрд╛ рдорд╛рдорд▓рд╛ рд▓рдЧрддрд╛ рд╣реИ (рдЖрдкрдиреЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдПрд▓рдУрдПрдЪ рдЖрд╡рдВрдЯрди рдХреЗ рдХрд╛рд░рдг рдХреЗрд╡рд▓ рдкреГрд╖реНрдарднреВрдорд┐ рдЬреАрд╕реА рдХрд┐рдпрд╛ рд╣реИ) - рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рд▓реЗрдЦрд╛рдВрдХрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ (рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрддрдирд╛ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ рдЫреЛрдЯреА рд╕рдВрднрд╛рд╡рдирд╛)ред рдЕрдЧрд░ рдЖрдк рдореЗрд░реЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде рд░рд┐рдкреНрд░реЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╢рд╛рдирджрд╛рд░ рд╣реЛрдЧрд╛; рдЕрдиреНрдпрдерд╛ рдпрджрд┐ рдЬреАрд╕реА рд╕реЗ рдХреБрдЫ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдРрдк рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ (рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ) рдЬреЛ рднреА рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ред

@ Maoni0 рдХреГрдкрдпрд╛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдХрд┐ рдореБрдЭреЗ GC рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╣реИ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рд▓реЗрдЦрд╛рдВрдХрди рддреНрд░реБрдЯрд┐ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдореБрдЭреЗ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреИрд╕реЗ (рд╢рд╛рдпрдж рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рдлрд╡реНрдпреВ рдмрддрд╛рдПрдВ?)
рдореИрдВ рдПрдХ рдиреНрдпреВрдирддрдо рд░реЗрдкреЛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╕рдлрд▓ рд╣реЛрдКрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛рдВ рд╣реИред

@sebastienros рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдЖрдЬ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдбрдВрдк рдкреНрд░рджрд╛рди рдХрд░реВрдВрдЧрд╛

рд╣рд╛рдп @sebastienros @Maoni0 ,

рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЖрд╡реЗрджрди рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреАрд╕реА рдореЛрдб рдХреЗ рд╕рд╛рде 12 рдШрдВрдЯреЗ рддрдХ рдЪрд▓рд╛рдпрд╛ рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдоред рдореИрдВрдиреЗ 1 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдЙрддреНрдкрд╛рджрди рдиреЛрдб рдкрд░ .Net 2.1 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2 рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛, рдореИрдВ рдЖрдкрдХреЛ рдкрд░рд┐рдгрд╛рдо рдмрддрд╛ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 2GB+ RAM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИред

image

рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕реА рдорд╢реАрди рдкрд░ PerfView рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореИрдВ GC рдбрдВрдк рдПрдХрддреНрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпрд╛ рдХреЛрдИ рдИрдореЗрд▓ рдкрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдЖрдкрдХреЛ OneDrive рд▓рд┐рдВрдХ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реВрдВ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЗрд╕реЗ рд╕реАрдзреЗ рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдЕрдЧрд░ рдпрд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдФрд░ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдпрд╛ рдЬреАрд╕реА рд▓реЙрдЧ рднреА рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╢реБрдХреНрд░рд┐рдпрд╛

@ronald7 _redacted_ рдореИрдВ @ Maoni0 . рдХреЛ рдлреЙрд░рд╡рд░реНрдб рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рдирдорд╕реНрддреЗ @sebastienros @Maoni0 рдореИрдВрдиреЗ рдЕрднреА рдЖрдкрдХреЛ рджреЛ PerfView gcdump рдФрд░ рдПрдХ VMMap рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдИрдореЗрд▓ рднреЗрдЬрд╛ рд╣реИ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реА рддрд░рдл рд╕реЗ рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдЙрдЪреНрдЪ рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдПрдХ рдбрдореА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рднреА рдЗрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдг рдХрднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ! рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдбреЙрдЯрдиреЗрдЯ рдХреЛрд░ рд╡реЗрдм рдПрдкреАрдЖрдИ рдРрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рдЧрднрдЧ 50 рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

memory-profile2

рдореИрдВрдиреЗ рдЕрднреА рдЙрдмрдВрдЯреВ 16.04 рдкрд░ рдЪрд▓ рд░рд╣реЗ ASP.NET рдХреЛрд░ рдРрдк рдХреЛ 1.1 рд╕реЗ 2.0 рддрдХ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдпрд╣ рдмрд╣реБрдд рдЧрдВрднреАрд░ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрд░реНрдиреЗрд▓ рдУрдУрдПрдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдХреНрд╕рд░ рдРрдк рдХреЛ рдорд╛рд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ 1.x рдкрд░ рд╡рд╛рдкрд╕ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдХреБрдЫ рдРрд╕реЗ рдкреГрд╖реНрда рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдмрд┐рд▓реНрдХреБрд▓ рднреА рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - Kestrel рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рднреА, рдРрдк рддреБрд░рдВрдд рдПрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рдж рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИ! рдореИрдВрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕рднреА рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ ASP.NET рдХреЛрд░ рдРрдкреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореБрдЭреЗ рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреАред рд╣рдорд╛рд░рд╛ рд╕реНрдЯреИрдХ рдореВрд▓ рд░реВрдк рд╕реЗ ASP.NET MVC Core + EF Core рд╣реИ ... рдХреБрдЫ рднреА рдлреИрдВрд╕реА рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдорд┐рд▓рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдореВрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ - рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдХрдард┐рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рдорд╛рд░реЗ рдвреЗрд░ рдХреА рд╕рд╛рджрдЧреА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред

FWIW, рдЬрд┐рд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдореИрдВрдиреЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕рдореЗрдВ рдПрдХ .NET рдХреЛрд░ рдХрдВрд╕реЛрд▓ рдРрдк рднреА рд╣реИ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2.0 рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рдмрд╛рдж рдХреЛрдИ рдореЗрдореЛрд░реА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ ASP.NET рдХреЛрд░-рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред

рд╕рдВрднрд╡рддрдГ рд╕рдВрдмрдВрдзрд┐рдд: https://github.com/aspnet/KestrelHttpServer/issues/2214

@danports рдХреНрдпрд╛ рдЖрдкрдиреЗ GC.Collect() рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рджреЗрдЦреЗрдВ рдХрд┐ рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдпрд╣ рд╣рдореЗрдВ рдПрдХ рд╕реБрд░рд╛рдЧ рджреЗрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ GC.Collect() (рдпрд╛ GC.Collect/GC.WaitingForPendingFinalizers/GC.Collect sequent) рдореЗрдореЛрд░реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмрд╕ рдЗрддрдиреА рдореЗрдореЛрд░реА рд╣реИ рдЬрд┐рд╕реЗ рд▓рд╛рдЗрд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП GC рдЗрд╕реЗ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@ Maoni0 рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдЬреАрд╕реА рдХреЗ рд╕рд╛рде рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд╕рдордп-рд╕рдордп рдкрд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рджреЗрдЦреА рд╣реИ - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ .NET рдХреЛрд░ 2.0 рдРрдкреНрд╕ рд▓рдЧрднрдЧ 2-3x рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рд╡реЗ рдЪрд▓ рд░рд╣реЗ рдереЗред рдиреЗрдЯ рдХреЛрд░ 1.1ред рдореИрдВ

рдореИрдВрдиреЗ рдЕрднреА рдХреЗ рд▓рд┐рдП .NET Core 1.1 рдкрд░ рд╡рд╛рдкрд╕ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рд╕рдордп рд╣реЛрдЧрд╛, рд╢рд╛рдпрдж .NET Core 2.1 рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВрдЧреЗред (рдореИрдВ 2.0 рдХреЗ рд╕рд╛рде рдореБрджреНрджреЛрдВ рдХреЗ рдвреЗрд░ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдФрд░ рдпрд╣ рдЙрдирдореЗрдВ рд╕реЗ рд╕рд┐рд░реНрдл рдПрдХ рдерд╛ред)

GC.Collect() рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ ASP.NET Core 2.0 рдФрд░ 2.1 рд╡реЗрдм API рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ рдЬреЛ 200k ints рдХрд╛ рд╢рдмреНрджрдХреЛрд╢ рджреЗрддрд╛ рд╣реИред рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдмрдврд╝рддреА рд░рд╣рддреА рд╣реИ, рднрд▓реЗ рд╣реА рдРрдк рдХрд┐рд╕реА рдФрд░ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗред

@Serjster 200K рдкреВрд░реНрдгрд╛рдВрдХ (4B) рд▓реМрдЯрд╛рдиреЗ рдореЗрдВ 800KB рд▓рдЧреЗрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдмрддрд╛рдП рдЧрдП рдореБрджреНрджреЗ рдХреЛ рдорд╛рд░ рд░рд╣реЗ рд╣реИрдВ: https://github.com/aspnet/Home/issues/1976#issuecomment -289336916

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдЙрдирдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рдгреА рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдЬрд╛рдирдирд╛ рднреА рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдХреЛрдб 64 рдмрд┐рдЯ рдореЛрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рддреЛ рд╕рд░рдгреА/рд╕реВрдЪреА рдЗрддреНрдпрд╛рджрд┐ рдЬрд┐рд╕рдореЗрдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, 32 рдмрд┐рдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджреЛрдЧреБрдиреЗ рдЖрдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 64 рдмрд┐рдЯ рдУрдПрд╕ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕реАрдкреАрдпреВ рдХреЛрдб 32 рдмрд┐рдЯ рдХреЛ рдЪрд▓рд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдЧрд▓рддреА рд╕реЗ LOH рдореБрджреНрджреЛрдВ рдкрд░ рдЖ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ @Serjster рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдЬреЛ рдкрд╛рдпрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ (рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдирд╡реАрдирддрдо рдкрд░реАрдХреНрд╖рдг рдореЗрдВ 2.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡реЗрдирд┐рд▓рд╛ рд╡реЗрдм рдПрдкреАрдЖрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдЯреВрд▓ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ (рдпрд╛ рдХреЛрдб рдореЗрдВ рд╕реЗрдЯ рдХреА рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рдХреА рдЬрд╛рдВрдЪ рднреА рдХрд░рддрд╛ рд╣реВрдВ), рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИ рдЬреИрд╕реЗ рд╣реА рдореИрдВ рдПрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╕реЗ рдЯрдХрд░рд╛рддрд╛ рд╣реВрдВ, рдЪрдврд╝рддрд╛ рд░рд╣рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдХрд▓ рд╡реЗрдм рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╣реИ рдЬреЛ рдПрдХ рдбрд┐рдХреНрд╢рдирд░реА рд▓реМрдЯрд╛ рд░рд╣рд╛ рд╣реИрдЗрд╕рдореЗрдВ 20,000 рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрддрд╛ рд╣реИ:

  1. рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдХреА рдкрд╣рд▓реА рдпрд╛рддреНрд░рд╛ рдкреНрд░реЛрд╕реЗрд╕ рдореЗрдореЛрд░реА рдХреЛ 83MB рдкрд░ рд░рдЦрддреА рд╣реИред
  2. рдореИрдВ рдХреБрдЫ рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рджреВрд╕рд░реА рдпрд╛рддреНрд░рд╛ рдпрд╣ 86MB рддрдХ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
  3. рдореИрдВ рдХреБрдЫ рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рддреАрд╕рд░реА рдпрд╛рддреНрд░рд╛ 90 рдПрдордмреА рддрдХ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
  4. рдлрд┐рд░ рд╕реЗ - 94 рдПрдордмреАред
  5. рдореИрдВ рдЗрд╕реЗ рдХрдИ рдмрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдпрд╣ рд▓рдЧрднрдЧ 304MB рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рд╕реНрддрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рд░рд┐рдЯрд░реНрди рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдЕрд▓рдЧ рдЖрдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рд╣реИ, рддреЛ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдПрдВ рдХреЗрд╡рд▓ рдмрдбрд╝реА/рдЫреЛрдЯреА рд╣реИрдВ (рд╕реНрддрд░ рдмрдВрдж рд░рд╛рд╢рд┐ рд╕рд╣рд┐рдд), рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рдкреИрдЯрд░реНрди рд╕рдорд╛рди рд╣реИ (рдЙрд░реНрдл, рдпрд╣ рддрдм рддрдХ рдмрдврд╝реЗрдЧрд╛ рдФрд░ рдмрдврд╝реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдХрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд╛рдж рдмрдВрдж рди рд╣реЛ рдЬрд╛рдП) .

рдЕрдЧрд░ рдореИрдВ GC.Collect рдХреЛ рдореЗрдердб рдХреЙрд▓ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ (рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╣рд░ рдПрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рдХрд╛ рд╕реНрддрд░ рдмрд╣реБрдд рдХрдо рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╡рд┐рдХрд╛рд╕ рдХреА рдЕрд╡рдзрд┐ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдмрдВрдж рди рд╣реЛ рдЬрд╛рдПред

рд╡рд┐рд╡рд░рдг рдХрд╛ рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдФрд░ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХрд░рддреЗ рд╕рдордп рдвреЗрд░ рдХрд╛ рдЖрдХрд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рдпрд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рд╣рдж рддрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рдЧреНрд░рд╛рдл рдПрдХ рдЙрдЪреНрдЪ рдФрд░ рдЙрдЪреНрдЪ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рддрд╛ рд░рд╣рддрд╛ рд╣реИ (рдпрд╣ рднреА рд╕рдЪ рд╣реИ рдпрджрд┐ рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрдХрдбрд╝ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдпрд╢реАрд▓ рдореЗрдореЛрд░реА рд╕реЗрдЯ рдорд╛рди рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ)ред

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реЛрдиреЗ рд▓рдЧрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рдл рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдореГрддрд┐ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ (рдФрд░ рдпрд╣ рд╕реНрдореГрддрд┐ рдХреБрдЫ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдЙрдкрдпреЛрдЧ/рдорд╛рдВрдЧ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рддрд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдврд╝рддреА рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЦрдкрдд/рд▓реАрдХ рд╕реНрдореГрддрд┐ рдирд╣реАрдВ рд╣реИред рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рдЗрд╕рд▓рд┐рдП рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рдЬрд╛рдирдХрд╛рд░ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ - рдлрд┐рд░ рд╕реЗ @davidfowl рдЯрд┐рдкреНрдкрдгреА: рд╢рд╛рдпрдж рд╣реА рдХрднреА рдПрдХрддреНрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ ... рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ? рдореИрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмреАрдЪ 30+ рд╕реЗрдХрдВрдб рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдЬреАрд╕реА рдХрднреА рднреА рдЙрд╕ рдореЗрдореЛрд░реА рдирдВрдмрд░ рдХреЛ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдЪрд╛рд░реНрдЯ рдореЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓рд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рд╕реЗ рдЕрдирдЬрд╛рди рд╣реВрдБ, рд▓реЗрдХрд┐рди рдмрд╕ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рд╣реВрдБред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 2 - рдЕрдм рдЬрдм рдореИрдВрдиреЗ рдПрд╕рдУ рд▓рд┐рдВрдХ рдХреЛ рдкрдврд╝ рд▓рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдбреЗрд╡рд┐рдб рдиреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рдореБрджреНрджрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рд╕реАрдорд┐рдд рдореЗрдореЛрд░реА рд╡рд╛рд▓реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ (рдЬреЛ рд╣рдо рдЕрдкрдиреЗ рджреЗрд╡ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реИрдВ рдЬрд╣рд╛рдБ рд╣рдо рдЗрд╕реЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рд╕реНрддреЗ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ) рддреЛ рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 3 - рдПрдХ рд▓рдВрдмрд╛ рдкреНрд░рд╢реНрдиред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рд▓рдЧрд╛рддрд╛рд░ рдКрдкрд░ рдХреНрдпреЛрдВ рдЬрд╛ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдПрдХ LOH рдореБрджреНрджрд╛ рд╣реИ рддреЛ рдвреЗрд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ? рджрд░рдЕрд╕рд▓, рдЕрдм рдореИрдВ рдЗрд╕реЗ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВред рдвреЗрд░ рдкреНрд░рдпреБрдХреНрдд рд╕реНрдореГрддрд┐ рд╣реИред рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдФрд░ рдЕрдкреНрд░рдпреБрдХреНрдд рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рд╣реИрдВред

@RemyArmstro рдХреНрдпрд╛ рдЖрдк Dictionary<int, int> рд╕реЗ SortedDictionary<int, int> рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ? рд╢рдмреНрджрдХреЛрд╢ рд╢рд╛рдпрдж рдирд┐рд░рдВрддрд░ рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рднреА рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рд╡реЗ рд╕реЙрд░реНрдЯреЗрдб рдбрд┐рдХреНрд╢рдирд░реА рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдмрдбрд╝реЗ рдХреЗ рдмрдЬрд╛рдп рдХрдИ рдЫреЛрдЯреЗ рдЖрд╡рдВрдЯрди рдХрд░реЗрдЧрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрджрд┐ рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдзреЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рд╕реЗ LOH рдЖрд╡рдВрдЯрди рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@wanton7 рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрд╛рдд рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИред рд╢рдмреНрджрдХреЛрд╢ рд╕рд┐рд░реНрдл рд╣рд┐рдорд╢реИрд▓ рдХрд╛ рд╕рд┐рд░рд╛ рд╣реИред рд╣рдо рд╕реВрдЪрд┐рдпреЛрдВ, рд╕рд░рдгрд┐рдпреЛрдВ рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЕрдЧрд░ рдПрд▓рдУрдПрдЪ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣рд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╢рд╛рдпрдж рдареАрдХ рд╣реИ? рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХреБрдЫ рд╕рдВрдмрдВрдзрд┐рдд рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЬрдм рдЖрдкрдХреА рдпрд╛рджрджрд╛рд╢реНрдд рдЦрддреНрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдмрд╕ рдХреНрд░реИрд╢ рд╣реЛ рдЧрдпрд╛ рд╣реИ?

@Serjster рдареАрдХ рд╣реИ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЫреЛрдЯреЗ рдорд╛рдорд▓реЗ рдереЗ рдЬрд╣рд╛рдВ рдпрд╣ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП рдмрдбрд╝реА рд╕реВрдЪрд┐рдпрд╛рдВ, рдЗрд╕ рддрд░рд╣ рдХреА рд╕рд░рдгреА рдФрд░ рдПрдХ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдореЗрдВ рдЗрддрдирд╛ рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛ рдмрд╣реБрдд рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдпрджрд┐ рдпрд╣ рдмрд╛рдЗрдирд░реА рдирд╣реАрдВ рд╣реИред рдЖрдо рддреМрд░ рдкрд░ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╡реЗрдм рдПрдкреАрдЖрдИ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдХреБрдЫ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдкреЗрдЬрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдореЗрдВ 10000 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рднреЗрдЬрдиреА рдЪрд╛рд╣рд┐рдПред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЖрдкрдХреА рдПрдкреАрдЖрдИ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЦреБрдж рдХреА рдЦрдВрдбрд┐рдд рд╕реВрдЪреА рдФрд░ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдмрдбрд╝реЗ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдЦрдВрдбрд┐рдд рд╕реВрдЪрд┐рдпреЛрдВ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдкреВрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ Microsoft рдЦрдВрдбрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рдПрдЧрд╛ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд░ рдХреЛрдИ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@ wanton7 рдлрд┐рд░ рднреА рдЖрдк рдЗрд╕ рдмрд┐рдВрджреБ рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рд╕реВрдЪреА рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреЛрдИ рдПрдХ рд╡рд╕реНрддреБ рдпрд╛ рдЫреЛрдЯреА рд╕реВрдЪреА рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИред

@Serjster рд╢рд╛рдпрдж рдореИрдВ рд╕рд┐рд░реНрдл рдЕрдВрдзрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЖрдкрдХреА рдХреЛрдИ рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИ рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдПрдХрд▓ рдЖрдЗрдЯрдо рдпрд╛ рдЫреЛрдЯреА рд╕реВрдЪреА рднреЗрдЬрдиреЗ рд╕реЗ рдРрд╕рд╛ рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛?

рдпрд╛ @RemyArmstro рд╕реЗ рд╡рд╣ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░ рдХреЗ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ corefx рдХреА рдЬрд╛рдБрдЪ рдХреА рдФрд░ рдбрд┐рдХреНрд╢рдирд░реА рд╕рд░рдгреА рдЖрд╡рдВрдЯрд┐рдд рдХрд░реЗрдЧрд╛ рдпрд╛ рдпреЗ

private struct Entry
{
  public int hashCode;    // Lower 31 bits of hash code, -1 if unused
  public int next;        // Index of next entry, -1 if last
  public TKey key;           // Key of entry
  public TValue value;         // Value of entry
}

85000 рдмрд╛рдЗрдЯ рдЖрд╡рдВрдЯрди рдПрд▓рдУрдПрдЪ рдЖрд╡рдВрдЯрди рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ рдЗрд╕рд▓рд┐рдП рдЗрдВрдЯ рдХреБрдВрдЬреА рдФрд░ рдЗрдВрдЯ рд╡реИрд▓реНрдпреВ рдХреА 5313 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рдХреНрд╖рдорддрд╛ рд╡рд╛рд▓рд╛ рдбрд┐рдХреНрд╢рдирд░реА рдПрд▓рдУрдПрдЪ рдЖрд╡рдВрдЯрди рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛ред рдХреНрд╖рдорддрд╛ рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ primes рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рдЬреА рд╢рдмреНрджрдХреЛрд╢ рдХреА рдирд┐рдЬреА рдЖрдХрд╛рд░ рдмрджрд▓реЗрдВ рд╡рд┐рдзрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рдВрдЯрди рдФрд░ рдореЗрдореЛрд░реА рдкреИрдбрд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдо рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рднреА LOH рдЖрд╡рдВрдЯрди рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреА рд╣реИрдВред

рд╢рдмреНрджрдХреЛрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг Dictionary.cs

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдирд┐рд╢реНрдЪрд┐рдд рдпреВрдЖрд░рдПрд▓

@ рд╡рд╛рдВрдЯрди 7 рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рд╣рдо рд╕рдордЭ рдЧрдП рд╣реИрдВ рдХрд┐ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдмрдХрд╡рд╛рд╕ рд╣реИ рдЗрд╕рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ + рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдиреЗ рдФрд░ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИред рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкреНрд░рдмрдВрдзрд┐рдд рд╕реНрдореГрддрд┐ рдХреБрдЫ рдЕрдзрд┐рдХ рдкреНрд░рдмрдВрдзрд┐рдд рдорд╣рд╕реВрд╕ рд╣реЛрдиреЗ рд▓рдЧрддреА рд╣реИред :( рдЕрдВрдд рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдЖрд╡рдВрдЯрди рд╕реАрдорд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдХреНрд╖реЗрддреНрд░ рд╣рдорд╛рд░реЗ рдРрдк рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рджреЗрдЦрддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЙрд╕ рдЯреБрдХрдбрд╝реЗ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореЙрдирд┐рдЯрд░ рдХрд░реЗрдВ, рдФрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рд╣рдо рдЗрд╕ рд░реЗрдВрдЧрдирд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж!

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд▓реНрдж рд╣реА рдРрд╕реА рд╣реА рд╕реНрдерд┐рддрд┐ рд╣реИ рдФрд░ рд╣рдореЗрдВ IList<T> рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЦрдВрдбрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдмрд┐рдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЖрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рдмрд┐рдЯрд╢рд┐рдлреНрдЯреЗрдмрд▓ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯрд╢рд┐рдлреНрдЯ рдФрд░ рдорд╛рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЬреАрд╕реА рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдЕрдзрд┐рдХ рдлрд╛рдпрджреЗрдордВрдж рд╣реИ, рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╛ рдЫреЛрдЯрд╛ рд╣рд┐рд╕реНрд╕рд╛? 1KB рдФрд░ 64KB рдХреЗ рдмреАрдЪ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗред рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдорддрд▓рдм рдЬреАрд╕реА рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдВрджрд░реНрдн рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЙрдореНрдкреИрдХреНрдЯрд┐рдВрдЧ рдФрд░ рд╡рд┐рдЦрдВрдбрди рдХреЗ рд▓рд┐рдП рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЦрд░рд╛рдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдкрдХреА рд╕рдордЭ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИ - рдореИрдВ рдЙрди рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рдКрдВрдЧрд╛ рдЬреЛ рдмрд╣реБрдд рдмрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВ; рд╢рд╛рдпрдж 4k/8k рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

@ Maoni0 рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ 4KB рдХреЛ рдЪреБрдирд╛, рддрд╛рдХрд┐ рдЕрдЧрд░ рд╣рдо рдХрднреА рдореЛрдиреЛ рдХреЗ рддрд╣рдд рдЕрдкрдирд╛ рдХреЛрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдХреЛрдИ рдмреБрд░рд╛ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред http://www.mono-project.com/docs/advanced/garbage-collector/sgen/working-with-sgen/ рдкрдврд╝рдХрд░ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореЛрдиреЛ рдХреЗ рддрд╣рдд LOH рдереНрд░реЗрд╢реЛрд▓реНрдб рдХреЗрд╡рд▓ 8000 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИ?

рд╣рдо рдЙрд╕реА рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдвреЗрд░ рдЖрдХрд╛рд░ рд╕рдорд╛рди (рдпрд╛ рдШрдЯрдиреЗ) рдХреЗ рдмрд╛рд╡рдЬреВрдж рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдореГрддрд┐ рдмрдврд╝рддреА рдЬрд╛ рд░рд╣реА рд╣реИред

@sebastienros рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдкрд░ рдПрдХ рдФрд░ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреА рдФрд░ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХреЗрдВ?

рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреБрдЫ рдЖрдЗрдЯрдо рджрд┐рдП рдЧрдП рд╣реИрдВ:

  • рд╣рдо рдХреЗрд╡рд▓ Dictionary<int, int> рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ 1000 рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВред
  • рд╣рдордиреЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ .NET Core 2.0 -> 2.1 . рд╕реЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ
  • рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдПрдордПрд╕ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2017 рдореЗрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ

рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

    public async Task<IActionResult> SampleAction()
    {
        var list = new Dictionary<int, int>();
        for (int n = 0; n < 1000; n++) list.Add(n, n);
        return Ok(list);
    }

рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдордзреНрдпрдо рднрд╛рд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдордиреЗ рдкреЛрд╕реНрдЯрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╕ рддреЗрдЬреА рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХреЗред рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдордиреЗ рд▓реЛрдб рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рддреЛ рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдвреЗрд░ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА рдЖрдИ рд╣реИ, рдлрд┐рд░ рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рд╕рдорд╛рди рд░рд╣реА (рддрдм рднреА рдЬрдм рд╣рдордиреЗ рдЬреАрд╕реА рдХреЛ рдордЬрдмреВрд░ рдХрд┐рдпрд╛)ред

рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рднреА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдПрдХ рдирдП .net рдХреЛрд░ рдПрдкреАрдЖрдИ рд▓рдХреНрд╖реНрдпреАрдХрд░рдг рдореЗрдВ рднреА рдлрд┐рд░ рд╕реЗ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред рдиреЗрдЯ рдХреЛрд░ 2.1 (рдПрд╕рдбреАрдХреЗ 2.1.302)ред

рдореИрдВрдиреЗ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 15.8.0 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рдирдореВрдирд╛ рдПрдкреАрдЖрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ред рд╕реНрдореГрддрд┐ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ .net рдХреЛрд░ рдХрдВрд╕реЛрд▓ рдРрдк рдерд╛ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЛ рд╣рд┐рдЯ рдХрд░рддрд╛ рдерд╛ 2 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдЖрдзреЗ рд╕реЗрдХреЗрдВрдб рдореЗрдВ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдзреАрдорд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред

screenshot
рд╡реЗрдмрдПрдкреНрд▓реАрдХреЗрд╢рди1.рдЬрд╝рд┐рдк

рдореБрдЭреЗ рдпрд╣ рдкреЛрд╕реНрдЯ рд╕реНрдЯреИрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкрд░ рдорд┐рд▓реА:

https://stackoverflow.com/questions/48301031/why-doesnt-garbage-collector-in-net-core-2-0-free-all-memory

рдХреНрдпрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдиреЗ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд┐рдпрд╛ рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдЖрдЬ рдПрдХ рд╢реЙрдЯ рджреВрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд░рд╣рддреА рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ : рдореИрдВрдиреЗ рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдмрдиреА рд╣реБрдИ рд╣реИред рдореИрдВ рдЬреАрд╕реА рдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдХреЛрдИ рдЕрд╕рд░ рд╣реЛрдЧрд╛ рдпрд╛ рдирд╣реАрдВред

image

@chrisaliotta рдЙрд╕ рдкреЛрд╕реНрдЯ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдЕрдирдЬрд╛рди рдерд╛ред рдпрд╣ рджреЗрдЦрдирд╛ рд╡рд╛рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред

@Eilon @chrisaliotta рдзрдиреНрдпрд╡рд╛рдж рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдЪрд░реНрдЪрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред .NET рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдореЗрдореЛрд░реА рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░рдирд╛ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдФрд░ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рд░рд┐рд▓реАрдЬрд╝ рдореЛрдб рдореЗрдВ рдореЗрдореЛрд░реА рдЦрдкрдд (рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд▓реАрдХ) рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВред рд░рд┐рд▓реАрдЬ рдореЛрдб рдкрд░ рднреА рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╕рд░реНрд╡рд░ рдЬреАрд╕реА рдореЛрдб рдХреЗ рдХрд╛рд░рдг рдореЗрдореЛрд░реА рдПрдХ рд╣рдж рддрдХ рдУрд╡рд░рдЯрд╛рдЗрдо рддрдХ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рддреЛ рдпрд╣ рдЙрджрд╛рд╣рд░рдг рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХреБрдЫ рднреА рд╕рд╛рдмрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@sebastienros рддреЛ рдХреНрдпрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ @beef3333 рдФрд░ рдореИрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ? рдЕрд░реНрдерд╛рддреН, рдЬрд╣рд╛рдВ рдирд┐рдЬреА рдмрд╛рдЗрдЯреНрд╕ рдвреЗрд░ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА рдХреЗ рдмрд╛рд╡рдЬреВрдж рдКрдВрдЪрд╛ рд░рд╣рддрд╛ рд╣реИ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЕрдиреБрд░реЛрдз рдореБрдХреНрдд рдвреЗрд░ рд╕реНрдерд╛рди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдирд┐рдЬреА рдмрд╛рдЗрдЯ рдмрдврд╝рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд░рд╣реЗрдЧрд╛ред

рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ рд╣рд╛рдБред рддреЛ рдХреГрдкрдпрд╛ рд░рд┐рд▓реАрдЬ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рдЕрдкрдиреЗ рддрдирд╛рд╡ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рд╛рдПрдВред рдпрджрд┐ рд╕реНрдореГрддрд┐ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рдмрдврд╝рддреА рд╣реИ рддреЛ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╣реЛрддрд╛ рд╣реИред рдЕрдЧрд░ рд╕реНрдореГрддрд┐ рдХреЛ рдкреБрдирд░реНрдирд╡реАрдиреАрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рднрд▓реЗ рд╣реА рдЗрд╕рдореЗрдВ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реНрдореГрддрд┐ рд╣реЛ) рддреЛ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдм рдареАрдХ рд╣реИред

рдореИрдВрдиреЗ рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдЙрд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдореИрдВ рд╡рд╣реА рд╕рдЯреАрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ рддрдм рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛, рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВрдиреЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ @beef3333 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ 2 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП 5K RPS рдХреА рджрд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛, рдФрд░ рдореЗрдореЛрд░реА рд╕реНрдерд┐рд░ рд╣реИ (32GB рд╡рд╛рд▓реА рдорд╢реАрди рдкрд░ 400MB рдкрд░ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ 1MB рдХрд╛ рдЕрдВрддрд░)ред рдЬреАрд╕реА рдХреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХрдИ рдбрдВрдк рдУрд╡рд░рдЯрд╛рдЗрдо рдХрд╛ рднреА рдирд┐рд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рд╡рд┐рднрд┐рдиреНрди рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдП рдФрд░ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдПред рдореИрдВ 2.1.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

@sebastienros рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдм рдореЗрдВ рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐:

  • рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдЖрдкрдХреЗ рд░рди-рдСрдл-рдж-рдорд┐рд▓ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ .NET рдХреЛрд░ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ред
  • рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдФрд╕рдд рдореЗрдореЛрд░реА рдЦрдкрдд рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб (рдЖрд░рдкреАрдПрд╕) рд╕рдордп рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред
  • рдирд┐рдЬреА рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣рдореЗрд╢рд╛ рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рддреЗрдЬ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдФрд╕рдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдореГрддрд┐ рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛? рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдЗрд╕ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреЛ рддрдм рддрдХ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреВрд▓ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ - рдпрд╛ рдпрджрд┐ RPS рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдпрд╣ рд╕рдордп рдХреЗ рд╕рд╛рде рдЗрд╕ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд░реЗрдЧрд╛?

рд╡рд╣реА рдореБрджреНрджрд╛ред
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдПрд╕рдкреАрдиреЗрдЯ рд╡реЗрдмрдкреА рдмреИрдХрдПрдВрдб рд╕реЗрд╡рд╛ рд╣реИред
рд╕реНрдЯреИрдХ рдПрдПрд╕рдкреАрдПрдирдЯреА рдПрдорд╡реАрд╕реА, рдСрдЯреЛрдлреИрдХ, рдСрдЯреЛрдореИрдкрд░, рдХреИрд╕рд▓.рдбрд╛рдпрдирд╛рдорд┐рдХ рдкреНрд░реЙрдХреНрд╕реА, рдЗрдХрд╛рдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрд░ рд╣реИрдВред
рд╕рд╛рд░реА рдореЗрдореЛрд░реА рдЦрд╛ рд▓реА рдЬрд╛рдПрдЧреА, рдлрд┐рд░ рд╕рд░реНрд╡рд┐рд╕ рдХреНрд░реИрд╢ред

рд╕рдВрд╕реНрдХрд░рдг 2.1.0 . рд╣реИ

@atpyk 2.1.1 рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдЕрдЧрд░ рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ рддреЛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рдореЗрдореЛрд░реА рдХреЛ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ https://www.jetbrains.com/dotmemory/ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдРрд╕реЗ рдЕрдиреНрдп рдЯреВрд▓ рднреА рд╣реИрдВ рдЬреЛ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдбрд╝реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реАрдк (LOH) рдореЗрдВ рдХреНрдпрд╛ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк 32 рдмрд┐рдЯ рдореЛрдб рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпреЛрдВрдХрд┐ рдмрдбрд╝реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реАрдк рдЖрд╡рдВрдЯрди (~ 85000 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдмрдбрд╝рд╛) рд╡рд┐рдЦрдВрдбрди рдХреЗ рдХрд╛рд░рдг 32 рдмрд┐рдЯ рдореЛрдб рдореЗрдВ рдореЗрдореЛрд░реА рдЕрдкрд╡рд╛рджреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рдЖрдк Dictionary . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ. рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ https://github.com/aspnet/Home/issues/1976#issuecomment -393833505

рдпрджрд┐ рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ 32 рдмрд┐рдЯ рдореЛрдб рдореЗрдВ рдХреЛрдИ рднреА рд╕реАрдкреАрдпреВ рдХреЛрдб рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗ рдкреНрд░реЗрдлрд░ 32 рдмрд┐рдЯ рдХреЛ рдЕрдирдЪреЗрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдХреБрдЫ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 64 рдмрд┐рдЯ рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

@ wanton7 рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВрдиреЗ 2.1.2 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ Microsoft Azure webapp рдкрд░ win-x64 рдХреЗ рд╕рд╛рде рддреИрдирд╛рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рд╛ред @ рд╡рд╛рдВрдЯрди7
dotnetcorememory

@atpyk рдХреГрдкрдпрд╛ рдПрдХ рдореЗрдореЛрд░реА рд╕реНрдиреИрдкрд╢реЙрдЯ рдмрдирд╛рдПрдВ (рдбрдВрдк_ рдФрд░ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ (рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ, рдореЗрдореЛрд╕реНрдХреЛрдк) рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕реА рд╡рд╕реНрддреБ рд╕рднреА рдореЗрдореЛрд░реА рд▓реЗ рд░рд╣реА рд╣реИ, рдпрд╛ рдмрд╕ рдЧрд┐рдирддреА рдореЗрдВ рдмрдврд╝ рд░рд╣реА рд╣реИред рдЖрдк рджреЛ рднреА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдУрд╡рд░рдЯрд╛рдЗрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@sabastienros рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕ рдкрд░ рдЪрд┐рдВрддрд╛ рдЬрддрд╛рдИ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ/рдПрдордПрд╕ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЗ рдЗрд░рд╛рджреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдбрд┐рдЬрд╝рд╛рдЗрди рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╣реИред

рд╣рдорд╛рд░реЗ рдРрдкреНрд╕ рдЕрдВрддрддрдГ рдореЗрдореЛрд░реА рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдм рдПрдХ рдЙрддреНрдкрд╛рджрди Azure рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реА рд╣реИред

@atpyk рддреЛ рдпрд╣ рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдореЗрдореЛрд░реА рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░реЗрдВ рдХрд┐ рдЙрд╕ рдореЗрдореЛрд░реА рдХреЛ рдЖрд╕рдкрд╛рд╕ рдХреНрдпрд╛ рд░рдЦ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕реЗ @sebastienros рдиреЗ рдХрд╣рд╛ред

рдПрдХ рд╕рд╡рд╛рд▓, рдХреНрдпрд╛ рдЖрдк рднреА ASP.NET Core рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдкрд╣рд▓реА рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдкрдврд╝реА рдФрд░ рдЖрдк ASP.NET MVC рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред ASP.NET MVC рдФрд░ ASP.NET Core рджреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдЙрддреНрдкрд╛рдж рд╣реИрдВред ASP..NET Core рдХреЗ рд▓рд┐рдП рдпреЗ рдореБрджреНрджреЗ рдФрд░ рдпрд╣ рд░реЗрдкреЛред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдмрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдк ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╣рдо рдиреЗрдЯ рдХреЛрд░ рдПрдорд╡реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред @ рд╡рд╛рдВрдЯрди7
рдореИрдВ рд╕реНрдореГрддрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕рд▓ рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рдореЗрдореЛрд░реА рд▓реАрдХ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдПред
memroy1
memroy2
memroy3
dynamicproxy

@Serjster рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо 32 рдмрд┐рдЯ .NET рдХреЛрд░ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореЗрдореЛрд░реА рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ? рдпрджрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдмрд╣реБрдд рд╕рд╛рд░реЗ LOH рдЖрд╡рдВрдЯрди рдХрд░рддрд╛ рд╣реИ рддреЛ рд╕реНрдореГрддрд┐ рд╡рд┐рдЦрдВрдбрди рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рд╣реИред
рдпрджрд┐ рдЖрдк 32 рдмрд┐рдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, LOH рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХреЛрдб рдареАрдХ рдХрд░реЗрдВ рдпрд╛ 64 рдмрд┐рдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред

рдореИрдВ Azure рд╕реЗ рдмрд╣реБрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝реА рд╕реА рдЧреБрдЧрд▓реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдпрд╣ https://blogs.msdn.microsoft.com/webdev/2018/01/09/64-bit-asp-net-core-on-azure-app рдорд┐рд▓рд╛

@Serjster рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рднреА рд░рд┐рдкреЛрд░реНрдЯ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрд▓рдЧ рдорд╛рдорд▓реЗ рдХреА рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред "рдореЗрд░реЗ рдРрдк рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ рд╣реИ" рдЬреИрд╕рд╛ рдХреБрдЫ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдврд╛рдВрдЪреЗ рдХреА рд╡рдЬрд╣ рд╕реЗ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд▓реЗрддреЗ рд╣реБрдП, "рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ" рдХрд┐ рдореИрдВрдиреЗ рдЖрдкрдХреА рдпрд╛рджрджрд╛рд╢реНрдд рдмрдврд╝рдиреЗ рдХреЗ рдХрд╛рд░рдг рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдк рдореЗрд░реЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдареАрдХ рдХрд░ рдкрд╛рдП рд╣реИрдВ? рдпрд╛ рдЗрд╕рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рдЖрдк рдПрдХ рдЖрд╡реЗрджрди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ?

@sebastienros рд╣рдордиреЗ рдЬреЛ рдкрд╛рдпрд╛ рд╡рд╣ рдпрд╣ рдерд╛ рдХрд┐ рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди рдореЗрдВ рд╡реГрджреНрдзрд┐ рдЬрд╛рд░реА рд░рд╣реА, рднрд▓реЗ рд╣реА рд╕реНрдореГрддрд┐ рдЦрдкрдд рдирд╣реАрдВ рд╣реБрдИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╣рдерд┐рдпрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖрд╡рдВрдЯрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдпрд╣ рдореБрдЭреЗ рд▓рдЧрднрдЧ рд▓рд╛рд▓рдЪреА рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ @Serjster рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдзрд╛рдЧрд╛ рдмрдврд╝рддрд╛ рд░рд╣рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреБрдЫ рднреНрд░рдо рд╣реИред рдкреБрд░рд╛рдиреА ASP.NET рднреВрдорд┐ рдореЗрдВ (рдХреЛрд░ 1 рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ), рд╣рдореЗрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА (рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рдкрд░рд┐рдорд╛рдг рдкрд░ рдирд╣реАрдВред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдЧ/рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рдПрдХ рд╣реА рд╕рд╡рд╛рд▓ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд▓реЗрдЦ рдерд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рддрдХ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рд▓рдХреЛрдВ рдореЗрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд▓реЗрдЦ рдерд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рддрдХ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рд▓рдХреЛрдВ рдореЗрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдЙрд╕реЗ рд╕рдорд░реНрдерди рджреЗрддрд╛ рд╣реВрдБред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрдм рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ .NET Core 2.1 рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ "рдЕрд╡рд╕рд░рд╡рд╛рджреА" рдХреНрдпреЛрдВ рд╣реИред

@sebastienros рдХреНрдпрд╛ рд╣рдо рдпрд╣рд╛рдВ рдореБрджреНрджреЛрдВ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? 81 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рднреА рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдзреНрдпрд╛рди рд╕реЗ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭрд╕реЗ рдЧрд▓рддреА рд╣реЛ рд╕рдХрддреА рд╣реИ)ред рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рд╣рдо рдпрд╣рд╛рдВ рд╕рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреНрд░реЛрдЬрд╝ рд╣реИрдВ? рдРрд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд▓реЛрдЧ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╕реНрдореГрддрд┐ рд╡реГрджреНрдзрд┐ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрдВ рд░реЗрдкреНрд░реЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдард╣рд░рд╛рддрд╛ рд╣реИ рдХрд┐ рдпреЗ рд╕рд╛рдорд╛рдиреНрдп рдореБрджреНрджреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

рдЬрд╝рд░реВрд░ред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрди рд╕рднреА рдзрд╛рдЧреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ рд╣реИред рдореИрдВ рдЕрдВрддрддрдГ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реВрдВрдЧрд╛ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХрд▓ рдзрд╛рдЧрд╛ рдЕрдм рдЯрд┐рдХрд╛рдК рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдЗрд╕ рдереНрд░реЗрдб рдкрд░ рд╣реИрдВ рдЬреЛ рдЙрдирдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдореИрдВ рдПрдХ рдРрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ рдЬреЛ рд╕рднреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ, рдЬреНрдЮрд╛рдд рд╕реНрдореГрддрд┐ рдореБрджреНрджреЛрдВ (LOB, HttpClient, ...) рдФрд░ рдЗрди рдореБрджреНрджреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИред

рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рдЖрд╢реНрд╡рд╕реНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд┐рдЫрд▓реЗ 6 рдорд╣реАрдиреЛрдВ рд╕реЗ рд╣рдо 24 рдФрд░ 7 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рджреЛрдиреЛрдВ рдкрд░, Azure рдкрд░ рд▓рдЧрд╛рддрд╛рд░ ASP.NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред рдпреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ (рджреИрдирд┐рдХ рдпрд╛ рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ) рдкрд░ рдирд╡реАрдирддрдо ASP.NET рд╕реНрд░реЛрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЖрд░рдкреАрдПрд╕, рд╡рд┐рд▓рдВрдмрддрд╛, рд╕реАрдкреАрдпреВ рдФрд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдИрдПрдл рдХреЛрд░, рдПрдорд╡реАрд╕реА рдФрд░ рд░реЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднрд╛рд░ рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 50% рд╕реАрдкреАрдпреВ рддрдХ рдХрд╛рдпрдо рд░рд╣рддрд╛ рд╣реИред

рдЖрдк рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (рджреИрдирд┐рдХ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ): https://msit.powerbi.com/view?r=eyJrIjoiYTZjMTk3YjEtMzQ3Yi00NTI5LTg5ZDItNmUyMGRlOTkwMGRlIiwidCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsImMiOjV9&pageName=ReportSectioneeff188c61c9c6e3a798

рдЗрд╕рдиреЗ рд╣рдореЗрдВ рдЕрддреАрдд рд╕реЗ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИ, рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЕрднреА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреЛрдИ рдореМрд▓рд┐рдХ рд░рд┐рд╕рд╛рд╡ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╢рд┐рдк рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд░реАрдм рдирд╣реАрдВ рд╣реИ, рдФрд░ рдРрд╕реЗ рдореБрджреНрджреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдбрдВрдк рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЬреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдореБрдЦреНрдп рддрд░реАрдХреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЖрдк рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@sebastienros рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдореБрджреНрджрд╛ рдПрдХ рдирдИ "рд▓рд╛рд▓рдЪреА рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди" рдЪрд┐рдВрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдерд╛, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдЧрд▓рдд рд╕рдордЭрд╛ рдерд╛ред рдореБрдЭреЗ рдпрдХреАрди рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдм рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдирдП рдЕрдиреБрдХреВрд▓рди рдЕрдиреБрдорд╛рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрдХреНрд░рд╛рдордХ рд╣реЛрдВред рдпрдХреАрди рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ... рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рд╕реВрддреНрд░ рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рд╣реА рд░рд╛рд╕реНрддреЗ рдкрд░ рд╣реИрдВ рдФрд░ рд▓реЛрдЧ рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ/рдЧрд▓рддрдлрд╣рдореА рдкрд░ рдХреБрдЫ рд╕рдореЗрдХрд┐рдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг/рд╕рд╛рд░рд╛рдВрд╢ рд▓реЗрдХрд░ рдЖ рд░рд╣реЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХрд╛рдордпрд╛рдмреА рдорд┐рд▓реЗ!

рд╕рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдерд▓рдЧ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлреЙрд▓реЛ-рдЕрдк рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗ, рдФрд░ рдпрджрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рд▓ рд╣реЛ рдЧрдП рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реВрдк рдореЗрдВ рдмрдиреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдиреНрд╣реЗрдВ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдореИрдВ рдПрдХ рдРрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ рдЬреЛ рд╕рднреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ, рдЬреНрдЮрд╛рдд рд╕реНрдореГрддрд┐ рдореБрджреНрджреЛрдВ (LOB, HttpClient, ...) рдФрд░ рдЗрди рдореБрджреНрджреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдореЗрд░реА рдУрд░ рд╕реЗ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ +1 рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рдлрд┐рд░ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред рдХреБрдЫ рдорд╣рд╛рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реЛрдиреЗ рд╕реЗ рд╣рдо рджреЛрдиреЛрдВ рдХреЛ рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ (i) рдЗрдХрдЯреНрдард╛, (ii) рдПрдХ рдЖрддреНрдо-рдирд┐рджрд╛рди рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ (iii) рд╣рдорд╛рд░реЗ рдбрдВрдк/рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ рдЬреЛ рдПрдордПрд╕ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдХреБрд╢рд▓ рд╣реЛ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛрдиреЛрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдмрд╛рдбрд╝ рдХреЗ рдХрд┐рдирд╛рд░реЗред

рдпрджрд┐ рд╣рдо (рдбреЗрд╡рд▓рдкрд░реНрд╕) рдирд┐рджрд╛рди рдФрд░/рдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреАрдд рд╣реИред

@Sebastienros рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж - рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА, рджреЛрд╕реНрдд!

рдЖрдк рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ?

рд╣рдо рдПрдХ рд╣реА рдкреНрд▓рд╛рди рдХреЗ рдЕрдВрджрд░ 4 WebApps рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдпрд╣ рдмреА 1 рдерд╛, рдЬрд┐рд╕реЗ рдПрд╕ 2 рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЬрдм рддрдХ рдореИрдВ рднреВрдЦреЗ рд╡реЗрдмрдПрдк csproj рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рддрдм рддрдХ рдореЗрдореЛрд░реА рдмрдврд╝рддреА рд░рд╣реА:

<ServerGarbageCollection>false</ServerGarbageCollection>

рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреЛ рднреА рдЕрдХреНрд╖рдо рдХрд░реЗрдВ

  1. рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рд╕реНрдореГрддрд┐ рд▓реА рдирд╣реАрдВ рд╣реИред рд╕рд╣реА?
  2. рдХреНрдпрд╛ рдкреНрд░рд╕реНрддреБрдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ?

memory eaten up

рдпрд╣рд╛рдБ @alexiordan рдЬреИрд╕реА рд╣реА рд╕реНрдерд┐рддрд┐ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ .net рдХреЛрд░ 2.1 рдХрдВрд╕реЛрд▓ рдерд╛, рдЬреЛ Kube рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХреБрдЫ IHostedServices рдХреЛ Microsoft/ dotnet:2.1-runtime AS рдмреЗрд╕ рд╕реЗ рдЪрд▓рд╛рддрд╛ рдерд╛ред рд╣рдо HealthChecks рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдХреЗрд╡рд▓ HealthChecks рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде asp.net рдХреЛ рдЬреЛрдбрд╝рд╛ рдФрд░ рдореВрд▓ рдЫрд╡рд┐ рдХреЛ Microsoft/ dotnet:2.1-aspnetcore-runtime рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдо рдУрдУрдПрдо рдерд╛ред рд╣рдо рдЬреЛрдбрд╝рдХрд░ рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рд╣реИрдВрдЕрд╕рддреНрдп csproj рдореЗрдВред

рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдПрд╕рдкреАрдиреЗрдЯ рдРрдк рдореЗрдВ рдЬреАрд╕реА рдХрдо рдмрд╛рд░ рдЗрдХрдЯреНрдард╛ рд╣реЛрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдлрд╝рд╛рдЗрдирд▓рд╛рдЗрдЬрд╝рд░ рдХреНрдпреВ рдХреЛ рднреА рдХрдо рдмрд╛рд░ рдЯреНрд░реИрд╡рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рд╣рдордиреЗ рдЬреАрд╕реА рдХреЛ рдЕрдкрдиреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝рдХрд░ рдЕрдВрддрд┐рдо рдХрддрд╛рд░ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛,

рд╕рд┐рд╕реНрдЯрдо.рдЬреАрд╕реА.рдХрд▓реЗрдХреНрдЯ ();
System.GC.WaitForPendingFinalizers ();
рд╕рд┐рд╕реНрдЯрдо.рдЬреАрд╕реА.рдХрд▓реЗрдХреНрдЯ ();

рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди рд╕реНрдерд┐рд░ рд░рд╣рд╛ред

рдЖрдк рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ?

рд╣рдо рдПрдХ рд╣реА рдкреНрд▓рд╛рди рдХреЗ рдЕрдВрджрд░ 4 WebApps рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдпрд╣ рдмреА 1 рдерд╛, рдЬрд┐рд╕реЗ рдПрд╕ 2 рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЬрдм рддрдХ рдореИрдВ рднреВрдЦреЗ рд╡реЗрдмрдПрдк csproj рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рддрдм рддрдХ рдореЗрдореЛрд░реА рдмрдврд╝рддреА рд░рд╣реА:

<ServerGarbageCollection>false</ServerGarbageCollection>

рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреЛ рднреА рдЕрдХреНрд╖рдо рдХрд░реЗрдВ

  1. рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рд╕реНрдореГрддрд┐ рд▓реА рдирд╣реАрдВ рд╣реИред рд╕рд╣реА?
  2. рдХреНрдпрд╛ рдкреНрд░рд╕реНрддреБрдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ?

memory eaten up

рдЕрд░реЗ @alexiordan

рдПрдЖрдИ (рдиреЗрдЯ рдХреЛрд░ 2.1 рдкрд░ рд╡реЗрдм рдРрдк) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣рдо рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдорд╛рди рдореЗрдореЛрд░реА рдкреНрд░реЛрдлрд╛рдЗрд▓ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдФрд░ рдкреНрд░рдЧрддрд┐ рдХреА рд╣реИ? рдЬрд╛рд╣рд┐рд░ рд╣реИ рд╣рдо рдПрдЖрдИ рдХреЛ рдРрдкреНрд╕ рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рдЙрдкрдпреЛрдЧ рдмрдврд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рдХреЛ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рд░реЛрдХрдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ? рдЕрдЬреАрдм рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдЪ рд╡рд╣ рдореВрд▓реНрдп рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреВрд╕рд░реА рддрд░рдл рд╣реИ ...

рдореИрдВ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЗрд░рд╛рджреЗ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд┐рдпрд╛ред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/sebastienros/memoryleak

рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ рдЬреЛ рдЪрд╛рд░реНрдЯ рдкрд░ рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЗрд╡ рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рдХреЛ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рд░реЛрдХрдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ? рдЕрдЬреАрдм рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдЪ рд╡рд╣ рдореВрд▓реНрдп рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреВрд╕рд░реА рддрд░рдл рд╣реИ ...

рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ (рдХрдИ рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдФрд░ рдореЗрдореЛрд░реА рдХреЛ рдореБрдХреНрдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд) рд╕рд░реНрд╡рд░ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ (рдереНрд░реВрдкреБрдЯ рдФрд░ рд╕рдорд╡рд░реНрддреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрдХреНрд░рд╛рдордХ рд╣реИред

рдПрд╕рдЬреАрд╕реА рдХреЛ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛, рдореЗрд░реА рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдПрдкреАрдЖрдИ 150 рдПрдордмреА рд╕реЗ 48 рдПрдордмреА рддрдХ рдЧрд┐рд░ рдЧрдИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рдирд╣реАрдВ рдмрдврд╝реАред рддреЛ рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ?

@kgrosvenor рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЙрддреНрдХреГрд╖реНрдЯ @sebastienros рд▓реЗрдЦ рд╕реЗ рдЙрджреНрдзрд░рдг:

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рд╕реАрдкреАрдпреВ рд╕рдВрд╕рд╛рдзрди рдореЗрдореЛрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдЬреАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдЫ рд╕рд░реНрд╡рд░ рдкрд░рд┐рджреГрд╢реНрдп рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреАрд╕реА рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рдШрдирддреНрд╡ рдкрд░ рдХрдИ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛрд╕реНрдЯ рдХрд░рдирд╛ рдЬрд╣рд╛рдВ рд╕реНрдореГрддрд┐ рджреБрд░реНрд▓рдн рд╕рдВрд╕рд╛рдзрди рдмрди рдЬрд╛рддреА рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдореИрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреВрдВрдЧрд╛ - рдХрд┐рд╕реА рднреА рдЕрдзрд┐рдХ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдзрд╛рдЧреЗ рдХрд╛ рдкрд╛рд▓рди рдХрд░реВрдВрдЧрд╛, рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ :)

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ .net рдХреЛрд░ 2.1 рдХрдВрд╕реЛрд▓ рдРрдк рд╕реЗ рднреА рдкреАрдбрд╝рд┐рдд рд╣реИрдВред рдирд┐рд░рдВрддрд░ рд╕реНрдореГрддрд┐ рд╡реГрджреНрдзрд┐ред рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЕрдзрд┐рдХрддрдо рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрд╕реЗ рд╣рд┐рдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрджрд╕реВрд░рдд рд╣реИред

рдЗрд╕ рддрд░рдл рдХреЛрдИ рдЦрдмрд░? ASP.Net Core v2.1 рдореЗрдВ рднреА рд╣рдорд╛рд░рд╛ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред https://github.com/aspnet/AspNetCore/commit/659fa967a1900653f7a82f02624c7c7995a3b786 рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдореЗрдВ рдЬреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдЙрд╕рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рд╕рдорд╕реНрдпрд╛ рдереА рдЬрд┐рд╕реЗ v3.0 рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

@ flo8 рдХреНрдпрд╛ рдЖрдкрдиреЗ 2.2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ? https://dotnet.microsoft.com/download

рдирд╡реАрдирддрдо 2.2 рдЪрд▓рд╛рдирд╛ рдФрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рднреА рд╣реИ - рдХреЗрд╡рд▓ 1 рдорд┐рд▓рд┐рдпрди рдЗрдиреНрдЯреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдирд╛ рдФрд░ рдПрдХ рдЦрд╛рд▓реА рд░рд┐рд╕реЗрдЯ() рд▓реМрдЯрдиреЗ рд╕реЗ рдореЗрд░реЗ рдвреЗрд░ рдореЗрдВ рдХреБрдЫ рд╕реМ рдПрдордмреА рд╣рд░ рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреА рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рд╕реНрдореГрддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред ServerGarbageCollection рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рдирд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рд╣реА рдлрд┐рдХреНрд╕ рдХреА рддрд░рд╣ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ ...

@ dre99gsx рдЬреИрд╕рд╛ рдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдЖрд╕рд╛рди рд░реЗрдкреНрд░реЛ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдХрджрдо рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╡рд╣реА рдХрд╛рдо рдХрд░ рд╕рдХреВрдВ?

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕реЗ LOB рднрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ gen2 рдкрд░ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреГрдкрдпрд╛ рдпрд╣ рднреА рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдХрд┐ рдУрдПрд╕, рдореЗрдореЛрд░реА, рд▓реЛрдб рдкрд░ рдореИрдВ рдЗрд╕реЗ рдХрд┐рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдЧреБрдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдХрд╛рдлреА рдЖрд╕рд╛рди:
(рд╡рд┐рдВрдбреЛрдЬ 7 64 рдмрд┐рдЯ, 16 рдЬреАрдмреА рд░реИрдо, http рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП Google рдХреНрд░реЛрдо, рд╡реАрдПрд╕2017 рд╕рдореБрджрд╛рдп) - рдореБрдЭреЗ рдЕрднреА рднреА рдЗрди рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрджрдд рд╣реИ, рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ)

  • рдПрдХ рдирдпрд╛ .NET рдХреЛрд░ 2.2 рд╡реЗрдм рдРрдк рд╢реБрд░реВ рдХрд░реЗрдВ
  • рдХрдВрдЯреНрд░реЛрд▓рд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд┐рд╕ рдХреНрд▓рд╛рд╕, рд╕реНрдХреЛрдкреНрдб (рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ ..) рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░реЗрдВ
  • рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ () рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рд╕реЗрд╡рд╛ рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ
  • рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбрд▓ рд╡рд░реНрдЧ (рдбрдВрдмрдХреНрд▓рд╛рд╕) рдмрдирд╛рдПрдВ: рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ int рдЖрдИрдбреА {рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; рд╕рдореВрд╣;}
  • рд╕рд░реНрд╡рд┐рд╕ рдХреНрд▓рд╛рд╕ рдореЗрдердб рдореЗрдВ, рдХрд┐рд╕реА рд▓рд┐рд╕реНрдЯ рдХреЛ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХрд░реЗрдВ рдФрд░ рдЙрд╕реЗ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░реЗрдВ:
    var lst = рдирдИ рд╕реВрдЪреА();
    рдХреЗ рд▓рд┐рдП (i=0; i<10000000; i++) <--- рдиреЛрдЯ: 10 рдорд┐рд▓рд┐рдпрди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпрд╛рдВ
    {
    lst.add (рдирдпрд╛ рдбрдВрдмрдХреНрд▓рд╛рд╕ () {рдЖрдИрдбреА = i});
    }
  • рд╡рд┐рдзрд┐ рд╕реЗ рд╡рд╛рдкрд╕, рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЙрд╕ рд╕реВрдЪреА рдХреЛ рд╡рд╛рдкрд╕ рднреА рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...
  • рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ () рдирдпрд╛ рдЦрд╛рд▓реА рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдПрдВ ();

рдЕрдм рдмрд╕ рд╣рд░ 8 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рдФрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдореЗрдореЛрд░реА рдХреЛ рдКрдкрд░ рдЬрд╛рддреЗ рд╣реБрдП рджреЗрдЦреЗрдВред рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдореИрдВ рдирд┐рдЬреА рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рдпрд╣реА рджреЗрдЦрддрд╛ рд╣реВрдВ:

рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░реЗрдВ: 155MB
рдкрд╣рд▓рд╛ http рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ: 809MB
рджреВрд╕рд░рд╛: 1.2GB
рддреАрд╕рд░рд╛: 1.4GB
рдЪреМрдерд╛: 1.8GB
5рд╡рд╛рдВ: 2.1GB ... 2.3GB .. 2.6GB ...

рдЕрдм, рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдЬреАрд╕реА рдХрд┐рдХ рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдпрд╣ рдХрднреА рднреА 3GB рд╕реЗ рдиреАрдЪреЗ рдирд╣реАрдВ рдЧрд┐рд░рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдЧрд░ рдореИрдВ рд╕рд░реНрд╡рд░рдЬреАрд╕реА рдХреЛ рдЧрд▓рдд рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдХрднреА рднреА 1GB рд╕реЗ рдКрдкрд░ рдирд╣реАрдВ рдЙрдарддрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдКрдкрд░ рдЪрдврд╝рддрд╛ рд╣реИ рдФрд░ 1GB рдкрд░ рдордВрдбрд░рд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓рддреА рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдУрд╣, рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдЬреАрдердм рдкреЛрд╕реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рд╛: "рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдФрд░ рдкреИрдЯрд░реНрди", рд╢рд╛рдирджрд╛рд░ рд▓реЗрдЦрди, рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

@dre99gsxЁЯСЛ

рдореБрдЭреЗ рдЕрднреА рднреА рдЗрди рдзрд╛рдЧреЛрдВ рдореЗрдВ рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрджрдд рд╣реИ, рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ)

рдХреЛрдИ рдЬрд╛рдВрдЪ рдирд╣реАрдВ :) рдкреНрд░рд╢реНрди: рдХреНрдпрд╛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреВрд░реЗ рдирдореВрдирд╛ рдЖрд╡реЗрджрди рдХреЛ рдЧрд┐рдЯрд╣рдм (рдлреНрд░реА рд░реЗрдкреЛ) рдпрд╛ рдХрд╣реАрдВ рдЗрд╕реА рддрд░рд╣ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП _рд╕рдВрдкреВрд░реНрдг_ рд╕рдЯреАрдХ рдирдореВрдирд╛ рдРрдк/рд░реЗрдкреЛ рдХреЛ рддреБрд░рдВрдд рдХреНрд▓реЛрди/рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдЦреЗрд▓ рд░рд╣реЗ рд╣реИрдВред

рд╕рд╛рде рд╣реА, TaskManager рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рд╕реНрдХреНрд░реАрди рд╢реЙрдЯреНрд╕ рдорджрдж рдХрд░реЗрдВрдЧреЗ (рдпрджрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ - рдпрд╛ рдЗрдХреНрд╡рд┐рд╡ рдкрд░ *nix .. рдЬреЛ top рдХрдорд╛рдВрдб рд╣реИ ??)

рдЕрдм рддрдХ рдХрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкреНрд░рдпрд╛рд╕!

/ рдореИрдВ рдЪреБрдкрдЪрд╛рдк рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реВрдВред

рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдЖрдк рдпрд╣рд╛рдВ рдзрд╛рдЧреЗ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рднреА рд▓рдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдбреЗрдореЛ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/sebastienros/memoryleak

рд╕рд╛рде рд╣реА рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореБрджреНрджреЗ рдХрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд▓рд╛рдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдбреЙрдЯрдиреЗрдЯ рдХреЛрд░ __рдЕрдм рддрдХ__ рдореЗрдВ рдмрдЧ рд╕рд╛рдмрд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред

@ dre99gsx рдЕрдм рд╣рд╛рд▓ рдХреА рдЯрд┐рдкреНрдкрдгреА рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ рдЖрдкрд╕реЗ рдЗрд╕ рдзрд╛рдЧреЗ рд╕реЗ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдХрд░реВрдВрдЧрд╛ред рдореЗрд░реЗ рдлреЛрди рдкрд░ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ "рдпрд╣ рд╡рд╛рд▓рд╛" рдерд╛;)ред рдЕрдкрдиреА рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ

рдЬрдм рддрдХ рдореЗрд░реА рдпрд╛рджрджрд╛рд╢реНрдд рдЦрддреНрдо рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА

рддреЛ рдореИрдВ рдЖрдЙрдЯрдСрдлрдореЗрдорд░реА рдЕрдкрд╡рд╛рдж рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд░реЗрдкреНрд░реЛ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рд▓реЗрдХрд┐рди рдЖрдкрдХреА рдЕрдЧрд▓реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ:

рдЕрдм, рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдЬреАрд╕реА рдХрд┐рдХ рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрднреА рднреА 3GB рд╕реЗ рдиреАрдЪреЗ рдирд╣реАрдВ рдЧрд┐рд░рддрд╛ рд╣реИ

рддреЛ рдХреЛрдИ рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрд░ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рд╡рд╛рд▓реА рдорд╢реАрди рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдЬреАрд╕реА рдкреНрд░рдмрдВрдзрд┐рдд рдвреЗрд░ рдХреЛ рдореБрдХреНрдд рдХрд░ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╕реНрдореГрддрд┐ рдЕрднреА рднреА рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЕрди-рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ (рдмрд╣реБрдд рд╕рд╛рд░реА рдЙрдкрд▓рдмреНрдз рд╕реНрдореГрддрд┐)ред рдпрд╣ .NET рдореЗрдВ рдПрдХ рдорд╛рдирдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЙрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдЖрдк рдЗрд╕реЗ рднреА рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: https://blogs.msdn.microsoft.com/maoni/2018/11/16/running-with-server-gc-in-a-small-container-scenario-part-0/

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдЯреАрдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ .NET рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреБрдЫ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЗрддрдиреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред

рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╕реНрд╡рдпрдВ рдкрд╛рдпрд╛, рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╕рднреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреАрд╕реА рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдареАрдХ рд╣реИ, рдЬрдм рдореИрдВрдиреЗ рдХрд╣рд╛ "рд╕реНрдореГрддрд┐ рд╕реЗ рдмрд╛рд╣рд░", рдореИрдВ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рд╛рдЗрд╡реЗрдЯ рд╡рд░реНрдХрд┐рдВрдЧ рд╕реЗрдЯ (рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдореГрддрд┐ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ; "рдореЗрдореЛрд░реА рдЕрдкрд╡рд╛рдж рд╕реЗ рдмрд╛рд╣рд░" рдирд╣реАрдВред

рддреБрдореНрд╣реЗрдВ рдкрддрд╛ рд╣реИ рдХреНрдпрд╛, рддреБрдо рд╕рд╣реА рд╣реЛред рдпрд╣ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рддрд░рд╣ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЗрддрдиреА рд╕реНрдореГрддрд┐ рдЙрдкрд▓рдмреНрдз рд╣реИ, рддреЛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдореБрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдХреНрдпреЛрдВ рдЦрд░реНрдЪ рдХрд░реЗрдВ рдпрджрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ! рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ред рдЬрдм рддрдХ рдЬреАрд╕реА рдореЗрдореЛрд░реА рдХреЛ рдореБрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рд╣реИ рддрд╛рдХрд┐ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реАрдорд┐рдд рди рд╣реЛрдВ, рдореИрдВ рдЗрд╕реЗ рд╡реИрд╕реЗ рд╣реА рд░рдЦреВрдВрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рдЪреАрдЬ рдХрд░рдиреЗ рджреВрдВрдЧрд╛ред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2.2 рдореЗрдВ рдЕрдкрдирд╛ рдЖрд╡реЗрджрди рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╕реНрдореГрддрд┐ рд░рд┐рд▓реАрдЬ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ 40-50 рдПрдордмреА рдХреА рд╕реАрдорд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдмрдврд╝рд╛рддреА рд╣реИ рд╣рд░ рдмрд╛рд░ рд░рд┐рд▓реАрдЬ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдЯреИрдЧ рднреА рдЬреЛрдбрд╝рд╛ рд╣реИ ServerGarbageCollection>false
рдЕрднреА рднреА 50 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдЗрди-рдкреНрд░реЛрд╕реЗрд╕ рдореЛрдб рдореЗрдВ рд▓рдЧрднрдЧ 2GB рд░реИрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ (w3wp iis рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛)

рдХреГрдкрдпрд╛ рдорджрдж рдХреАрдЬрд┐рдПред

рдХреГрдкрдпрд╛ рд╕рд╣рд╛рдпрддрд╛ рдХреАрдЬрд┐рдП !! ankitmori14 . рдХреЗ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛

@ankitmori14 , @ikourfaln - рдпрджрд┐ рдЖрдкрдиреЗ https://github.com/aspnet/AspNetCore/issues/1976#issuecomment -449675298 рдкрд░ @sebastienros рдХреА рдЯрд┐рдкреНрдкрдгреА рдкрдврд╝реА рд╣реИ рдФрд░ рдЕрднреА рднреА рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддреГрдд рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рд╛рде рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдирд┐рд╢рд╛рдиред рдХреГрдкрдпрд╛ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЬрдм рддрдХ рдРрдк/рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ (рд▓реЗрдХрд┐рди рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ) рдХрд┐ рдХреЛрдИ рдмрдЧ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ 'рд╕рд░реНрд╡рд░' рдЧрд╛рд░рдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░ рдХрдо рд╕реЗ рдХрдо рд╕рдВрднрд╡ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ; рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рддрдм рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЬрдм рд╕реНрдореГрддрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣реА рд╣реЛред рддреЛ рдПрдХ рдЫреЛрдЯрд╛ рдРрдк рднреА 2GB рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрднреА рднреА 4GB рдореБрдлреНрдд рд╣реИред

рдирдорд╕реНрддреЗ,

рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: https://stackoverflow.com/questions/53868561/dotnet-core-2-1-hoarding-memory-in-linux

рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрдореГрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджрд┐рдиреЛрдВ рддрдХ рдмрдврд╝рддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЗрд╕реЗ рдорд╛рд░ рдирд╣реАрдВ рджреЗрддрд╛ рдХреНрдпреЛрдВрдХрд┐ 512Mb рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рдлреА рдордЬреЗрджрд╛рд░ рд╣реИ, рдореЗрдореЛрд░реА рдбрдВрдк рд▓реЗрддреЗ рд╕рдордп, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдмрд┐рдирд╛ рдпрд╛ рдХреБрдЫ рднреА рдХрд┐рдП рдмрд┐рдирд╛ рдореЗрдореЛрд░реА рдХрд╛рдлреА рдХрдо рд╣реЛ рдЧрдИред рдореЗрдореЛрд░реА рдбрдВрдк рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рдмрд╣реБрдд рд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрд┐рдирд╛ рдЬрдбрд╝ рдХреЗ рджреЗрдЦрд╛ред

рд╣рдордиреЗ рдХрд▓ рд╕рдорд╡рд░реНрддреА рдЬреАрд╕реА (рдпрд╛рдиреА: рдкреГрд╖реНрдарднреВрдорд┐ рдЬреАрд╕реА) рдХреЛ рднреА рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдЕрдм рдмреЗрд╣рддрд░ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рдкреНрддрд╛рд╣ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

<PropertyGroup>
  <ServerGarbageCollection>false</ServerGarbageCollection>
  <ConcurrentGarbageCollection>false</ConcurrentGarbageCollection>
</PropertyGroup>

@vtortola рдкреНрд░рд╢реНрди, рдЬрдм рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП 512Mb рдХреА рд╕реАрдорд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рдерд╛ рдХрд┐ рдЖрдк рдХрд┐рддрдиреЗ рд╕рдорд╡рд░реНрддреА рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдРрдк рдЧрд┐рд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рддрдиреЗ рд╕рдорд╡рд░реНрддреА рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ ??

рд╣рдордиреЗ рдХреБрдЫ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдФрд░ рдореЛрдЯреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдФрд░ рдЬрд╛рдБрдЪ рдХреА рдХрд┐ рд╣рдо 512Mb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 500 рд╕рдорд╡рд░реНрддреА рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдкреНрд░рддрд┐ рдкреЙрдб рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо 2 рдкреЙрдбреНрд╕ рдФрд░ 1000 рд╕рдорд╡рд░реНрддреА рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдШрдВрдЯреЛрдВ рддрдХ рджреМрдбрд╝реЗ, рдЬрд┐рд╕рдореЗрдВ рдореЗрдореЛрд░реА 150Mb рд╕реЗ рдХрдо рдереАред 2 рдкреЙрдбреНрд╕ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдордп 150 рдФрд░ 300 рд╕рдорд╡рд░реНрддреА рдХрдиреЗрдХреНрд╢рди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдореЗрдореЛрд░реА рдкрд╣рд▓реЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ 100Mb рд╕реЗ рдХрдо рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ, рд▓рдЧрднрдЧ 2 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ 512Mb рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддреА рд╣реИред рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХреЗ рдмреАрдЪ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред 70% рд╕реЗ рдЕрдзрд┐рдХ рдХрдиреЗрдХреНрд╢рди 10 рдорд┐рдирдЯ рддрдХ рдЪрд▓рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдореЗрдореЛрд░реА рдбрдВрдк рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдпрд╣ 100 рдПрдордмреА рдФрд░ 512 рдПрдордмреА рдкрд░ рд╣реЛ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдЕрднреА рднреА рдЬреАрд╡рд┐рдд рд╣реИрдВ?

рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдореИрдВ рдбрдВрдк рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдХреАрдЬрд╝, рдЯреЛрдХрди рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирд┐рдЬреА рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рддрдм рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреМрди рд╕реА рд╡рд╕реНрддреБ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рд▓реЗрддреА рд╣реИ, рдФрд░ рдпрджрд┐ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдЖрдкрдХреЗ рд▓реЛрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред рдЬреИрд╕реЗ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ 300 рдХрдиреЗрдХреНрд╢рди рд╣реИрдВ рддреЛ 3K рдХрдиреЗрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ <ConcurrentGarbageCollection>false</ConcurrentGarbageCollection> рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдиреЗ рдорджрдж рдирд╣реАрдВ рдХреА рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрднреА рднреА рд╕реНрдореГрддрд┐ рдЬрдорд╛ рдХрд░ рд░рд╣реА рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдбрдВрдк рд╣реИ, рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХрдорд╛рддреНрд░ рдЙрдкрдХрд░рдг рдПрд▓рдПрд▓рдбреАрдмреА рд╣реИ рдФрд░ рд╣рдо рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╣реБрдд рдиреЛрдм рд╣реИрдВред

рдШрдВрдЯреА рдмрдЬрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдбреЗрдЯрд╛:

(lldb) eeheap -gc
Number of GC Heaps: 1
generation 0 starts at 0x00007F8481C8D0B0
generation 1 starts at 0x00007F8481C7E820
generation 2 starts at 0x00007F852A1D7000
ephemeral segment allocation context: none
         segment             begin         allocated              size
00007F852A1D6000  00007F852A1D7000  00007F853A1D5E90  0xfffee90(268430992)
00007F84807D0000  00007F84807D1000  00007F8482278000  0x1aa7000(27947008)
Large object heap starts at 0x00007F853A1D7000
         segment             begin         allocated              size
00007F853A1D6000  00007F853A1D7000  00007F853A7C60F8  0x5ef0f8(6222072)
Total Size:              Size: 0x12094f88 (302600072) bytes.
------------------------------
GC Heap Size:            Size: 0x12094f88 (302600072) bytes.

рдФрд░ dumpheap -stat рдХрд╛ рдкрд░рд┐рдгрд╛рдо: https://pastebin.com/ERN7LZ0n

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдЧреНрд░реЗрдлрд╛рдирд╛ рд╕реНрдореГрддрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ https://stackoverflow.com/questions/53868561/dotnet-core-2-1-hoarding-memory-in-linux

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреЙрдЯрдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдПрдХ рдФрд░ рд╕рдореВрд╣ рд╣реИ рдЬреЛ рдирд┐рд░реНрджреЛрд╖ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

@vtortola рдХреНрдпрд╛ рдЖрдк рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕реЗ рдлреЛрд░реНрдХ рди рдХрд░реЗрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡реЗрдмрд╕рд╛рдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдЕрджреНрд╡рд┐рддреАрдп рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдирдореВрдирд╛ рдРрдк рдмрдирд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЬреИрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗ рдФрд░ рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рддрдирд╛рд╡ рджреЗред рдХреНрдпрд╛ рдЖрдк рдпрд╣ рдмрддрд╛ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдЖрдкрдХреЗ рдЧреНрд░рд╛рд╣рдХ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдХрд┐рддрдиреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП? рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рдРрдк рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рджрд┐рдиреЛрдВ рддрдХ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдЕрдЧрд░ рдореИрдВ рдореЗрдореЛрд░реА рдХреЛ рдмрдврд╝рддрд╛ рд╣реБрдЖ рджреЗрдЦреВрдВ рддреЛ рдореЗрдореЛрд░реА рдбрдВрдк рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВред

рдпрд╣ рдЬреАрд╕реА рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдмреАрдЪ рдХреБрдЫ рд╕рдВрдШрд░реНрд╖ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬреАрд╕реА рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ рдХрд┐ рдпрд╣ рдкреЙрдб рдХреА рд╕реАрдорд╛ рдХреЗ рдХрд░реАрдм рд╣реИред

@richlander рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдорд╛рдорд▓рд╛ рд░рд┐рдЪ рдХрд░рддрд╛ рд╣реИ (рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдкрдврд╝реЗрдВ) рдЖрдк рдЬрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рдЕрдЧрд░ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА (рдпрд╛ рдмрд╣реБрдд рд╕рдорд╛рди) рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рджрд░реНрдЬрди+ .net рдХреЛрд░ 2.1 рдФрд░ 2.2 рдХрдВрд╕реЛрд▓ рдРрдк рд╣реИрдВ рдЬреЛ рдбреЙрдХрдЯрд░ рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ - рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ 512mb рдореЗрдореЛрд░реА рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде, рд╡реЗрдмрд╕реЛрдХреЗрдЯ (рдХреНрд▓рд╛рдЗрдВрдЯ) рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдРрдкреНрд╕ рд╣рд░ ~ 3 рджрд┐рдиреЛрдВ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдореЗрдореЛрд░реА рд╕реАрдорд╛ рдХреЛ рд╣рд┐рдЯ рдХрд░рддреЗ рд╣реИрдВред рдХрдВрдЯреЗрдирд░ рдлрд┐рд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИред

рд╕рдм рдХреБрдЫ рдкреНрд░рдорд╛рдгрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╣ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреБрдЫ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдореЗрдореЛрд░реА рд▓рд┐рдорд┐рдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд┐рди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? рдмрд╕ --memory рдпрд╛ --memory-swap рднреА?

рдЬрдм рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдХрднреА рднреА рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ 16MiB рдЬреИрд╕реА рд╕реБрдкрд░ рдХрдо рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкрд╛рдЧрд▓реЛрдВ рдХреА рддрд░рд╣ рдбрд┐рд╕реНрдХ рдкрд░ рд╕реНрд╡реИрдк рдХрд░рддрд╛ рд╣реИред рдФрд░ рдореИрдВ рдПрдХ рдРрд╕реЗ рдРрдк рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдбреАрдмреА рдХреНрд╡реЗрд╢реНрдЪрди (рдИрдПрдл) рдФрд░ рд░реЗрдЬрд░ рд╡реНрдпреВ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИред

@sebastienros рдмрд┐рд▓реНрдХреБрд▓, рдореИрдВрдиреЗ https://github.com/aspnet/AspNetCore/issues/6803 рдмрдирд╛рдпрд╛ рд╣реИ

рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдпреЗ?

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдПрдХ рдШрдВрдЯреЗ рдХреЗ рдмрд╛рдж рд╕рднреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ w3wp.exe рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (.NET рдХреЛрд░ рдЗрдирдкреНрд░реЛрд╕реЗрд╕ рдЪрд▓ рд░рд╣рд╛ рд╣реИ)ред рдЬреАрд╕реА рдХреЛ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдореЗрдВ рдмрджрд▓рдирд╛, рдореЗрд░реЗ рд▓рд┐рдП рдЪрд╛рд▓ рдирд╣реАрдВ рдЪрд▓реАред

рдореЗрдореЛрд░реА рдбрдВрдк рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдпрд╣ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА, https://github.com/aspnet/AspNetCore/issues/6102ред

рдирд╡реАрдирддрдо .NET рдХреЛрд░ рд░рди рдЯрд╛рдЗрдо, рд╡рд░реНрддрдорд╛рди рдореЗрдВ 2.2.3 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЖрдЬ рдмрд╛рдж рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛ рджреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд░рд╣реА рд╣реИрдВред рдЕрдЧрд░ рдореИрдВ рдЕрдкрдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрдВрдЯреЗрдирд░реЛрдВ рдкрд░ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдЗрд╕реЗ рдУрдУрдПрдо рддреЗрдЬ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдореВрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рдИ рд╣реИ - рдХреЛрд░ 2.1 рдФрд░ 2.2 рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВред рдХреЛрд░ 2.0 рдирд╣реАрдВ рд╣реИ - рд▓реЗрдХрд┐рди рдпрд╣ рдИрдУрдПрд▓ рд╣реИ :(

рдКрдкрд░ рджреЗрдЦреЛ

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдЯреАрдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ .NET рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреБрдЫ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЗрддрдиреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред

рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╕реНрд╡рдпрдВ рдкрд╛рдпрд╛, рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╕рднреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреАрд╕реА рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдореЛрдб рдмрд┐рд▓реНрдХреБрд▓ рднреА рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 3.0 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдпрд╛ рд╕рдорд╛рди рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реВрдВред

@PrefabPanda рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди GC рдореЛрдб рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рдпрд╣ рдЬрд╛рдБрдЪ рдХрд░ рдХрд┐ System.Runtime.GCSettings.IsServerGC false рд╣реИред

рддрдм рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрджрдоред

@ wanton7 - рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВрдиреЗ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪ рдХреА рд╣реИ рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реЗрдЯ рд╣реИред

@DAllanCarr - рдХрд░реЗрдВрдЧреЗ

рдореИрдВ рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдирд╣реАрдВ рд╣реИред рдбреЙрдХрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЬреАрд╕реА рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ 3.0 рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рд╕реБрдзрд╛рд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред

@richlander рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреБрдЫ рдРрд╕реА рджрд┐рдЦрддреА рд╣реИ рдЬреЛ 2.2 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреА рдЬрд╛рддреА рд╣реИ?

@PrefabPanda рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╕рдЯреАрдХ docker рд╕рдВрд╕реНрдХрд░рдг рдФрд░ docker рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВрдЧреЗ? рдореИрдВ repro рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди docker рдФрд░ docker-compose рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдИ рд╣реЛрддреА рд╣реИред

@sebastienros , @richlander - рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдБред

рдореЗрд░реЗ рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг:

рдбреЙрдХрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдореБрджрд╛рдп
рд╕рдВрд╕реНрдХрд░рдг 2.0.0.2 (30215)

рдЗрдВрдЬрди: 18.09.1
рд▓рд┐рдЦреЗрдВ: 1.23.2

рд╕рдВрдкреВрд░реНрдг рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд▓рдЧреНрди рджреЗрдЦреЗрдВ:
рд╡реЗрдмрдПрдкреНрд▓реАрдХреЗрд╢рди1.рдЬрд╝рд┐рдк

рдХрд░реНрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред рдЬрд╝рд┐рдк

рдмрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░рд╛ рдбреЙрдХрд░рдлрд╛рдЗрд▓:

mcr.microsoft.com/dotnet/core/ aspnet рд╕реЗ :2.2 AS рдЖрдзрд╛рд░
рд╡рд░реНрдХрдбреАрд░ / рдРрдк
рдПрдХреНрд╕рдкреЛрдЬрд╝ 80
рдПрдХреНрд╕рдкреЛрдЬрд╝ 443

mcr.microsoft.com/dotnet/core/ sdk:2.2 AS рдмрд┐рд▓реНрдб рд╕реЗ
рд╡рд░реНрдХрдбреАрд░ / src
рдХреЙрдкреА рдХрд░реЗрдВ ["WebApplication1/WebApplication1.csproj", "WebApplication1/"]
рд░рди рдбреЙрдЯрдиреЗрдЯ "WebApplication1/WebApplication1.csproj" рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдХреЙрдкреА рдХрд░реЗрдВред .
рд╡рд░реНрдХрдбреАрд░ "/ src/WebApplication1"
рд░рди рдбреЙрдЯрдиреЗрдЯ рдмрд┐рд▓реНрдб "WebApplication1.csproj" -c рд░рд┐рд▓реАрдЬрд╝ -o /app

рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рд╕реЗ
рд░рди рдбреЙрдЯрдиреЗрдЯ "WebApplication1.csproj" -c рд░рд┐рд▓реАрдЬрд╝ -o /app . рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ

рдЖрдзрд╛рд░ рд╕реЗ рдЕрдВрддрд┐рдо рдХреЗ рд░реВрдк рдореЗрдВ
рд╡рд░реНрдХрдбреАрд░ / рдРрдк
рдХреЙрдкреА - рд╕реЗ = рдкреНрд░рдХрд╛рд╢рд┐рдд / рдРрдкред
ENTRYPOINT ["рдбреЙрдЯрдиреЗрдЯ", "WebApplication1.dll"]

docker-compose.yml:

рд╕рдВрд╕реНрдХрд░рдг: '2.4'

рд╕реЗрд╡рд╛рдПрдВ:
рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ1:
рдЫрд╡рд┐: ${DOCKER_REGISTRY-}webapplication1
mem_reservation: 128m
mem_limit: 256m
memswap_limit: 256m
рд╕реАрдкреАрдпреВ: 1
рдирд┐рд░реНрдорд╛рдг:
рд╕рдВрджрд░реНрдн: ред
dockerfile: WebApplication1/Dockerfile

docker-compose-override.yml:

рд╕рдВрд╕реНрдХрд░рдг: '2.4'

рд╕реЗрд╡рд╛рдПрдВ:
рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ1:
рд╡рд╛рддрд╛рд╡рд░рдг:
- ASPNETCORE_ENVIRONMENT=рд╡рд┐рдХрд╛рд╕
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_HTTPS_PORT=44329
- DOTNET_RUNNING_IN_CONTAINER=рд╕рддреНрдп
- DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true
- ASPNETCORE_preventHostingStartup=true
рдмрдВрджрд░рдЧрд╛рд╣:
- "50996:80"
- "44329:443"
рдорд╛рддреНрд░рд╛:
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/ https:ro
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/us ersecrets:ro

@sebastienros - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рддреЛ рдореИрдВ рдЬреАрд╕реА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдВ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рднреА рдпрд╣ рдХрдВрдЯреЗрдирд░/рдорд╢реАрди рдХреЗ рдЧрд▓рдд рдореЗрдореЛрд░реА рдЖрдХрд╛рд░ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИред

@PrefabPanda рдЬрдм рдЖрдкрдиреЗ рдХрд╣рд╛ "рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ", рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рддреЛ рдЬреАрд╕реА рд╕рд╣реА рдХрдВрдЯреЗрдирд░ рдореЗрдореЛрд░реА рд╕реАрдорд╛ рджреЗрдЦрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рд╣реЛ рдпрд╛ рдкреНрд░реЗрд░рд┐рдд рд╣реЛред рдпрджрд┐ рдЖрдкрдиреЗ GC.Collect() рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдкреВрд░реНрдг рдЕрд╡рд░реЛрдзрди рд╕рдВрдЧреНрд░рд╣ рдХрд░реЗрдЧрд╛; рдФрд░ рдпрджрд┐ рдЖрдк GC.Collect(2, GCCollectionMode.Default, true, true) рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдкреВрд░реНрдг рдХреЙрдореНрдкреИрдХреНрдЯрд┐рдВрдЧ GC рдХрд░реЗрдЧрд╛, рдЬрдм рдпрд╣ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреА рд╕реАрдорд╛ рдпрд╛ рдХреБрдЫ рдФрд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╣реАрдк рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд╕рдВрднрд╡ рд╣реИред

рд╣рд╛рдп @ Maoni0 - рдореИрдВрдиреЗ GC.Collect(2, GCCollectionMode.Default, true, true) рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред

рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ 256 рдПрдордмреА 2.2 рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 3.0 рдореЗрдВ 'рдирд┐рд╢реНрдЪрд┐рдд' рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ...

рдпрджрд┐ рдЖрдкрдиреЗ GC.Collect(2, GCCollectionMode.Default, true, true) рдЖрдЬрд╝рдорд╛рдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреА рдЕрдкреЗрдХреНрд╖рд╛рдиреБрд╕рд╛рд░ рдореЗрдореЛрд░реА рдХрдо рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдЪреНрдЪреА рдореЗрдореЛрд░реА рд▓реАрдХ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рдХрд┐рддрдиреА рдЯреВрд▓реАрдВрдЧ рдЙрдкрд▓рдмреНрдз рд╣реИред рдХреНрдпрд╛ рдЖрдк рдПрд╕рдУрдПрд╕ рдХрдорд╛рдВрдб рдмрд┐рд▓реНрдХреБрд▓ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдкреНрд░реЗрд░рд┐рдд рдЬреАрд╕реА рдХреЗ рдмрд╛рдж рдвреЗрд░ рдкрд░ рдХреНрдпрд╛ рд░рд╣рддрд╛ рд╣реИ

рдзрдиреНрдпрд╡рд╛рдж @ Maoni0 - рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдореИрдВ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд▓рдЧреНрди рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рдЪрдореБрдЪ рдореЗрд░рд╛ рдХреЛрдИ рдХреЛрдб рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдлреАрдбрдмреИрдХ рдорд┐рд▓рд╛ рд╣реИ, рдореИрдВ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд░рд╣реВрдВрдЧрд╛ред рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

@ Maoni0 - рдореИрдВрдиреЗ рдЙрдЪреНрдЪ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ 3.0 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЖрдЬрд╝рдорд╛рдирд╛ рд╣реЛрдЧрд╛

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЕрдкрдиреЗ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореБрджреНрджреЛрдВ рдореЗрдВ рдорд╛рдирд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдЧрд▓рддреА рд╕реЗ рдпрд╣ рд╕реЛрдЪрдХрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рджреА рдХрд┐ рдореИрдВ https://github.com/aspnet/AspNetCore/issues/10200 рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдзрдиреНрдпрд╡рд╛рдж

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ipinak picture ipinak  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aurokk picture aurokk  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

TanvirArjel picture TanvirArjel  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

markrendle picture markrendle  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

guardrex picture guardrex  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ