目次
- クエリのタイムアウト設定
- タイムアウトを意図的に発生させる方法
- 大量のデータを使う
- テスト時の閾値を下げる
- 処理を一定時間止める
クエリのタイムアウト設定
正常処理時間が決まっている場合、以下のようにタイムアウトを設定してクエリを動かすことがあります。
SQL_QUERY="SET statement_timeout='【タイムアウト時間(ミリ秒)】';
【行いたい処理】;"
タイムアウトを意図的に発生させる方法
タイムアウトを含むのテストを行う場合、タイムアウトを意図的に発生させる必要があります。
以下の方法で、意図的にタイムアウトを発生させることができ、組み合わせることでよりテスト時間を短縮することができます。
・大量のデータを使う
クエリの処理で使用するデータを増やすことで、タイムアウトの時間より処理時間を長くする方法です。
・テスト時の閾値を下げる
タイムアウトの時間を下げることで、タイムアウトの時間より処理時間を長くする方法です。
・処理を一定時間止める
スリープして処理を一定時間止めることで、タイムアウトの時間より処理時間を長くする方法です。
例:
SQL_QUERY="SET statement_timeout='【タイムアウト時間(ミリ秒)】';
SELECT pg_sleep(【止めたい時間(秒)】);
【行いたい処理】;"