Closed5

NestJS + Prisma + AWS Auroraで、Too many connectionとなる件

yui_tangyui_tang

connection_limitを設定しているが挙動は変わらない(そもそもdefault値がある

nestjs側の実装は、チュートリアル にあるとおり、PrismaClientをextendsしたServiceをnestjsのDIで突っ込んでいる。
インスタンス毎にconnectionを張っちゃうというのは解る。

yui_tangyui_tang

ということで、結果的にPrismaServiceをDIすることをやめた。
上記のissueにあるファイルを作って、PrismaServiceを使うのをやめて直接importする形に。
その結果、依存しているService/Controller/Module/Test関連全てに手を入れる結果に。

yui_tangyui_tang

これを教訓に、極力小さい実装で早めに本番環境で動くことを確認してから横展開していく。

yui_tangyui_tang

これ、根本的に解決した。
PrismaServiceはそのまま使える。

というのも、そもそもの原因はPrismaClientを必要とするModuleにおいて、PrismaModuleをimportsする形ではなくPrismaServiceをprovidersに渡していたことにより、Moduleがinstance化される毎にPrismaClientが作られていた模様。

動いてしまっていたので原因判明が遅くなってしまったが、Prismaに限らず以下のリンクにある通りのmodule importの仕組みを理解して実装していくことが大事だと痛感。
https://docs.nestjs.com/modules

このスクラップは2022/10/26にクローズされました