Publications de Benjamin Brabant

Évènement

Meetup PerfUG [20/11/2019] : Fine tuning Kafka, allons voir sous le capot !

Vous connaissez et utilisez d’ores et déjà sûrement Kafka dans votre système d’information… ou pas ! C’est un outil qui est extrêmement versatile, il peut aussi bien être utilisé pour comme une brique purement technique devant un agrégateur de logs ou à l’opposé être le système nerveux central de votre organisation et l’unique source de vérité des échanges métiers entre les services. Cette flexibilité offerte implique des modes d’utilisation différents et nous vous proposons de regarder sous le capot pour voir ou revoir le fonctionnement…

Lire la suite
Évènement

Meetup PerfUG [18/09/2019] : Implémentation de Spring Cache avec Couchbase

Lorsque des applications commencent à rencontrer des problèmes de performance, il est courant d'ajouter du cache. Des solutions "clé en main" existent mais ne répondent pas forcément à toutes les problématiques de votre entreprise. Nous allons voir via des exemples de codes comment la création d'un cache avec Spring Cache et Couchbase a permis de répondre aux besoins pour le backend TV de SFR. De la liste des contraintes jusqu'à la mise en production, nous allons aborder les différentes étapes du développement de ce cache…

Lire la suite
Évènement

Meetup PerfUG [27/03/2019] : Génération de code, moteur Catalyst… Démystifions Apache Spark !

Apache Spark est un framework de calcul distribué écrit en Scala qui s’est largement démocratisé ces dernières années. Au cours des dernières versions, Apache Spark s’est doté d’un moteur SQL avec génération de code à la volée, qui lui permet de profiter des diverses optimisations existantes dans le domaine. Afin de comprendre en détail le fonctionnement de ce moteur SQL, nous allons réécrire une version simplifiée mais fonctionnelle du moteur qui s’appuie sur le même principe que le moteur Catalyst utilisé par Spark : étape…

Lire la suite
Évènement

Meetup PerfUG [13/02/2019] : Servir des Maps à haute perf : Concepts, Bottlenecks, Optimisations et Tests à l’échelle

Si demain tu te mettais à vouloir servir des données géospatiales à des milliers de personnes, comment t'y prendrais-tu? Cette question là, on se l'est posée il y a 4 ans, et on a appris plein (plein) de choses. Viens découvrir ce qui se cache derrière le rendu de maps, les bottlenecks associés et des exemples d'optimisations qu'on a pu appliquer. Si tu en veux plus, on te présentera notre démarche de test de charge avec les embûches qu'on a pu découvrir lorsqu'on dépasse les…

Lire la suite
Évènement

Meetup PerfUG [16/01/2019] : Its Just Too Slow How to Deliver Fast and Beautiful Images & Video

The average website page weight is 50% images and 25% video. As the images and videos delivered to mobile devices get larger and larger, the load time of websites gets slower and slower. Further complicating matters, there are thousands of screens and devices with varying resolutions and CPU power that receive this content. In this talk, we’ll examine strategies to send the perfect image or video to every device, ensuring a fast, beautiful rendering of your content. We’ll look at how to test our content,…

Lire la suite
Évènement

Meetup PerfUG [21/11/2018] : Go(lang) soyez plus fort que le garbage collector grâce l’escape analysis

Les caractéristiques du langage Go sont multiples: la concurrence, le typage statique et sa gestion de la mémoire par Garbage Collector. Mais bien avant que ce Garbage Collector entre en jeu le compilateur Go optimise la gestion de la mémoire en fonction de votre code grâce à ce qu’on appelle l’escape analysis. Voyons ensemble comment optimiser votre code Go pour limiter l'empreinte mémoire et moins solliciter le garbage collector et donc le CPU. Grâce à ces explications vous pourrez enfin y voir plus clair lorsque…

Lire la suite
Évènement

Meetup PerfUG [17/10/2018] : Comprendre les GC sur la JVM : Mode Avancé !

Depuis quelques années, le monde du GC sur la JVM évolue : G1 est par défaut sur le JDK9, Shenandoah est mis à disposition par Red Hat, un nouveau GC entre dans l'OpenJDK depuis le JDK 11: ZGC et Azul C4 est toujours là. Comme les GC "classiques" sont plutôt bien compris maintenant, cette présentation s'attardera sur les arcanes des plus récents. Nous allons expliquer le concurrent marking (tri-color marking), les specificités de G1, la Load Value Barrier de C4, les Brooks pointers de Shenandoah…

Lire la suite