Closed kaigai closed 1 month ago
postgresql.conf に pg_strom.max_async_tasks の設定値を書き込んでしまうと、 バックグラウンドワーカーの起動時にいったんデフォルト12に値をセットして、 それを20に再設定するという挙動を見せるため、それに引っ張られて、ワーカー スレッドが短時間のうちにstartup/terminateしてしまう。
2024-07-18 12:55:52.043 JST [459737] LOG: GPU0 workers - 0 startup, 8 terminate 2024-07-18 12:55:52.043 JST [459737] LOG: GPU0 workers - 8 startup, 0 terminate 2024-07-18 12:55:52.312 JST [459737] LOG: GPU0 workers - 0 startup, 8 terminate 2024-07-18 12:55:52.312 JST [459737] LOG: GPU0 workers - 8 startup, 0 terminate
SET pg_strom.max_async_tasks だけで制御するのはデザインミス。 別途、制御用のSQL関数を用意するなど。
51c0b0de87fd26bcbd8a452594f875b806f3b48e にて修正
51c0b0de87fd26bcbd8a452594f875b806f3b48e
pg_strom.max_async_tasks が反映されるには 4sec の遅延を挟むようにした。 この修正により、reset後、即座に元の値に戻すような動作は、実際のスレッドのstart/stopを行わないようになった。
pg_strom.max_async_tasks
postgresql.conf に pg_strom.max_async_tasks の設定値を書き込んでしまうと、 バックグラウンドワーカーの起動時にいったんデフォルト12に値をセットして、 それを20に再設定するという挙動を見せるため、それに引っ張られて、ワーカー スレッドが短時間のうちにstartup/terminateしてしまう。
SET pg_strom.max_async_tasks だけで制御するのはデザインミス。 別途、制御用のSQL関数を用意するなど。