{"id":15167,"date":"2026-11-06T11:22:25","date_gmt":"2026-11-06T08:22:25","guid":{"rendered":"https:\/\/vasexperts.com\/?p=15167"},"modified":"2026-11-06T12:47:52","modified_gmt":"2026-11-06T09:47:52","slug":"inside-gtpcproxy","status":"publish","type":"post","link":"https:\/\/vasexperts.com\/fr\/blog\/mobile-networks\/inside-gtpcproxy\/","title":{"rendered":"GTPCProxy de l&rsquo;int\u00e9rieur : 348 000 Modify Bearer par seconde et des sessions qui r\u00e9sistent aux pannes"},"content":{"rendered":"<a href=\"\/fr\/blog\/mobile-networks\/any-vendors-pgw-no-core-network-replacement\/\">Dans notre pr\u00e9c\u00e9dent article, nous avons pr\u00e9sent\u00e9<\/a> ce que sait faire GTPCProxy ; regardons maintenant \u00e0 l\u2019int\u00e9rieur pour d\u00e9tailler son architecture et les r\u00e9sultats des mesures.\r\n \r\n<h2>Un c\u0153ur multithread sans structures partag\u00e9es<\/h2>\r\n \r\nL\u2019id\u00e9e principale est que les threads de travail du proxy ne se g\u00eanent pas mutuellement. Toutes les sessions de GTPCProxy sont r\u00e9parties en 1 024 partitions. Chaque partition est attribu\u00e9e \u00e0 un seul thread de travail, et un thread dessert de nombreuses partitions.\r\n \r\nIl n\u2019existe aucune structure modifiable partag\u00e9e entre plusieurs threads. Les threads de travail n\u2019ont donc pas \u00e0 coordonner l\u2019acc\u00e8s aux donn\u00e9es, et chaque nouveau thread ajoute de la performance presque sans perte. Les mesures le confirment : \u00e0 50 % de la charge maximale, aucun blocage des threads de travail n\u2019a \u00e9t\u00e9 enregistr\u00e9 sur une minute.\r\n \r\nLes r\u00e9ponses des passerelles <a href=\"\/fr\/products\/pgw\/\">PGW<\/a> et les messages de v\u00e9rification Echo, qui permettent au proxy de savoir qu\u2019une passerelle est vivante, passent par une file d\u2019attente distincte, et non avec les nouvelles requ\u00eates. Ainsi, m\u00eame en pic de charge, les r\u00e9ponses sont trait\u00e9es sans d\u00e9lai et les v\u00e9rifications respectent le temps imparti. Le proxy ne prendra pas une passerelle op\u00e9rationnelle pour une passerelle en panne simplement parce qu\u2019il \u00e9tait lui-m\u00eame occup\u00e9.\r\n \r\nSi le proxy est malgr\u00e9 tout surcharg\u00e9, il traite les messages par ordre d\u2019importance. Les messages relatifs aux sessions d\u00e9j\u00e0 \u00e9tablies passent en premier, puis les demandes de nouvelles connexions. Ainsi, les abonn\u00e9s d\u00e9j\u00e0 connect\u00e9s ne p\u00e2tissent pas d\u2019un afflux de nouveaux abonn\u00e9s.\r\n \r\n<h2>Mise \u00e0 l\u2019\u00e9chelle verticale : r\u00e9sultats des mesures<\/h2>\r\n \r\nLe proxy enregistre l\u2019\u00e9tat de chaque session dans Redis, une base de donn\u00e9es rapide qui conserve tout en m\u00e9moire vive. Il peut s\u2019agir d\u2019un seul serveur Redis ou d\u2019un cluster dans lequel chaque n\u0153ud dispose d\u2019une copie de secours (r\u00e9plique).\r\n \r\n[important]\r\nNous recommandons ce sch\u00e9ma\r\n \r\nChaque thread de travail dispose de son propre canal d\u2019\u00e9criture vers le stockage et de son propre n\u0153ud principal Redis avec r\u00e9plique.[\/important]\r\n \r\nAvec ce sch\u00e9ma, nous avons mesur\u00e9 combien de requ\u00eates Modify Bearer le proxy traite de fa\u00e7on continue et sans erreur. (Modify Bearer est une requ\u00eate de modification des param\u00e8tres d\u2019une session d\u2019abonn\u00e9 d\u00e9j\u00e0 existante) :\r\n \r\n<table>\r\n<tbody>\r\n<tr><td><strong>Threads de travail<\/strong><\/td><td><strong>Modify Bearer par seconde<\/strong><\/td><td><strong>Progression par rapport \u00e0 la ligne pr\u00e9c\u00e9dente<\/strong><\/td><\/tr>\r\n<tr><td>1<\/td><td>87 812<\/td><td>\u2014<\/td><\/tr>\r\n<tr><td>2<\/td><td>180 625<\/td><td>\u00d7 2,06<\/td><\/tr>\r\n<tr><td>4<\/td><td>348 203<\/td><td>\u00d7 1,93<\/td><\/tr>\r\n<\/tbody>\r\n<\/table>\r\n \r\nEn passant d\u2019un \u00e0 deux threads, la capacit\u00e9 a \u00e9t\u00e9 multipli\u00e9e par 2,06, et de deux \u00e0 quatre, par 1,93. Quatre threads traitent 348 203 requ\u00eates par seconde. C\u2019est 0,9 % de moins que quatre fois la capacit\u00e9 d\u2019un seul thread (351 248).\r\n \r\nLa latence a \u00e9t\u00e9 mesur\u00e9e sur quatre threads \u00e0 90 % de la charge maximale pendant 30 minutes. R\u00e9sultats :\r\n \r\n<ul>\r\n<li>p50 : 0,10 ms,<\/li>\r\n<li>p99 : 0,33 ms,<\/li>\r\n<li>p99,9 : 0,56 ms.<\/li>\r\n<\/ul>\r\n \r\nEn 30 minutes, le proxy a trait\u00e9 563 776 014 transactions sans erreur ni perte. La m\u00e9moire du processus a augment\u00e9 de 7,9 Mo sur cette p\u00e9riode.\r\n \r\nPour les petits r\u00e9seaux, un Redis unique suffit. Mais un Redis unique limite la capacit\u00e9. Le proxy traite alors environ 105 000 requ\u00eates Modify Bearer par seconde, et l\u2019ajout de threads de travail n\u2019augmente pas ce chiffre.\r\n \r\nSi l\u2019on attribue \u00e0 un cluster Redis autant de c\u0153urs de processeur qu\u2019\u00e0 un serveur unique, la capacit\u00e9 du proxy baisse d\u2019environ 21 \u00e0 22 %. En revanche, si chaque n\u0153ud principal du cluster dispose de son propre c\u0153ur, la performance augmente avec le nombre de threads de travail du proxy.\r\n \r\n<h2>Mise \u00e0 l\u2019\u00e9chelle horizontale et redondance via BGP<\/h2>\r\n \r\nPour que le proxy ne devienne pas un point de d\u00e9faillance unique, ses instances sont regroup\u00e9es. Chaque groupe poss\u00e8de sa propre adresse IP (\/32), que les instances annoncent via <a href=\"\/fr\/resources\/glossary\/bgp\/\">BGP<\/a> comme joignable par leur interm\u00e9diaire. L\u2019instance active annonce l\u2019adresse avec la meilleure route, l\u2019instance de secours avec une route moins bonne : le trafic va donc vers l\u2019instance active.\r\n \r\n<noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/11\/proxy_failover_redis_en.svg\" alt=\"proxy failover redis\" width=\"100%\" height=\"auto\" class=\"alignnone size-full wp-image-15179\"><\/noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/11\/proxy_failover_redis_en.svg\" alt=\"proxy failover redis\" width=\"100%\" height=\"auto\" class=\"alignnone size-full wp-image-15179 lazyload\" data-src=\"\/wp-content\/uploads\/2026\/11\/proxy_failover_redis_en.svg\">\r\nFigure : Les n\u0153uds voisins s\u2019adressent toujours \u00e0 une seule adresse de groupe. C\u2019est BGP qui d\u00e9cide quelle instance r\u00e9pond, et les deux lisent les sessions dans le m\u00eame Redis.\r\n \r\n<h3>Panne du proxy ou du serveur<\/h3>\r\n \r\nUn programme distinct, le watchdog BGP, surveille le processus du proxy. Il le v\u00e9rifie une fois par seconde. Si une instance est d\u00e9faillante pendant plus de 10 secondes, le watchdog cesse d\u2019annoncer son adresse et le trafic bascule vers l\u2019instance de secours. L\u2019instance ne peut reprendre du service qu\u2019apr\u00e8s 30 secondes de fonctionnement stable. Ainsi, une instance instable ne dispara\u00eet pas et ne r\u00e9appara\u00eet pas sans cesse.\r\n \r\nSi c\u2019est tout le serveur ou sa connexion r\u00e9seau qui tombe en panne, le m\u00e9canisme BFD se d\u00e9clenche. Il d\u00e9tecte la coupure en 900 ms, apr\u00e8s trois v\u00e9rifications manqu\u00e9es \u00e0 intervalles de 300 ms. L\u2019adresse passe alors \u00e0 l\u2019instance de secours.\r\n \r\n<h3>Pourquoi les sessions ne sont pas perdues<\/h3>\r\n \r\nLorsqu\u2019elle re\u00e7oit un message relatif \u00e0 une session, l\u2019instance de secours lit l\u2019\u00e9tat de cette session dans Redis \u00e0 partir de l\u2019identifiant de tunnel (TEID).\r\n \r\nLes n\u0153uds voisins ne remarquent pas non plus la bascule. Chaque n\u0153ud communique \u00e0 ses voisins son compteur de red\u00e9marrages (Recovery). Si le compteur change, le voisin consid\u00e8re que le n\u0153ud a red\u00e9marr\u00e9 et supprime les sessions qui lui sont associ\u00e9es. Toutes les instances d\u2019un groupe ont la m\u00eame valeur Recovery : le SGW et le PGW ne prennent donc pas la bascule pour un red\u00e9marrage, et les sessions sont conserv\u00e9es.\r\n \r\n<h3>Panne de Redis<\/h3>\r\n \r\nEn cas de panne du n\u0153ud principal Redis, ses fonctions passent \u00e0 la r\u00e9plique. Lors d\u2019une s\u00e9rie d\u2019essais avec une charge de 6 020 requ\u00eates de cr\u00e9ation de connexion par seconde, la bascule a pris au maximum 2,03 s.\r\n \r\n<h3>Red\u00e9marrage du proxy<\/h3>\r\n \r\nLe red\u00e9marrage du proxy n\u2019interrompt pas les connexions. Le processus d\u00e9marre en environ 0,135 s (m\u00e9diane), puis lit l\u2019\u00e9tat des sessions dans Redis. Un thread de travail bloqu\u00e9 est red\u00e9marr\u00e9 par le temporisateur watchdog du thread, un m\u00e9canisme distinct, sans lien avec le watchdog BGP. Lors d\u2019un arr\u00eat planifi\u00e9, le proxy r\u00e9pond d\u2019abord aux transactions en cours.\r\n \r\n<h3>Comment augmenter la capacit\u00e9<\/h3>\r\n \r\nPour desservir davantage d\u2019abonn\u00e9s, on ajoute de nouveaux groupes de proxy. Leurs adresses sont inscrites dans le <a href=\"\/fr\/resources\/glossary\/dns\/\">DNS<\/a> pour les points d\u2019acc\u00e8s (APN) concern\u00e9s. Tous les groupes fonctionnent avec un m\u00eame cluster Redis.\r\n \r\n<table>\r\n<tbody>\r\n<tr><td><strong>\u00c9v\u00e9nement<\/strong><\/td><td><strong>Mode de d\u00e9tection<\/strong><\/td><td><strong>D\u00e9lai<\/strong><\/td><\/tr>\r\n<tr><td>D\u00e9faillance du processus proxy<\/td><td>Watchdog BGP, v\u00e9rification une fois par seconde<\/td><td>Adresse retir\u00e9e au bout de 10 s<\/td><\/tr>\r\n<tr><td>Panne du serveur ou du r\u00e9seau<\/td><td>BFD, intervalle de 300 ms, 3 \u00e9checs<\/td><td>900 ms<\/td><\/tr>\r\n<tr><td>Remise en service de l\u2019instance<\/td><td>Watchdog BGP<\/td><td>Apr\u00e8s 30 s de fonctionnement stable<\/td><\/tr>\r\n<tr><td>Panne du n\u0153ud principal Redis<\/td><td>Bascule vers la r\u00e9plique<\/td><td>Jusqu\u2019\u00e0 2,03 s<\/td><\/tr>\r\n<tr><td>D\u00e9marrage du processus proxy<\/td><td>\u2014<\/td><td>0,135 s (m\u00e9diane)<\/td><\/tr>\r\n<\/tbody>\r\n<\/table>\r\n \r\n<h2>VNF ou CNF<\/h2>\r\n \r\nLe proxy est propos\u00e9 en deux variantes. La redondance y fonctionne de la m\u00eame mani\u00e8re ; seuls changent l\u2019endroit et la mani\u00e8re dont le proxy est ex\u00e9cut\u00e9. La premi\u00e8re variante est une machine virtuelle (VNF), la seconde des conteneurs dans Kubernetes (CNF).\r\n \r\n<table>\r\n<tbody>\r\n<tr><td><\/td><td><strong>Machine virtuelle (VNF)<\/strong><\/td><td><strong>Kubernetes (CNF)<\/strong><\/td><\/tr>\r\n<tr><td>Plateforme<\/td><td>VEOS 8<\/td><td>Kubernetes<\/td><\/tr>\r\n<tr><td>Source d\u2019installation<\/td><td>Deux paquets RPM<\/td><td>Image construite \u00e0 partir des m\u00eames paquets RPM, et chart Helm<\/td><\/tr>\r\n<tr><td>Mode d\u2019ex\u00e9cution<\/td><td>Service syst\u00e8me (systemd)<\/td><td>StatefulSet, deux pods par groupe<\/td><\/tr>\r\n<tr><td>Qui annonce l\u2019adresse du groupe<\/td><td>FRR et le watchdog BGP<\/td><td>FRR dans le pod du proxy<\/td><\/tr>\r\n<tr><td>Ressources et param\u00e8tres<\/td><td>\u2014<\/td><td>Affectation statique des c\u0153urs de processeur, configuration dans ConfigMap et Secret<\/td><\/tr>\r\n<\/tbody>\r\n<\/table>\r\n \r\nLa machine virtuelle se met \u00e0 jour avec la commande dnf upgrade. On met d\u2019abord \u00e0 jour l\u2019instance de secours, puis l\u2019instance active.\r\n \r\n<h2>Supervision et administration<\/h2>\r\n \r\nLes m\u00e9triques Prometheus couvrent les messages, les transactions, les pannes, ainsi que l\u2019\u00e9tat des PGW et du stockage. Des tableaux de bord Grafana pr\u00eats \u00e0 l\u2019emploi sont int\u00e9gr\u00e9s \u00e0 l\u2019interface web du proxy. On y trouve aussi des indicateurs de synth\u00e8se, les tableaux des PGW et des pools, la recherche de session et sa fiche d\u00e9taill\u00e9e, y compris avec les param\u00e8tres des r\u00e9seaux 2G\/3G (GTPv1).\r\n \r\nL\u2019interface reste rapide m\u00eame avec un grand nombre de sessions. Avec 100 000 sessions, la premi\u00e8re page de la liste s\u2019ouvre en 6,9 ms, et la recherche par num\u00e9ro de carte SIM (IMSI) prend 0,4 ms.\r\n \r\nLes param\u00e8tres sont r\u00e9partis sur deux niveaux.\r\n \r\n<ul>\r\n<li><strong>Le fichier gtpcp.yaml<\/strong> concerne le proxy lui-m\u00eame. Il d\u00e9finit les adresses, le nombre de threads, l\u2019affectation aux c\u0153urs de processeur et les param\u00e8tres du stockage.<\/li>\r\n<li><strong>Le document de routage<\/strong> concerne le traitement des abonn\u00e9s. Il d\u00e9finit les pools de passerelles, les r\u00e8gles de s\u00e9lection, les poids, les v\u00e9rifications d\u2019\u00e9tat des PGW et la substitution de param\u00e8tres.<\/li>\r\n<\/ul>\r\n \r\nLe document de routage peut \u00eatre modifi\u00e9 sans red\u00e9marrer le proxy, via des formulaires ou sous forme de texte dans l\u2019interface web. Avant de l\u2019appliquer, le proxy valide la nouvelle version. Si elle contient une erreur, le proxy continue de fonctionner avec la version actuelle. Il est toujours possible de revenir \u00e0 la version pr\u00e9c\u00e9dente. Les droits sont r\u00e9partis entre deux r\u00f4les : administrateur et observateur.\r\n \r\n<h2>Conclusion<\/h2>\r\n \r\nGTPCProxy augmente ses performances gr\u00e2ce \u00e0 de nouveaux c\u0153urs de processeur et de nouveaux groupes de proxy, et conserve l\u2019\u00e9tat des sessions s\u00e9par\u00e9ment, dans Redis. C\u2019est pourquoi la bascule vers l\u2019instance de secours passe inaper\u00e7ue pour le SGW et le PGW, qui n\u2019ont rien \u00e0 faire pour cela.\r\n \r\nVous pouvez le v\u00e9rifier sur vos propres SGW, SGSN et PGW en laboratoire. VAS Experts fournit un pack d\u2019essais comprenant la configuration, les sc\u00e9narios et un ensemble d\u2019outils de collecte de traces. Contactez-nous pour planifier la validation.\r\n\r\n[product id=\u00a0\u00bb11736\u2033 type=\u00a0\u00bbdark\u00a0\u00bb]","protected":false},"excerpt":{"rendered":"<p>Au-del\u00e0 de la liste des fonctions de GTPCProxy, l&rsquo;ing\u00e9nieur c\u0153ur de r\u00e9seau et l&rsquo;\u00e9quipe d&rsquo;exploitation doivent comprendre comment il se comporte sous charge, en cas de panne d&rsquo;un n\u0153ud et pendant la nuit, lorsqu&rsquo;aucun ing\u00e9nieur d&rsquo;astreinte n&rsquo;est \u00e0 proximit\u00e9.<\/p>\n","protected":false},"author":7,"featured_media":15192,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[102],"tags":[],"class_list":["post-15167","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile-networks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>GTPCProxy de l&#039;int\u00e9rieur : 348 000 Modify Bearer par seconde et des sessions qui r\u00e9sistent aux pannes - VAS Experts<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/\",\"url\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/\",\"name\":\"GTPCProxy : architecture, mesures et redondance via BGP \u2014 VAS Experts\",\"isPartOf\":{\"@id\":\"https:\/\/vasexperts.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp\",\"datePublished\":\"2026-11-06T08:22:25+00:00\",\"dateModified\":\"2026-11-06T09:47:52+00:00\",\"author\":{\"@id\":\"https:\/\/vasexperts.com\/#\/schema\/person\/e437e05016391b857d85b493b3173d59\"},\"description\":\"D\u00e9couvrez comment GTPCProxy monte en charge par c\u0153urs et par groupes, stocke les sessions dans Redis et bascule en 900 ms sans que le SGW ni le PGW le remarquent\",\"breadcrumb\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp\",\"contentUrl\":\"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp\",\"width\":850,\"height\":354,\"caption\":\"Inside GTPCProxy\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/vasexperts.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Inside GTPCProxy: 348,000 Modify Bearer Requests per Second and Sessions That Survive Failures\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vasexperts.com\/#website\",\"url\":\"https:\/\/vasexperts.com\/\",\"name\":\"VAS Experts\",\"description\":\"VAS Experts\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\/\/vasexperts.com\/#organization\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vasexperts.com\/#\/schema\/person\/e437e05016391b857d85b493b3173d59\",\"name\":\"Elena Rudich\",\"url\":\"https:\/\/vasexperts.com\/fr\/blog\/author\/elena-rudich\/\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vasexperts.com\/#organization\",\"name\":\"VAS Experts\",\"url\":\"https:\/\/vasexperts.com\/\",\"logo\":\"https:\/\/vasexperts.com\/assets\/img\/svg\/logo.svg\",\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/vas-experts\",\"https:\/\/www.youtube.com\/channel\/UCGYfhhZvmE2XbrCyerzRbGA\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GTPCProxy de l'int\u00e9rieur : 348 000 Modify Bearer par seconde et des sessions qui r\u00e9sistent aux pannes - VAS Experts","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/","url":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/","name":"GTPCProxy : architecture, mesures et redondance via BGP \u2014 VAS Experts","isPartOf":{"@id":"https:\/\/vasexperts.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage"},"image":{"@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp","datePublished":"2026-11-06T08:22:25+00:00","dateModified":"2026-11-06T09:47:52+00:00","author":{"@id":"https:\/\/vasexperts.com\/#\/schema\/person\/e437e05016391b857d85b493b3173d59"},"description":"D\u00e9couvrez comment GTPCProxy monte en charge par c\u0153urs et par groupes, stocke les sessions dans Redis et bascule en 900 ms sans que le SGW ni le PGW le remarquent","breadcrumb":{"@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage","url":"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp","contentUrl":"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp","width":850,"height":354,"caption":"Inside GTPCProxy"},{"@type":"BreadcrumbList","@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/vasexperts.com\/"},{"@type":"ListItem","position":2,"name":"Inside GTPCProxy: 348,000 Modify Bearer Requests per Second and Sessions That Survive Failures"}]},{"@type":"WebSite","@id":"https:\/\/vasexperts.com\/#website","url":"https:\/\/vasexperts.com\/","name":"VAS Experts","description":"VAS Experts","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/vasexperts.com\/#organization"}},{"@type":"Person","@id":"https:\/\/vasexperts.com\/#\/schema\/person\/e437e05016391b857d85b493b3173d59","name":"Elena Rudich","url":"https:\/\/vasexperts.com\/fr\/blog\/author\/elena-rudich\/"},{"@type":"Organization","@id":"https:\/\/vasexperts.com\/#organization","name":"VAS Experts","url":"https:\/\/vasexperts.com\/","logo":"https:\/\/vasexperts.com\/assets\/img\/svg\/logo.svg","sameAs":["https:\/\/www.linkedin.com\/company\/vas-experts","https:\/\/www.youtube.com\/channel\/UCGYfhhZvmE2XbrCyerzRbGA"]}]}},"_links":{"self":[{"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/posts\/15167"}],"collection":[{"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/comments?post=15167"}],"version-history":[{"count":7,"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/posts\/15167\/revisions"}],"predecessor-version":[{"id":15180,"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/posts\/15167\/revisions\/15180"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/media\/15192"}],"wp:attachment":[{"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/media?parent=15167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/categories?post=15167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vasexperts.com\/fr\/wp-json\/wp\/v2\/tags?post=15167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}