• XL☑@feddit.de
      link
      fedilink
      Deutsch
      arrow-up
      15
      ·
      edit-2
      1 year ago

      Ich hab’ nen Account auf lemmy.world und die mussten ganz schön zaubern, um die Instanz bei so vielen Benutzern noch halbwegs funktional zu halten. Gerade wurde auf die aktuellen Release Candidates von 0.18.1 migriert und da laufen jetzt mehrere Docker-Container für die UI und das Backend und ein dedizierter Container nur für den Scheduler mit nginx als Load Balancer dazwischen …

      • nachtigall@feddit.de
        link
        fedilink
        Deutsch
        arrow-up
        10
        ·
        1 year ago

        Gibt es irgendwo eine Erläuterung zu deren Infrastruktur? Wäre interessant, falls es bei uns irgendwann mal (deutlich) mehr wird.

        • XL☑@feddit.de
          link
          fedilink
          Deutsch
          arrow-up
          13
          arrow-down
          1
          ·
          edit-2
          1 year ago

          📓 Das ist die Info, die ich gefunden habe:

          https://lemmy.world/post/920294

          Vermutlich macht es Sinn, sich direkt mit @ruud@lemmy.world in Verbindung zu setzen. Mein Eindruck ist, dass er ziemlich kooperativ ist.

          The solutions

          What I had noticed previously, is that the lemmy container could reach around 1500% CPU usage, above that the site got slow. Which is weird, because the server has 64 threads, so 6400% should be the max. So we tried what @sunaurus@lemm.ee had suggested before: we created extra lemmy containers to spread the load. (And extra lemmy-ui containers). And used nginx to load balance between them.

          Et voilà. That seems to work.

          Also, as suggested by him, we start the lemmy containers with the scheduler disabled, and have 1 extra lemmy running with the scheduler enabled, unused for other stuff.

          There will be room for improvement, and probably new bugs, but we’re very happy lemmy.world is now at 0.18.1-rc. This fixes a lot of bugs.


          🖥 Letzte mir bekannte Info zur Hardware:

          https://lemmy.world/post/75556

          Update The server was migrated. It took around 4 minutes downtime. For those who asked, it now uses a dedicated server with a AMD EPYC 7502P 32 Cores “Rome” CPU and 128GB RAM. Should be enough for now.

      • anlumo@feddit.de
        link
        fedilink
        Deutsch
        arrow-up
        7
        ·
        1 year ago

        Das klingt eher normal für ein Serversystem mit viel Traffic. Ich arbeite für ein SaaS-Unternehmen, und unser Devops-Mensch hat uns angehalten, die Server-Software auf genau so eine Architektur vorzubereiten, auch wenn wir momentan nur eine Instanz brauchen.

        • XL☑@feddit.de
          link
          fedilink
          Deutsch
          arrow-up
          7
          ·
          1 year ago

          Mag sein, aber der Ruud macht das als “Hobby” und es gibt bislang wenig bzw. keine Erfahrung, wie lemmy skaliert. Daher sind seine Erfahrungen m. E. ja so wertvoll für die Community.

          • anlumo@feddit.de
            link
            fedilink
            Deutsch
            arrow-up
            1
            ·
            1 year ago

            Mit Rust sollte das wesentlich einfacher sein als bei Mastodon mit Ruby on Rails.

            • XL☑@feddit.de
              link
              fedilink
              Deutsch
              arrow-up
              8
              ·
              edit-2
              1 year ago

              Naja, die Implementierunsgsprache ist zwar auch wichtig, aber das Design von Protokollen, Datenstrukturen, Code/Concurrency und Infrastruktur ist gar nicht so sehr abhängig davon. Das ist mir schon oft in der OOP-Welt aufgefallen. Nur weil etwas in einer objektorientierten Sprache implementiert ist, hat es nicht automatisch ein gutes bzw. gut skalierbares Design. Ähnliches gilt auch für Rust oder Golang, obwohl beide natürlich spezielle Stärken haben wie memory safety und concurrency.

              • anlumo@feddit.de
                link
                fedilink
                Deutsch
                arrow-up
                2
                ·
                1 year ago

                Ja klar, was man bei Clustering vermeiden muss ist, state im RAM zu halten, weil wenn man das tut und der Client das nächste Mal eine andere Node bekommt, diese nichts davon weiß. Alternativ kann man auch schauen, dass der gleiche Client immer die gleiche Node bekommt, aber das passiert auch nicht von alleine. Das macht restarts dann aber auch schwieriger.

                Deswegen hat bei uns auch der devops-Mensch schon in der Entwicklung drauf bestanden, dass ich da dran denke.

      • roflcopter12345678@lemmy.world
        link
        fedilink
        Deutsch
        arrow-up
        1
        ·
        1 year ago

        Das hab ich auch gemerkt, hatte mir den Account hier vor einigen Tagen dort erstellt, kann den aber effektiv erst seit dem Update nutzen, weil es jetzt etwas stabiler zu sein scheint. Bin ich gar nicht mehr gewohnt so was. :D

    • Anekdoteles@feddit.de
      link
      fedilink
      Deutsch
      arrow-up
      4
      arrow-down
      1
      ·
      1 year ago

      Gibt doch nur eine relative Größe an. Könnte also auch bedeuten, dass alle anderen geschrumpft sind.

      • woelkchen@lemmy.world
        link
        fedilink
        Deutsch
        arrow-up
        10
        ·
        1 year ago

        Könnte also auch bedeuten, dass alle anderen geschrumpft sind.

        In den letzten drei Wochen ist keine Lemmy-Instanz geschrumpft.

        • Anekdoteles@feddit.de
          link
          fedilink
          Deutsch
          arrow-up
          6
          arrow-down
          1
          ·
          1 year ago

          Der Punkt ist, dass wir an dieser Grafik nicht ablesen können, wer wie groß geworden ist.