Antique Lemmy
  • Communities
  • Create Post
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
RoundSparrow@lemmy.mlM to Lemmy Server Performance@lemmy.ml ·
edit-2
2 years ago

Big Lemmy server lemmy.world has put into production critical performance fixes from a runaway SQL query identified by analyzing pg_stat_statements output - and greatly reduced their server overload!

lemmy.world

external-link
message-square
0
fedilink
1
external-link

Big Lemmy server lemmy.world has put into production critical performance fixes from a runaway SQL query identified by analyzing pg_stat_statements output - and greatly reduced their server overload!

lemmy.world

RoundSparrow@lemmy.mlM to Lemmy Server Performance@lemmy.ml ·
edit-2
2 years ago
message-square
0
fedilink
Lemmy.world status update 2023-07-05 - Lemmy.world
lemmy.world
external-link
Another day, another update. More troubleshooting was done today. What did we do: - Yesterday evening @phiresky@[email protected] [https://lemmy.world/u/phiresky] did some SQL troubleshooting with some of the lemmy.world admins. After that, phiresky submitted some PRs to github. - @[email protected] [https://lemmy.ml/u/cetra3] created a docker image containing 3PR’s: Disable retry queue [https://github.com/LemmyNet/lemmy/pull/3468], Get follower Inbox Fix [https://github.com/LemmyNet/lemmy/pull/3482], Admin Index Fix [https://github.com/LemmyNet/lemmy/pull/3483] - 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] [https://lemmy.world/u/phiresky] , @[email protected] [https://lemmy.ml/u/cetra3] , @[email protected] [https://discuss.as200950.com/u/stanford], @[email protected] [https://lemmy.dbzer0.com/u/db0] , @[email protected] [https://lemmy.world/u/jelloeater85] , @[email protected] [https://lemmy.world/u/TragicNotCute] for their help! And not to forget, thanks to @[email protected] [https://lemmy.ml/u/nutomic] and @[email protected] [https://lemmy.ml/u/dessalines] 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. [https://lemmy.world/pictrs/image/166fc6d9-972d-4ff2-aa3a-b2ecbbb90cd5.png] 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.

lemmy.world announcing to public that this is installed on their production server: https://lemmy.world/post/1061471

alert-triangle
You must log in or register to comment.

Lemmy Server Performance@lemmy.ml

lemmyperformance@lemmy.ml

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: [email protected]

Lemmy Server Performance

lemmy_server uses the Diesel ORM that automatically generates SQL statements. There are serious performance problems in June and July 2023 preventing Lemmy from scaling. Topics include caching, PostgreSQL extensions for troubleshooting, Client/Server Code/SQL Data/server operator apps/sever operator API (performance and storage monitoring), etc.

Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 1 user / day
  • 1 user / week
  • 1 user / month
  • 6 users / 6 months
  • 0 local subscribers
  • 0 subscribers
  • 39 Posts
  • 0 Comments
  • Modlog
  • mods:
  • RoundSparrow@lemmy.ml
  • UI: 0.19.6-beta.7
  • BE: 0.19.11
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org