omarfilip reported a sudden slowdown of their Discourse site despite low resource usage on a 16GB/4vCPU DigitalOcean droplet. Initial troubleshooting included checking logs, rebuilding the app, adjusting Sidekiq memory, and testing in safe mode — which revealed extreme slowness. Plugins were suspected, and removing the “Post Badges” theme component briefly improved performance 8, but issues persisted, including broken images and console errors. omarfilip suspected incomplete rebaking after a recent backup restore. Further investigation revealed intermittent failures in S3 backups and SMTP port 587 detection inconsistencies. Network tests using speedtest-cli and iperf3 exposed severely degraded upload speeds (1.27 Mbps) despite high download speeds — pointing to underlying infrastructure issues. After reporting to DigitalOcean, they confirmed hypervisor-level problems and migrated the droplet, resolving all performance issues. Community suggestions included checking for Cloudflare interference 12 and reviewing theme components 5, but the root cause was ultimately external infrastructure, not configuration or plugins.
I don’t get errors in the console in safe mode, but it’s much slower. It takes about 10-15 seconds to load anything and images are chugging like they are coming over a 14.4 Kbps modem.
It took about 20 seconds to load /logs. Going back to /admin took about a minute.
Woah! Night and day after removing the Post Badges component. Disabling it did not make a difference, but deleting it did. No more console errors, either.
I wonder if this has anything to do with the issue:
I restored Discourse from a backup about 4 weeks ago when I moved it from an old Ubuntu 16.4 LTS droplet to new one running Ubuntu 24.04. I did not do a manual rebake.
Discourse Doctor looks fine on one run, then on a second run reports that port 587 is likely blocked which is odd because it delivered the test mail on the first run and then again successfully on the third run:
Connection to port 587 failed.
====================================== SOLUTION =======================================
The most likely problem is that your server has outgoing SMTP traffic blocked.
If you are using a service like Mailgun or Sendgrid, try using port 2525.
Am I right to think there is something screwy with this DigitalOcean droplet?
It would appear this droplet has some networking issues - download is pretty slow, but note the upload speed :
speedtest-cli
Retrieving speedtest.net configuration...
Testing from Digital Ocean (24.199.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Next Level Infrastructure (Santa Clara, CA) [4.38 km]: 2.242 ms
Testing download speed................................................................................
Download: 839.25 Mbit/s
Testing upload speed......................................................................................................
Upload: 1.27 Mbit/s
After running speedtest-cli and iperf3 network throughput tests which showed abysmally slow speeds between the droplet and the outside world, I asked DigitalOcean to investigate and they concluded after doing their own testing:
We have discovered some issues with the hypervisor where your Droplet is located. We are working with our backend team to migrate your Droplet to another hypervisor.