Tutoriel NodeJS/Golang/PHP : La concurrence sur PHP / NodeJS / Golang / Erlang

Поділитися
Вставка
  • Опубліковано 9 лис 2024

КОМЕНТАРІ • 51

  • @jeanluc5627
    @jeanluc5627 7 років тому +9

    J'adore ce type de vidéos, pour gérer les performances d'un serveur web 😌

  • @mikavoid
    @mikavoid 7 років тому +5

    Merci énormément! Je trouve ce type de vidéo super intéressant ! Personnellement je galère beaucoup à cause de ces questions, j'ai jamais travaillé sur des applications sur lesquelles j'ai vraiment eu besoin de réfléchir en terme de performance et de scalabilité. Merci et j'espère qu'il y aura d'autres vidéos comme celle là bientôt !

    • @grafikart
      @grafikart  7 років тому +9

      Peut être des vidéos sur la création d'un bot discord fera intervenir ce genre de notion (ou une vidéo elixir je ne sais pas encore ;))

    • @adamkenton2585
      @adamkenton2585 7 років тому

      Ca serait bien oui

  • @sesatech1733
    @sesatech1733 4 роки тому

    Comme toujours, merci à toi. Un vrai modèle pour ce corps de métier

  • @klaadys7175
    @klaadys7175 4 роки тому

    merci nous avons besoin de vous dans nos technique de développement

  • @BeRoots74
    @BeRoots74 7 років тому

    Très bonne présentation. Certains on apporté les réponses concernant Python et les difficulter présenté pour Node.js (aujourd'hui résolu). Personnellement je suis encore un peu jeune sous java pour vraiment oser prendre parole, mais perso j'utilise un framework (executor) pour faire du multithread et j'aimerai bien savoir ce qu'il en retourne donc pour Java.
    Espérons un retour d'information ici...
    Encore merci à tous.

  • @songokan
    @songokan 4 роки тому +1

    En Java, dans le cas d'un serveur HTTP "traditionnel" qui gère la spécification servlet tu as 1 thread qui gère 1 requête (le tout est optimisé via un pool de thread). Le concept d'event loop s'est aussi intégré à Java avec les frameworks Vert.x ou bien Spring Webflux (avec Netty comme container au lieu d' Apache Tomcat pour les applications Spring WebMvc traditionnels)

  • @28bits20
    @28bits20 6 років тому +8

    Ce serait génial si vous pouviez faire un tuto de golang :)

  • @sofos01
    @sofos01 7 років тому

    pour le PHP: si vous utilise les serveur Web Apache , il existe plusieurs mode de concurrence "MPM" : prefork (mode classic) , worker ( commen nginx) , event (comme nodejs) , ces modes on des influences sur la performance de notre serveur

  •  7 років тому

    T'as bien raison de parler de la complexité de l'asynchrone de node.js, mais je pense que le mécanisme de Promise a bien résolu ce problème. On a (enfin) un mot du langage qui permet de montrer qu'une tache bloquante vient d’être lancé et d'y joindre le code asynchrone à exécuter lorsqu'on aura le résultat.
    Ca reviendrait à dire que les lambdas manquent à java 1.7 en ne prenant pas en compte que java 1.8 l'intègre. Ce n'est qu'un exemple mais les langages évoluent et, même si on manipule le même concept derrière, la lisibilité s'est grandement améliorée

  • @rickert78
    @rickert78 7 років тому

    Merci pour cette nouvelle vidéo. Pour ma par je serai assez curieux de voir une comparaison de ces techno avec les 2 langages les plus utilisées encore C/C++ et JAVA :D

  • @aziz0x00
    @aziz0x00 6 років тому

    Mash'allah SUPER INTERESENT!! merci jonathan! merci!

  • @TheBonjourparis
    @TheBonjourparis 7 років тому +1

    trés intéressant merci est-il possible d'avoir plus de vidéos du même type ? fontionnement de la boucle d'événements JS, différences entre goroutines et thread... merci d'avance

  • @jauressah1082
    @jauressah1082 6 років тому

    Merci pour cette vidéo très instructive.

  • @MohamedIfadir
    @MohamedIfadir 7 років тому

    Go Erlang sont basé sur du CSP de tony hoare, go c'est par channel qui est définie sur un type, erlang c'est par Pid et mailbox du process, erlang tu doint faire ton propre loop et wait sur les message non blockante, en nodejs l'event loop et déja définie avec la libuv, mais erlang est purement fonctionelle

  • @aomo5293
    @aomo5293 7 років тому

    Merci à vous, Je vous souhaite bonne continuation ! merci à vous

  • @jeremux
    @jeremux 7 років тому

    Merci pour cette analyse !

  • @dzgoodgood9206
    @dzgoodgood9206 7 років тому

    Très instructif, merci :)

  • @kevinwamba
    @kevinwamba 7 років тому

    très bon concept de vidéo

  • @medbeji5428
    @medbeji5428 7 років тому +1

    Merci pour cette analyse ! par contre c'est quoi l'outil que vous utilisez pour faire le Benchmark "hey -c 100 -n 100 url etc.." ?

    • @guillaume1864
      @guillaume1864 6 років тому

      +1, je me pose la même question

    • @ScrubsFrance
      @ScrubsFrance 6 років тому

      En vrai c'est Apache Benchmark ;)

  • @Pierstoval
    @Pierstoval 7 років тому

    J'aime beaucoup cette vidéo, et ça m'a conduit à changer ma stack apache+mod_php par apache + php-fpm :)
    Par contre, tu dis "ça va-t-être" à chaque paragraphe, ça pique les oreilles. On dit "ça va être", il n'y a pas de liaison entre les deux. Désolé, grammar nazi inside.. :D

  • @dam_0166
    @dam_0166 7 років тому +1

    tu pourrais me dire ce que tu utilise sur ton linux (barre de tache et environnement graphique ...)

    • @grafikart
      @grafikart  7 років тому +1

      Yep j'ai détaillé un peu ma configuration ici : www.grafikart.fr/blog/mon-environnement

    • @dam_0166
      @dam_0166 7 років тому

      merci beaucoup

  • @henochangemichaellonzokoff6036

    Cc grafikart on a besoin de ce test en 2023

    • @grafikart
      @grafikart  Рік тому

      Rien n'a changé dans le fonctionnement des technologies présentées depuis

  • @zgmrvn
    @zgmrvn 7 років тому

    IntelliJ permet-il de faire tout ça de base (terminal, ssh) ou faut-il lui adjoindre une ribambelle de plugins ?

    • @grafikart
      @grafikart  7 років тому +2

      Je n'utilise pas IntelliJ dans cette vidéo mais directement mon terminal (terminator)

    • @zgmrvn
      @zgmrvn 7 років тому

      ah ok -_-', connaissais pas

  • @pierrenapoletano3889
    @pierrenapoletano3889 5 років тому

    Quel est le thème de vim qui est utilisé ?

  • @Ryu53898
    @Ryu53898 5 років тому

    Php n’a pas de serveur intégré ?

    • @grafikart
      @grafikart  5 років тому

      Le serveur intégré de PHP est réservé pour le développement

  • @jeanclaudescandale
    @jeanclaudescandale 7 років тому

    et donc du coup pas d'info sur Erlang ...

  • @Mezklador
    @Mezklador 7 років тому +7

    Euh... Désolé de chipoter mais la traduction de "pool" par "piscine" - ce qui est très mignon par ailleurs - est incorrecte : sachant que PHP-FPM gèrent des "workers", les "pools" sont en fait des "regroupements" - au sens "équipe"... Parce que franchement, "piscine", dans ce contexte, ça n'a pas vraiment de sens (à part pour les remouds ?)

    • @Mezklador
      @Mezklador 7 років тому +1

      Certes le premier résultat dans Google Trad, c'est "piscine" mais c'est pas la bonne occurrence...

    • @Mezklador
      @Mezklador 7 років тому

      Sinon, chaud patate ici pour une découverte simultanée avec GoLang, que je trouve hyper fascinant. Elixir aussi a bien des charmes qui méritent qu'on s'y intéressent...

    • @fablouping5292
      @fablouping5292 7 років тому

      www.wordreference.com/enfr/pool
      pool n (group: workers, applicants, etc.) (groupe de travailleurs, anglicisme) pool nm
      groupe nm
      équipe nf
      There is a large pool of applicants for this job. Sarah was a member of the typing pool.
      Sarah faisait partie du pool des dactylographes.

    • @Mezklador
      @Mezklador 7 років тому

      Fabien Plart c'est ça. mais faut bien trouver un terme en français plutôt que lâcher un vulgaire anglicisme, non ?

    • @grafikart
      @grafikart  7 років тому +3

      Yep dans le futur j'utiliserais groupe ça traduit bien le concept ^^

  • @neolectron
    @neolectron 7 років тому

    php a un serveur web de dev integré :/

    • @grafikart
      @grafikart  7 років тому +5

      Ce serveur n'est absolument pas conçu pour de la production

  • @neolectron
    @neolectron 7 років тому

    les tests sont biaisés car le CPU monte a 100%. donc t'es capé en ressources peut importe le coté sync/async du language. faudrait refaire la meme chose avec un cpu plus grand. ou des tests moins lourds. car là c'est le hardware qui limite le test.

    • @grafikart
      @grafikart  7 років тому

      C'est voulu, le but est de comparer le bénéfice obtenu lors de l'I/O ou le processeur peut effectivement faire des choses en attendant et le cas ou le code est intensif niveau CPU.