• 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@discuss.tchncs.de
      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.