Another day, another update.

More troubleshooting was done today. What did we do:

  • Yesterday evening @phiresky@[email protected] did some SQL troubleshooting with some of the lemmy.world admins. After that, phiresky submitted some PRs to github.
  • @[email protected] created a docker image containing 3PR’s: Disable retry queue, Get follower Inbox Fix, Admin Index Fix
  • We started using this image, and saw a big drop in CPU usage and disk load.
  • We saw thousands of errors per minute in the nginx log for old clients trying to access the websockets (which were removed in 0.18), so we added a return 404 in nginx conf for /api/v3/ws.
  • We updated lemmy-ui from RC7 to RC10 which fixed a lot, among which the issue with replying to DMs
  • We found that the many 502-errors were caused by an issue in Lemmy/markdown-it.actix or whatever, causing nginx to temporarily mark an upstream to be dead. As a workaround we can either 1.) Only use 1 container or 2.) set proxy_next_upstream timeout; max_fails=5 in nginx.

Currently we’re running with 1 lemmy container, so the 502-errors are completely gone so far, and because of the fixes in the Lemmy code everything seems to be running smooth. If needed we could spin up a second lemmy container using the proxy_next_upstream timeout; max_fails=5 workaround but for now it seems to hold with 1.

Thanks to @[email protected] , @[email protected] , @[email protected], @[email protected] , @[email protected] , @[email protected] for their help!

And not to forget, thanks to @[email protected] and @[email protected] for their continuing hard work on Lemmy!

And thank you all for your patience, we’ll keep working on it!

Oh, and as bonus, an image (thanks Phiresky!) of the change in bandwidth after implementing the new Lemmy docker image with the PRs.

Edit So as soon as the US folks wake up (hi!) we seem to need the second Lemmy container for performance. So that’s now started, and I noticed the proxy_next_upstream timeout setting didn’t work (or I didn’t set it properly) so I used max_fails=5 for each upstream, that does actually work.

  • phiresky
    link
    fedilink
    858
    edit-2
    1 year ago

    server load is too low, everyone upvote more stuff so i can optimize more

    edit: guess there is some more work to be done 😁

  • Isaac
    link
    fedilink
    2471 year ago

    The change is noticeable. Good job guys.

    Thanks for the updates.

  • Gnothi
    link
    fedilink
    1241 year ago

    This is why having a big popular instance isn’t all bad. It helps detect and fix the scaling problems and inefficiencies for all the other 1000s of instances out there!

    • This, if everyone kept just spreading out to smaller instances as suggested in the beginning, while still a sensible thing to do, no one would have noticed these performance issues. We need to think a few years out, assuming Lemmy succeeds and Reddit dies, and expect that “small instance” will mean 50k users.

      • deweydecibel
        link
        fedilink
        13
        edit-2
        1 year ago

        I sincerely doubt reddit will die anytime soon, it’ll just exist as its own thing that it’s new target audience gets bored with and moves on from in a few years when something new and flashy catches their eye in the app store. Just like they do all the other apps designed in exactly the same fashion that reddit is currently morphing into.

        Meanwhile Lemmy will be slowly building it’s communities up to be what reddit used to be.

    • Bilb!
      link
      fedilink
      181 year ago

      I’m actually kinda waiting a few releases to start promoting my instance anywhere, letting some other brave instance admins work the kinks out a bit first.

    • @[email protected]
      link
      fedilink
      141 year ago

      Agreed. I decided to keep my community on lemmy.world specifically because of the community investment I see being put into it.

    • Avid Amoeba
      link
      fedilink
      61 year ago

      If this project is to stay for the long haul, we gotta load test it and stabilize it. These folks are doing the important work here. Large instances are more or less inevitable if Lemmy sticks.

  • kionay
    link
    fedilink
    1121 year ago

    You guys had better quit it with all this amazing transparency or it’s going to completely ruin every other service for me. Seriously though amazing work and amazing communication.

  • @[email protected]
    link
    fedilink
    921 year ago

    Thank you guys for your awesome work!

    Also to other people: DONATE TO FOSS PROJECTS. If 50.000 people donate only 0.5€, we have 25.000€ for funding the servers, coding, motivating/ people etc. Just don’t take a cup of coffee for 1 day. We are already 2 millions in Lemmy instances. We can build a decentralized world together!!

    • @[email protected]
      link
      fedilink
      241 year ago

      You can pry my cup of coffee from my my cold, dead hands.

      Will donate anyway, I really want this project to keep going.

      • DopamineDeficient
        link
        fedilink
        31 year ago

        If there’s a thing you really need to pay in a foreign currency, look into Revolut or Wise. Since I occasionally have to pay stuff in Turkish lira, GBP and donated to USD-only Receivers I like to keep Revolut as my secondary bank account since exchanging one currency to another is completely free!

      • @[email protected]
        link
        fedilink
        18
        edit-2
        1 year ago

        For example, if you speak a second language, you can even help with translation in projects. Its very easy. E.g. I translated the Jerboa (Lemmy client for Android) in Greek 2-3 days ago. I needed only 1 hour to finish and special 15-20 minutes for fixes that I missed, yesterday.

  • Marxine
    link
    fedilink
    811 year ago

    Boy does it feel good to have those reports and understand the work you guys do. It’s really inspiring! Thanks for your hard work, everything has been silk smooth! This instance is really great, Lemmy and its devs are really amazing and I feel at home in a nice, cozy community.

  • @[email protected]
    link
    fedilink
    791 year ago

    Am I getting this correct: the whole lemmy.world instance run in one single container on one single host?

    • @[email protected]
      link
      fedilink
      471 year ago

      You’d be surprised at how much performance this kind of setup can squeeze off. Often the limitation is more on the DB/storage than network handling and processing power.

      • @[email protected]
        link
        fedilink
        231 year ago

        This. Most of the time, the bottleneck will be the database backend.

        Curious if lemmy.world uses separate reader/writer instances.

    • Bappity
      link
      fedilink
      161 year ago

      if it runs this well on a single container, considering the amount of users it has, I fear the power it’d hold with more

    • @[email protected]
      link
      fedilink
      101 year ago

      Lemmy is built on an async work stealing runtime and you can get very large instances from Amazon and the like.

      I’m sure the instance isn’t massive but number of containers and a single “host” are not great indicators of efficiency.

  • @[email protected]
    link
    fedilink
    English
    791 year ago

    I’m not sure wtf you just said, but lemmy.world feels very smooth today, so thank you for your continued hard work!

  • @[email protected]
    link
    fedilink
    60
    edit-2
    1 year ago

    Submitting PRs is literally the most effective response that helps everyone who uses Lemmy. Thanks to you all.