• matlag@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    What I don’t like with Matrix is the load it puts on the server. It basically copies 100% of a room content to any server having one or more users registered in the room.

    So if you’re on a small server, and one user decides to join a 10k+ large room, your server may collapse under the load as it tries to stay in sync with the room’s activity. This is deterrent to self-hosting or family/club/small party servers.

    XMPP, on the other hand, has proven to be highly scalable, has E2EE, federation and some bridging services.

    The only thing XMPP does NOT have is a single reference multiplatform client with all basic features for 2023 (1:1 chat, chat rooms, voice/video 1:1, and voice/video conference) than anyone can use without wondering if the features-set is the same as the persons you’re talking to.

    And while we’re there: I’m not even sure I want a messaging account linked to any of my Fediverse accounts…

    • smileyhead
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Room replication is not as big of a deal for server as it seems. But as server admin I can say Synapse is terrible at garbage collection, the database keeps growing and growing if you don’t make your special scripts to clean it.

    • Kalcifer@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      What I don’t like with Matrix is the load it puts on the server. It basically copies 100% of a room content to any server having one or more users registered in the room.

      Retroactively?? I’m sure that one could configure this to not be the case… no?

      So if you’re on a small server, and one user decides to join a 10k+ large room, your server may collapse under the load as it tries to stay in sync with the room’s activity.

      “Collapse” meaning what, exactly? Do you mean run out of storage from the volume of content, or that processing all the messages is too taxing?

      XMPP, on the other hand, has proven to be highly scalable

      How does it scale differently than Matrix?

      I’m not even sure I want a messaging account linked to any of my Fediverse accounts…

      Out of curiosity, why do you say this?

      • matlag@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        “Collapse” meaning what, exactly? Do you mean run out of storage from the volume of content, or that processing all the messages is too taxing?

        Years back, I setup a Synapse’s server on my personal server (Yunohost). At some point, I joined the “big” Matrix room. Bad idea: RAM and CPU usage went through the roof. I had to kill the server but even that took forever as the system was struggling with the load.

        But don’t just take my words for it:

        https://github.com/matrix-org/synapse/issues/7339

        Last comment is from less than one year ago. I was told things should be better with newer servers (Dendrite, Conduit, etc.), but I’ve not tried these yet. They’re still in development.

        How does it scale differently than Matrix?

        The Matrix protocol is a replication system: your server will have to process all events in the room one or more users attend(s) to. There is a benefit to this: you can’t shut down a room by shutting down any server: all the other ones are just as “primary” as the original. Drawback: your humble personal server is now on the hook.

        XMPP rooms are more conventional: a room is located on one server. That’s an “old” model, but it scales.

        https://www.ejabberd.im/benchmark/index.html

        That’s for the host. For other attendees, it’s much lower.

        I don’t think I atteld any public room out there with 3k users, so I can’t report my first hand experience, this is the best I found. But I never had to check for load issue on a small server (running Metronome and many more services).

        Out of curiosity, why do you say this?

        I don’t use the Fediverse the way I engage with individual people. If I want a closer relation with someone, I don’t want to be bound to yet-another-messenging system, let alone on multiple accounts

        And another reason is I may not want to be bothered by people I don’t know, regardless how much I could appreciate reading and/or exchanging with them in the Fediverse.

        Ignoring or declining requests from strangers can leave a lot to interpretation and then frustration. Remove the button and no one is tempted to press it the be disappointed with the outcome. Less drama.

        And that’s only considering well intended people.

        But these are my humble 2cents.

        • Kalcifer@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          “Collapse” meaning what, exactly? Do you mean run out of storage from the volume of content, or that processing all the messages is too taxing?

          Years back, I setup a Synapse’s server on my personal server (Yunohost). At some point, I joined the “big” Matrix room. Bad idea: RAM and CPU usage went through the roof. I had to kill the server but even that took forever as the system was struggling with the load.

          But don’t just take my words for it:

          https://github.com/matrix-org/synapse/issues/7339 […]

          It appears that issue is closed as per this comment:

          This should hopefully be significantly improved in the upcoming v1.36.0 release. I’m going to close this for now, if people still see issues after updating then feel free to make a new issue.

          So pehaps this issue that you are describing is now fixed?

          How does it scale differently than Matrix?

          […] XMPP rooms are more conventional: a room is located on one server. That’s an “old” model, but it scales. […]

          This only scales so long as the single server is able to keep up with all of the requests. In the replication, as you have described, all the instances sort of act like load balancers – they spread the individual requests, and concentrate them into single links between the instances.

          And another reason is I may not want to be bothered by people I don’t know, regardless how much I could appreciate reading and/or exchanging with them in the Fediverse.

          I think I see what you are getting at with this. Would it be like, for example, if your Lemmy account is also tied to Matrix, then someone on Lemmy could send you a request to talk on Matrix? Granted this could already be assumed to occur if one uses the same username for all of their accounts, but it could possbily be more of an issue if it was more directly integrated. That being said, I’m not sure how realistic this scenario would be since the Matrix protocol is completely independent of Activity Pub. The only connection between accounts that I can think of is OAuth.