09:22 <grenoya> bonjour
        10:33 <misc> lo
        15:15 <marmoute> tarek: ping, vous avez déjà envisager pypy pour faire tourner vos service mozilla en Python /
        15:17 <tarek> marmoute: coucou. y en a un qui tourne avec (simplepush avec pypy et twisted)
        15:20 <marmoute> ha cool
        15:20 <marmoute> vous en êtes content ?
        15:23 <gawel> le seul truc c'est que mercurial rame avec pypy
        15:24 <tarek> marmoute: ca boost et c'est 10x plus petit en memoire que la meme appli en go
        15:25 <tarek> c'est une appi a la websocket - elle doit tenir des centaines de milliers de connections
        15:47 <marmoute> gawel: trop gros passera pas.
        15:47 <marmoute> cool
        15:52 <mandark> tarek: et ça tient des centaines de milliers de connections ? Je veux dire, techniquement, dépasser les 10k c'est pas évident, j'ai du code en C qui tient 25k à l'aise et j'ai pas eu l'occaz de monter plus haut, mais tenir "des centaines de milliers" en python ça tien réelement ou en théorie ?
        16:07 <tarek> mandark: oui oui sans soucis. c'est pas vraiment un probleme de language, c'est plus le tweaking OS. Mais le langage ajoute un peu d'overhead mémoire a la creation des sockets, et en go c'est enorme
        16:07 <mandark> tarek: ça dépend surtout de la méthode de polling
        16:07 <tarek> mandark: python est tres proche de l'appel systeme pour les sockets
        16:08 <mandark> Avec select ou poll, > 5000 connections c'est impossible
        16:08 <tarek> mandark: ca c'est autre chose, c'est la maniere de faire de l'I/O sur les sockets
        16:08 <mandark> Yep
        16:08 <mandark> tarek: tu tiens actuellement en prod > 200k connections ouvertes ?
        16:09 <tarek> 125k sur aws car ils nous limitent a ca
        16:09 <mandark> Oh ? J'ignorais qu'ils limitaient ^^
        16:09 <tarek> en pratique tu peux faire bcp plus sur ton propre hardware
        16:09 <tarek> c pas documenté
        16:10 <mandark> En pratique c'est pas si simple de dépasser les 100k connections, le kernel souffre avec la conf par défaut
        16:10 <mandark> Faut tweaker
        16:10 <mandark> Confer
        16:10 <tarek> c'est le plus gros boulot 
        16:10 <mandark> On est d'accord
        16:11 <tarek> y a des slides de urban airship qui donnent pleins de tuyaux. on est parti de ca
        16:12 <misc> ah oui, c'est important d'avoir plein de tuyau quand tu veux ajuster la plomberie 
        16:12 <mandark> Et la ou pour moi Python ne tiens pas c'est quand tu vas vouloir écrire sur les 100k sockets en même temps (un broadcast quoi) le goulot sera au niveau CPU ou RAM pour la rédaction de messages (plein de strings à allouer en Python)
        16:12 <mandark> Alors qu'en C je m'en sort en réutilisant des espaces mémoires dédiés à ma rédaction de messages, grosse réutilisation, donc peu d'écriture, peu de RAM
        16:13 <tarek> ah oui limiter la contention ca aide
        16:13 <mandark> Après ton usage n'est peut être pas d'envoyer un message a tout le monde en même temps :p
        16:13 <tarek> mais avec twisted+pypy c'est pas mal
        16:13 <mandark> Ok
        16:13 <tarek> non c pas notre use case
        16:14 <tarek> mais je pense que ca ce shard bien ton use case
        16:14 <mandark> Nous carrément on est un site de news, quand on publie, ça envoie le message a tout le monde, quand tu as 25k messages à rédiger et écrire sur les sockets, faut y aller :p
        16:14 <tarek> oueppe
        16:14 <tarek> mais si c le meme message c'est plus facile
        16:15 <mandark> Pour le moment on shard au niveau des sites, et ça tient, on dépasse rarement 25k connections par serveur
        16:15 <mandark> Donc ça va
        16:15 <mandark> Je pense pouvoir monter à 100k sans "trop" se souci j'ai de "la marge"
        16:15 <mandark> En théorie
        16:16 <tarek> on a été ehabis par les perfs de twisted avec pypy - je pense que ca tiens la comparaison avec le C
        16:16 <mandark> T'as des liens de urban airship sur le tweak de conf TCP au delà de 100k ?
        16:16 <tarek> mais bon, twisted c'est chiant
        16:16 <mandark> Ça pourra me servir ^^
        16:16 <tarek> https://www.urbanairship.com/blog/linux-kernel-tuning-for-c500k
        16:17 <mandark> Oh merci :)
        16:17 <tarek> y a ce blog post et qq part des slides
        16:18 <tarek> l'article de whatsapp aussi https://blog.whatsapp.com/2011/09/?
        16:18 <tarek> erm merde c'est pas ce lien
        16:18 <tarek> mais si tu fouilles tu trouveras des tweaks aussi
        16:19 <tarek> c'est fun comme taf :)
        16:21 <tarek> on a ecrit un outil de load testing specifique pour ce job
        16:29 <mandark> tarek: et ça m'intéresse car mon implém est vieille (pas de web socket pas de https) donc j'aimerai la changer mais pour ça foke je compare les perf
        16:41 <tarek> c'est dur a load tester. faut faire une charge distribuée assez massive
        16:44 <mandark> Yep :p
        16:47 <misc> bah, tu postes un lien "Half life 3 leaker copy" sur twitter, et tu l'as
        16:53 <tarek> mouarf
        17:15 <gawel> marmoute: qui ne tentes rien...
        17:20 <marmoute> gawel: et en pratique il y a de bonne chance que ça ai changer d'ici la fin de l'année
        17:41 <gawel> tu bluffes martoni!
        17:44 <misc> il dit qu'il voit pas le rapport 
        17:45 <marmoute> cochon d'inde
        21:20 <alain_afpy> matin
        23:04 <feth> alain_afpy: quelle tz ?
        23:04 <alain_afpy> feth: cool :) on va a nouveau pouvoir discuter philosophie
        23:04 <feth> \o/