Another day, another update.

More troubleshooting was done today. What did we do:

  • Yesterday evening @phiresky@phiresky@lemmy.world did some SQL troubleshooting with some of the lemmy.world admins. After that, phiresky submitted some PRs to github.
  • @cetra3@lemmy.ml 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 @phiresky@lemmy.world , @cetra3@lemmy.ml , @stanford@discuss.as200950.com, @db0@lemmy.dbzer0.com , @jelloeater85@lemmy.world , @TragicNotCute@lemmy.world for their help!

And not to forget, thanks to @nutomic@lemmy.ml and @dessalines@lemmy.ml 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.

  • kionay
    link
    fedilink
    1132 years 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.

  • phiresky
    link
    fedilink
    112
    edit-2
    2 years 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 😁

  • @Spectator@lemmy.world
    link
    fedilink
    English
    802 years ago

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

  • @xavier666@lemm.ee
    link
    fedilink
    332 years ago

    Even though i’m not from this instance, this is such a nice way of keeping the users posted about changes. I wish more companies (I know this is not a company) went straight to the point, instead of using vague terms like “improved stability, fixed few issues with an update” when things are changed. I hope all instance owners follow this trend.

    • RuudOPM
      link
      fedilink
      132 years ago

      The owner of your instance has been a big help. You’ve also chosen a good instance!

      • @xavier666@lemm.ee
        link
        fedilink
        102 years ago

        @sunaurus@lemm.ee is awesome. He keep us aware of what’s happening, planned maintenance hours, etc. His commits on making lemmy scale horizontally is what kept lemm.ee snappy even when we had a huge influx of users. I hope Lemmy as a whole continues this ethos of collaboration.

    • @ramblechat@lemmy.world
      link
      fedilink
      72 years ago

      As an IT support person, I’ve learnt to dumb things down for management. They don’t want to hear stuff like “Increased the SGA, changed the buffer size and added a function based index…etc”. Sometimes I’ll do a short and a long version something like “the issue was around memory settings which have been increased”, plus the detailed info.

  • Isaac
    link
    fedilink
    252 years ago

    The change is noticeable. Good job guys.

    Thanks for the updates.

  • @MetricExpansion@lemmy.world
    link
    fedilink
    242 years ago

    I’m very curious: does single Lemmy instance have the ability to horizontally scale to multiple machines? You can only get so big of a machine. You did mention a second container, so that would suggest that the Lemmy software is able to do so, but I’m curious if I’m reading that right.

    • @DoomBot5@lemmy.world
      link
      fedilink
      202 years ago

      A single instance, no. You run multiple instances on multiple machines, then put a frontend (nginx in this case) to distribute the traffic among them.

        • @T156@lemmy.world
          link
          fedilink
          112 years ago

          They would all have to share a database, although I don’t see why there would be any issues.

          The database software they’re using can fairly comfortably handle multiple changes at once, although it might get a bit funny if a user is split between multiple instances.

            • @AssPennies@lemmy.world
              link
              fedilink
              English
              42 years ago

              If you want to get really fancy, could do some distributed session management with something like redis. Though the underlying application needs to be abstracted out already to allow for it.

        • phiresky
          link
          fedilink
          22 years ago

          it’s not really officially supported, but both lemmy.world and lemm.ee are running with this configuration (multiple lemmy-ui and lemmy_server instances, one pg database).

  • How great is it to be a part of history in the making -

    This is Web 3 in its fomenting -

    Headlines ~5yrs:

    The ending of Web 2 was unceremonious and just ugly. u/spez and moron@musk watched as their social media networks signaled the end of Web 2 and slowly dissolved. Blu bird’s value disintegrated and Reddit’s hopes for IPO did likewise. Twitter and Reddit dissolved into odorous flatulence as centralization fell apart to the world’s benefit. Decentralized/federated social media such as Mastodon and Lemmy made their convoluted progress and led Web 3’s development and growth…

    This is how history is made, it’s ugly and convoluted but comes out sweeet…

    • RuudOPM
      link
      fedilink
      English
      82 years ago

      It doesn’t really work I think. Havent tested yet.

    • 𝕽𝖔𝖔𝖙𝖎𝖊𝖘𝖙
      cake
      link
      fedilink
      English
      72 years ago

      I couldn’t get it to work.

      I was able to enable it and add the code to my authenticator but it would not accept a login with the 2FA code.

      Fortunately I was still logged in elsewhere to disable 2FA again or I may have gotten locked out

    • pitninja
      link
      fedilink
      English
      42 years ago

      It’s always been safe to use 2FA if your authenticator app supports SHA256. Unfortunately, it turns out that a lot don’t. The only solutions are going to be Lemmy switching to SHA1 or users switching to auth apps that support SHA256. I think the first is more likely to happen than the second.

        • pitninja
          link
          fedilink
          English
          12 years ago

          I believe that is correct, from what I’m reading. I think Lemmy is probably going to switch to SHA1 as the default. Research has shown that it’s basically as safe to use for 2FA as SHA256 and SHA512 and obviously it has universal compatibility per the spec. The spec only lists SHA256 & 512 as allowed alternatives, not required for full adherence to the spec. I imagine Lemmy will change it so that SHA1 is the default option with maybe an option to still do SHA256 with some well explained warnings.

          • @pathief@lemmy.world
            link
            fedilink
            English
            12 years ago

            From what I’ve researched you’re 100% correct.

            The main problem is that even though Authy doesn’t support SHA256, Lemmy still enables 2FA. Lemmy doesn’t ask for an auth token before enabling 2FA nor generates any backup codes. The user is prompted with success but will be locked out on of the account on sign out. Not good.

  • @Kodiack@lemmy.world
    link
    fedilink
    21
    edit-2
    2 years ago

    Awesome work - things seem to be running much more smoothly today.

    Do you have anything behind CDN by chance? Looking at the lemmy.world IPs, the server appears to be hosted in Europe and web traffic goes directly there? IPv4 apparently seems to be resolving to a Finland-based address, and IPv6 apparently seems to be resolving to a Germany-based address.

    If you put the site behind a CDN, it should significantly reduce your bandwidth requirements and greatly drop the number of requests that need to hit the origin server. CDNs would also make content load faster for people in other parts of the world. I’m in New Zealand, for example, and I’m seeing 300-350 ms latency to lemmy.world currently. If static content such as images could be served via CDN, that would make for a much snappier browsing experience.

  • KSP Atlas
    link
    fedilink
    212 years ago

    Shouldn’t the correct HTTP status code for a removed API be 410? 404 indicates the domain wasn’t found or doesn’t exist, 410 indicates a resource being removed

  • SolidGrue
    link
    fedilink
    192 years ago

    Gadzooks! These are huge fixes. Compliments to the team, you guys pulled off a small miracle today.