Open Ningensei848 opened 1 year ago
--concurrency
オプションも検討(デフォルトは1インスタンスにつき1ずつ実行)
/entries
/getHorseResult
同時実行の値を 1 より大きい値に設定するには、1 つ以上の vCPU を持つ関数が必要です cf. https://cloud.google.com/functions/docs/configuring/concurrency
なので、/getHorseResult
の方は 1GiB
まで設定を引き上げる必要がある
--concurrency
を適切に設定(メモリ不足とかでコケないように)し、インスタンス数を減らすconcurrency
を追加してみたところ、パフォーマンスは上がってそう(コールドスタートは減ってそう)
/entries
/getHorseResult
entries
はメモリも増やさないとこれ以上のパフォーマンスは厳しいかgetHorseResult
はまだ負荷上げても大丈夫そうentries
は 6x
getHorseResult
は 24x まで増やしてみる
/entries
/getHorseResult
最大インスタンス数が増えた?!
/getHorseResult
内部で /entries
を呼ぶので、まぁそれはそう増やしすぎないように増やす
entries
は 8x (+2) に変更
getHorseResult
は 48x (+24) に変更
/entries
/getHorseResult
一向にメモリ丸々使ってくれないので、ここは一気に負荷を増やしてみる
/entries
... 64x/getHorseResult
... 256x/entries
がメモリエラーでコケると /getHorseResult
も軒並み失敗する
64x でダメだったので、48x にしてリトライ
48x だとメモリ使用量がヤバいかも
ので 36x に下げて、 getHorseResult
も 180x に調整
気になったこと(改善すべき点)
バックエンドのコールドスタートが大きく、そのせいで CPU 専有時間が長くなり、コスト増に繋がっている
どうあってほしいか(理想とする姿)
なるべく減らす
コストを下げたい