ryicoh
@ryicoh

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Hasuraが遅いのはPostgresのJITをオフにすると解決するかもしれない

Discussion

Hasura のPermission機能は複雑になればなるほど、そのロールのクエリが遅くなります。

例えば、こちらのクエリはローカルのdocker環境ですが、1クエリに15秒もかかっています。

Screen Shot 2021-04-30 at 2.34.02.png

設定しているパーミッションはtypescriptで生成しており、かなり複雑です。

そこで全く同じIssueを発見しました。
postgresのJITをオフにすると良いらしいです。

  postgres:
    image: postgres
    # see https://github.com/hasura/graphql-engine/issues/3672
    command: postgres -c jit=off

Screen Shot 2021-04-30 at 2.42.36.png

0.5秒、早い。。

本番環境のCloud SQLでもOffにできないかと調べたら、すでにOffになってて、Onにできないらしいです。

JIT プログラムの生成とクエリの最適化に 1 秒以上かかるクエリもあります。

これに時間かかってたっぽいです。

実行に数十秒以上かかるクエリには、JIT を使用するとパフォーマンスを大幅に向上させることができます。ただし、ほとんどの一般的なクエリでは、JIT を有効にするとパフォーマンスが遅くなり、デフォルトで機能を無効にするのと同程度になります。

デフォルトで無効にしといて欲しい気持ち。。

0

Your answer might help someone💌