使用Sidekiq和Redis Enterprise优化Mastodon性能

使用Sidekiq和Redis Enterprise优化Mastodon性能

💡 原文英文,约1900词,阅读约需7分钟。
📝

内容提要

本文介绍了如何使用Redis Enterprise Cloud提高Mastodon服务器性能,作者进行了基准测试并发现使用Redis Enterprise Cloud可以显著提高性能。未来计划将Redis数据库从虚拟机中移除,使用外部的Redis Enterprise Cloud集群来处理任务队列和PostgreSQL缓存,并监测其在大量用户下的扩展性。建议读者先了解Redis Enterprise Cloud,为高容量Mastodon服务器做好准备。

🎯

关键要点

  • Mastodon平台在过去六个月吸引了数百万新用户,组织开始考虑创建自己的服务器实例。
  • Mastodon服务器的默认配置在处理大量流量时表现不佳,Sidekiq队列是一个瓶颈。
  • 使用Redis OSS虽然免费,但在应用性能和总拥有成本方面可能不是最佳选择。
  • Redis Enterprise Cloud是一个完全托管的数据库即服务,提供企业级功能,如线性扩展的Active-Active集群拓扑。
  • 通过将Mastodon和Sidekiq连接到外部Redis Enterprise Cloud实例,可以改善性能。
  • 测试中发现,使用Redis Enterprise Cloud的Sidekiq队列在高流量期间CPU负载达到100%。
  • 修改Mastodon代码以支持连接到外部Redis实例,并成功监测到Sidekiq队列运行在Redis Enterprise Cloud上。
  • 在对Redis Enterprise Cloud进行基准测试时,单个分片的性能表现良好,处理速度达到13000 ops/sec,延迟为0.06毫秒。
  • 与Redis OSS相比,Redis Enterprise Cloud在处理相同数量的作业时表现出更低的延迟和更高的处理能力。
  • 未来计划将Redis数据库从虚拟机中移除,使用外部Redis Enterprise Cloud集群来处理任务队列和PostgreSQL缓存,并监测其扩展性。
➡️

继续阅读