如何修复 mysql 已消失、高 writeiops、切换到 postgres?

如何修复 mysql 已消失、高 writeiops、切换到 postgres?

我们有一个在 NGINX 和 uwsgi 下运行的 Django 网站(Django 1.4)。该网站使用 MYSQL 5.6.39,它在单独的 AWS RDS 实例上运行。它运行良好大约一周,但突然我们收到可怕的 MYSQL 2006 错误 - MYSQL 服务器已消失。我们还注意到,在发生这种情况时,写入 IOPS 似乎突然大幅增加。

经过网上搜索,提出以下建议:

  • 将 max_allowed_pa​​cket 增加到 128M 左右
  • 将 wait_timeout 和 interactive_timeout 增加到 86400
  • 在我们的 webapp 服务器上的 uwsgi 配置文件中使用 lazy=1

我们正在尝试这些,但这个问题很难调试,因为我们必须等待一周的运行才能复制它。所以:

  1. 我们是否应该设置其他参数来解决这个问题?
  2. 我们可以在 Django 应用中做些什么来解决这个问题?例如,我们是否应该在每个视图开始时关闭数据库连接?
  3. 如果我们切换到像 Postgres 这样的其他数据库,整个问题就会消失吗?

相关内容