[Go] 『GO言語による並行処理』読書メモ 4.11キュー
『GO言語による並行処理』の読書メモ。
4.11 キュー で気になった点をメモ。
[メモ]
・パイプラインの処理が追い付かない状態で、処理すべき仕事を受けつける必要がある場合がある。→キュー(待ち行列)
・キューはプログラムの合計の実行時間はほとんど改善しない。プログラムに違った振る舞いをさせるだけ。
・キュー導入の利点は、パイプラインのステージの実行時間が減ることではなく、ステージがブロック状態になっている時間を短くすること。
・キューの実用性は、あるステージの実行時間が他のステージの実行時間に影響を与えないようにステージを分離すること。
・キューがシステムな全体の性能を向上させうる状況は次の2つのみ。
・ステージ内でのバッチによるリクエストが時間を節約する場合
・ステージにおける遅延がシステムにフィードバックループを発生させる場合
・キューが実装されるばき場所は以下の2つのみ
・パイプラインの入口
・バッチ処理によって効率的になるステージの中
[感想]
・現在の自身の課題は、継続して比較的高頻度で受信するデータの保存処理の負荷軽減。
・IO処理による負荷を軽減するために、書き込み処理のバッファリングが必要だと考え、検討中。
→本書の「ステージ内でのバッチによるリクエストが時間を節約する場合」に当たる。
・ステージ内でのバッファリング用途と、ステージ間の分離の用途があるため、どのような用途に使用しているのかを意識する必要がある。
この記事が気に入ったらサポートをしてみませんか?