Sinatraで、beforeのなかでsequelを使ってMySQLに接続させると、そのままほおって置くとMySQLへの接続数がどんどん増えていって、接続数超過でエラーになってしまいました。sequelはブロックが終了したらDBへの接続をきってくれるはずのようなのですが、接続をSinatraのメソッド内でインスタンス変数に格納した場合はずっと接続を保つようです。

というわけで、after内で以下のように接続をきってあげることにしました。

@db.disconnect
Sequel::DATABASES.delete(@db)

これで問題なく動いているようです。