Тёмный

Thread pool Starvation y porque saber programar bien importa 

NetMentor
Подписаться 19 тыс.
Просмотров 4 тыс.
50% 1

vamos a ver un vídeo sobre que es thread pool starvation y como arreglar los problemas que causa.
00:00 Introducción a los problemas con hilos en C#
00:28 Qué es el Thread pool
01:55 qué es thread pool starvation
04:40 Detectar problemas de thread pool starvation
07:08 Potenciales causas de thread pool starvation
10:13 el mal uso de Task.Run en .net
18:03 Cómo arreglar problemas de thread pool starvation
Si te gusta el contenido, puedes apoyar al canal invitandome a un café www.buymeacoffee.com/netmentor
Miembros premium del la coumunidad: www.netmentor.es/miembro-premium

Наука

Опубликовано:

 

31 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 33   
@NetMentor
@NetMentor 3 месяца назад
Twitter: twitter.com/NetMentorTW Blog: www.netmentor.es/entrada/thread-pool-starvation
@andryos5145
@andryos5145 3 месяца назад
Interesante saberlo, y entender que lo importante es NO BLOQUEAR HILOS Y OPTIMIZAR SU PRONTA LIBERACION. Pero como bien dices, solo llegarás a analizarlo y a vivirlo cuando estés en un proyecto muy importantes con múltiples peticiones por segundo. Igual debería enseñarse como usar correctamente los Async await aunque nunca tengas un gran volumen de peticiones (aunque como todo, hay que aplicar ingeniería y saber como bien indicas si bloquear todo en uno o llamar con latencias)
@juanmanuelorjuelaacosta3230
@juanmanuelorjuelaacosta3230 3 месяца назад
SI usas itemDto.Result podria causar un Deadlock (por que estas intentado llamar algo sincrono dentro de un metodo asyncrono)
@kiquenet
@kiquenet 3 месяца назад
solución?
@juanmanuelorjuelaacosta3230
@juanmanuelorjuelaacosta3230 3 месяца назад
@@kiquenet usar await
@luisalbertoivetta1731
@luisalbertoivetta1731 3 месяца назад
yendo a las entrañas!!! muy buen video
@matiasperonetto
@matiasperonetto 3 месяца назад
Que buen contenido!!
@FPontiDev
@FPontiDev 3 месяца назад
Otro supervideo. Gracias
@dahoradqhora
@dahoradqhora 3 месяца назад
Muy buen video como siempre. Muchas gracias :)
@stopPlannedObsolescence
@stopPlannedObsolescence 3 месяца назад
por ejemplo en aws en ec2, se tiene un 4 nucleos, como configuras los hilos para cada docker container ? y que algun micro servicio container tenga mas prioridad de otro
@NetMentor
@NetMentor 3 месяца назад
cada nucleo son dos hilos, y respecto a docker, se puden configurar para que tengan mas o menos, pero si tienes mas de una app en EC2, o bien no necesitais EC2 o deberiais utilizar otras alternativas. (en mi opinion, sin saber lo que hay)
@cmargok
@cmargok 3 месяца назад
soy el comentario[0] :D
@jaaviladev
@jaaviladev 3 месяца назад
tengo una duda, en Entity Framework, tenia entendido que no se podia asincronismo como tal, es decir capturando la tarea para hacer otra consulta sin esperar a que la primera culmine, es correcto?
@juanmanuelorjuelaacosta3230
@juanmanuelorjuelaacosta3230 3 месяца назад
EF soporta async creo que desde la primera version de EF core
@jaaviladev
@jaaviladev 3 месяца назад
@@juanmanuelorjuelaacosta3230 Claro, entiendo que si se puede usar async pero no como se muestra en el video, es decir haciendo multiples consultas en "paralelo" sin esperar a que la primera termine, para ello antiguamente se creaba una instancia del dbcontext con using en cada consulta o usar lock para mantenerlo en uso único.
@NetMentor
@NetMentor 3 месяца назад
what? claro que se puede; no se que es lo que quieres decir, pero creo que estas mezclando cosas, el lock se hace para bloquear el acceso a recursos compartidos, ni idea de como teníás la bbdd, pero quizá era para hacer transacciones y teniais conexiónes directas con la bbdd en vez de usar EF o algo así.
@luisluzuriaga7361
@luisluzuriaga7361 Месяц назад
@@NetMentor Creo que se refiere a que las tares asíncronas son tareas de IO / bloqueantes, y que hasta hace pocas versiones (creo que ahora sí se puede), había métodos de entity framework que no implementaban ASYNC, como por ejemplo un Delete, o un Update, ya que se es una operación inmediata, ejecutar y ya, que no esperaba respuesta.
@_PulpoPaul
@_PulpoPaul 3 месяца назад
Que sistema operativo utilizas para programar en C#?
@josephmoreno9733
@josephmoreno9733 3 месяца назад
Yo uso Mac aunque lo detesto. Pero Windows tiene Visual Studio, pero .NET es cross platform. Un gran IDE es rider.
@NetMentor
@NetMentor 3 месяца назад
windows
@_PulpoPaul
@_PulpoPaul 3 месяца назад
@@NetMentor Finalmente no te gustó el paso a Arch? O que pasó con eso?
@NetMentor
@NetMentor 3 месяца назад
Paso que creo contenido y digan lo que digan a Linux le falta para estar al nivel de Windows o Mac :/ Cualquier problema en Arch son 10horas de buscar en foros 🤣
@caballerno
@caballerno 3 месяца назад
Tal vez está pregunta sea algo básica, pero esto también puede provocar que una aplicación se cierre de la nada? Saludos.
@asiergarcia9286
@asiergarcia9286 3 месяца назад
No, cuando un hilo se queda bloqueado simplemente la app se queda colgada y no puede recibir mas peticiones hasta que se libere y se van encolando Una forma muy sencilla de verlo es con una aplicación de escritorio que se queda pillada Cuando una app se cierra de la "nada" es porque ha ocurrido una excepción no controlada que hace que se pete la aplicación Para eso tendrias que poner un try catch global, si es web, pues en un middleware, aunque en asp eso esta controlado
@diegoimberti4398
@diegoimberti4398 3 месяца назад
Pero: “realmente” cuantos hilos puede soportar por ejemplo un servidor de una APII ? 10? Porque si tenemos un IIS con algún endpoint que tarde un par de segundos, un cálculo rápido me lleva a pensar que como mucho puede resolver 20 o 30 llamadas x minuto ??? Si a eso le sumamos que normalmente una Api Puede tener 20 o 30 metodos… y que a veces un servidor tiene 4 o 5 apis… es todo un desastre!! Cual es la solución?
@NetMentor
@NetMentor 3 месяца назад
dependerá del procesador, pero por ejemplo yo tengo un ryzen 7 y tienen 2 por núcleo, asi que 16. luego ten en cuenta que si tienes todo async/await los hilos se van liberando y no están esperando, asi que aunque tarde 2 segundos o 10 alomejor "en el código" pasan 50 ms.
@diegoimberti4398
@diegoimberti4398 3 месяца назад
@@NetMentor si: entiendo. Muchísimas gracias… otra vez
Далее
Aplicaciones con múltiples clientes
21:31
Просмотров 4,1 тыс.
¡Utilizas MAL la Asincronía!
10:21
Просмотров 23 тыс.
¡Adios a los IFs en Programación!
14:33
Просмотров 49 тыс.
La forma correcta de devolver errores de una API
16:30
AMD больше не конкурент для Intel
0:57