Pour ceux que ça intéresse de voir comment ça se passe au niveau de la gestion du serveur : https://lemmy.world/post/1035095

!https://lemmy.world/post/1035095 (quelqu’un m’a dit d’essayer ça pour un autre fil, du coup je teste)

Assez intéressant de voir l’usage de la RAM, il y a clairement un souci de ce côté là, après c’est cool de voir qu’ils bossent avec des devs de Lemmy pour corriger le problème

  • Sphks@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    6
    ·
    1 year ago

    J’imagine que la priorité est de combler ces fuites mémoire. Que tous les grosses instances redémarrent chaque 30 minutes, c’est loin d’être idéal.

    De même, il était question de perte de messages entre instances. Et il n’y a aucun système de rattrapage. Lorsqu’un contenu n’est pas transmis d’une instance à l’autre suite à une erreur, il ne sera jamais transmis. Ce n’est pas absolument catastrophique comme fonctionnement, mais ça donne une idée du protocole : simple, mais avec des pertes.

    • Marud@lemmy.marud.fr
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Idéalement le protocole voudrait une myriade de petites instances au lieu de monolithes. Ils sont confrontés à ça aussi sur mastodon avec mastodon.social qui est désormais l’instance par défaut pour les inscriptions et qui centralise aussi beaucoup de problèmes

    • Tom Violence@lemmy.one
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      C’est vraiment des fuites mémoires ? En Rust ça semble difficile d’en faire, non ? Peut-être plus une politique de caching. (Pure spéculation.)

      • anansi@jlai.lu
        link
        fedilink
        Français
        arrow-up
        3
        ·
        1 year ago

        Rust ça rend difficile l’accès à la mémoire “illégale” genre segfault, ça n’empêche pas d’attribuer de la mémoire et de la gérer n’importe comment malheureusement.

      • Sphks@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Je ne connais pas Rust mais il suffit de créer des structures (ex. objets) sans les libérer.

        Un exemple connu en protocole réseau, c’est par exemple de dire “Boujour ça va ?” (SYN), recevoir “Bonjour ça va, et toi ?” (ACK), mais ne jamais répondre "Ça va. (SYN-ACK). https://fr.m.wikipedia.org/wiki/Three-way_handshake

        Et recommencer plein de fois. Le serveur va garder en mémoire une petite structure pour attendre la réponse et au bout d’un moment, être saturé. https://fr.m.wikipedia.org/wiki/SYN_flood