Willy Tarreau | d1142aa | 2007-01-07 13:03:59 +0100 | [diff] [blame] | 1 | Problème des connexions simultanées avec un backend |
| 2 | |
| 3 | Pour chaque serveur, 3 cas possibles : |
| 4 | |
| 5 | - pas de limite (par défaut) |
| 6 | - limite statique (maxconn) |
| 7 | - limite dynamique (maxconn/(ratio de px->conn), avec minconn) |
| 8 | |
| 9 | On a donc besoin d'une limite sur le proxy dans le cas de la limite |
| 10 | dynamique, afin de fixer un seuil et un ratio. Ce qui compte, c'est |
| 11 | le point après lequel on passe d'un régime linéaire à un régime |
| 12 | saturé. |
| 13 | |
| 14 | On a donc 3 phases : |
| 15 | |
| 16 | - régime minimal (0..srv->minconn) |
| 17 | - régime linéaire (srv->minconn..srv->maxconn) |
| 18 | - régime saturé (srv->maxconn..) |
| 19 | |
| 20 | Le minconn pourrait aussi ressortir du serveur ? |
| 21 | En pratique, on veut : |
| 22 | - un max par serveur |
| 23 | - un seuil global auquel les serveurs appliquent le max |
| 24 | - un seuil minimal en-dessous duquel le nb de conn est |
| 25 | maintenu. Cette limite a un sens par serveur (jamais moins de X conns) |
| 26 | mais aussi en global (pas la peine de faire du dynamique en dessous de |
| 27 | X conns à répartir). La difficulté en global, c'est de savoir comment |
| 28 | on calcule le nombre min associé à chaque serveur, vu que c'est un ratio |
| 29 | défini à partir du max. |
| 30 | |
| 31 | Ca revient à peu près à la même chose que de faire 2 états : |
| 32 | |
| 33 | - régime linéaire avec un offset (srv->minconn..srv->maxconn) |
| 34 | - régime saturé (srv->maxconn..) |
| 35 | |
| 36 | Sauf que dans ce cas, le min et le max sont bien par serveur, et le seuil est |
| 37 | global et correspond à la limite de connexions au-delà de laquel on veut |
| 38 | tourner à plein régime sur l'ensemble des serveurs. On peut donc parler de |
| 39 | passage en mode "full", "saturated", "optimal". On peut également parler de |
| 40 | la fin de la partie "scalable", "dynamique". |
| 41 | |
| 42 | => fullconn 1000 par exemple ? |
| 43 | |
| 44 | |