T E MA 6 CUE L L OS DE BOT E L L A Introducción - Las pres taciones no s on las es peradas . - Uno o varios s ervidores no s on capaces de abas tecer las peticiones que les llegan. - S u utilización es del 100% . - Las peticiones que les llegan pierden tiempo es perando. - Mejoras en el s is tema que no afectan al recurs o res pons able del cuello de botella no mejorarán las pres taciones . Cuellos de botella - Al tratar un CB pueden aparecer otros . Habrá que ir tratándolos has ta que el s is tema quede equilibrado. - Los CB no dependen únicamente de la configuración. S on función también de la carga. - Hay CB temporales que aparecen un corto periodo de tiempo res pecto a la s es ión de medida. - Los CB temporales es difícil eliminarlos analizando, en diferido, los datos regis trados anteriormente. - Para los CB temporales s e recomiendan métodos de monitorización y toma de decis iones en tiempo real (on-line). T erapias - Al detectar un CB hay que evaluar las cons ecuencias y cos te de las pos ibles terapias . - Modificaciones HW. R eemplazar o ampliar componentes HW. T erapias de repos ición (upgrading). - Modificaciones que tienen efecto en la organización del s is tema. T erapias de s intonización (tuning). - Las s intonizaciones s uelen s er más baratas . - E n las repos iciones deberíamos tener alguna garantía s obre el res ultado ⇒ utilización de modelos s imulados o analíticos . Los modelos analíticos permiten por un lado detectar los Cbs y por otro predecir las mejoras que s e obtendrían con diferentes s oluciones . L ímites asintóticos - Método analítico que permite ver los límites de productividad y tiempo de res pues ta del s is tema en función de la intens idad de la carga. - R ecomendable para evaluar diferentes configuraciones o pos ibles repos iciones . - S e bas an en la teoría de redes de colas . - Nos limitaremos a una s ola clas e de clientes . - S uponemos que la demanda de s ervicio de un cliente a una es tación no depende de las demandas a es a es tación ni a otras . S e bus ca un límite s uperior e inferior de las pres taciones que obtendrá el s is tema. Al aplicar una terapia veremos como s e modifican es tos límites y por tanto qué impacto pueden tener las mejoras que vamos a aplicar. P arámetros - K, número de es taciones de s ervicio. - Dmax, la mayor de las demandas de s ervicio de entre las diferentes es taciones . - D, la s uma de las demandas de s ervicio en las es taciones . (s uma de las demandas de un cliente a todas las es taciones ). - Z , tiempo medio de pens ar (s is temas interactivos ). E l dis pos itivo que tenga la máxima demanda s erá el candidato a s er el CB. S erá el que antes llegará a una utilización del 100% (s aturación). L ímites asintóticos en cargas transaccionales a) P roductividad: - E l límite de la productividad indica la tas a máxima de llegada de clientes que el s is tema puede proces ar s atis factoriamente. A partir de es e punto el s is tema es tá s aturado. - Para la es tación k, U k = X kS k (Ley de la utilización). - X k = λ Dk - S i una U k = 1 ⇒ no podremos proces ar una carga mayor. - La es tación k, con U k = 1 s erá el CB. - X s e limita a la λ que s atura alguna es tación. - U max(λ ) = λ Dmax ≤ 1, s i U max(λ ) = 1 ⇒ λ s at = 1 / Dmax Los parámetros que utilizaremos para evaluar las pres taciones s erán la productividad y el tiempo de res pues ta. La tas a de llegadas que s atura el s is tema es 1 / Dmax E s ta tas a de llegadas dará la productividad máxima alcanzable con una determinada carga, recurs os y configuración. b) T iempo de respuesta: - E l cas o más favorable, s ólo hay un trabajo en el s is tema. E l tiempo de res pues ta es la s uma de las demandas de s ervicio D. - Pero cas o (cuando s e s obrepas a la s aturación), a partir de es te momento no hay límite en el tiempo de res pues ta. L ímites asintóticos en cargas interactivas a) P roductividad: - U k(N) = X(N) Dk ≤ 1, los recurs os dan una utilización para un número de clientes . - X(N) ≤ 1 / Dmax, (límite para carga pes ada). - S i s ólo hay un cliente. La productividad s erá 1 /(D+Z ) donde D es la s uma de las demandas de s ervicio en las diferentes es taciones . Con N clientes , N / (D+Z ). - Los s iguientes clientes que van llegando es peran (N-1) D unidades en las colas . - La productividad s erá N / (ND+Z ), s e proces an N clientes con tiempo (ND+Z ). - (N / (ND+Z )) ≤ X(N) ≤ min(1/Dmax, N / (D+Z )). - N * /(D+Z ) = 1 / Dmax ⇒ N* = (D+Z ) / Dmax, N* punto de s aturación. (N/(ND+Z ) ≤ X(N) ⇒ Cas o en el que todos los clientes piden el mis mo recurs o a la vez. X(N) ≤ N/(D+Z ) ⇒ E s el cas o más óptimo en el que todas las peticiones a los recurs os s e s olapan completamente. No s e hace ninguna cola. X(N) ≤ 1/Dmax ⇒ Un recurs o s e ha s aturado. La productividad no podrá crecer más . A partir de es ta carga empiezan a producirs e colas (al menos en el recurs o s aturado). b) T iempo de respuesta: - Ley de Little N = XR : (N/(ND+Z ) ≤ (N/(R (N)+Z )) ≤ min(1/Dmax, N/(D+Z )) - max (Dmax, (D+Z )/N) ≤ ((R (N)+Z )/N) ≤ ((ND+Z )/N) - max (D, NDmax-Z ) ≤ R (N) ≤ ND - Con Z =0 tenemos los límites para cargas Batch. - D ≤ R (N) ⇒ S i no hubies e colas . - (NDmax-Z ) ≤ R (N) ⇒ S i s olamente limitas e la velocidad el recurs o cuello de botella - R (N) ≤ ND ⇒ S e s irven con anterioridad todos los demás clientes .