[Go] 『GO言語による並行処理』読書メモ 4.11キュー

『GO言語による並行処理』の読書メモ。
4.11 キュー で気になった点をメモ。

[メモ]

・パイプラインの処理が追い付かない状態で、処理すべき仕事を受けつける必要がある場合がある。→キュー(待ち行列)

・キューはプログラムの合計の実行時間はほとんど改善しない。プログラムに違った振る舞いをさせるだけ。

・キュー導入の利点は、パイプラインのステージの実行時間が減ることではなく、ステージがブロック状態になっている時間を短くすること。
・キューの実用性は、あるステージの実行時間が他のステージの実行時間に影響を与えないようにステージを分離すること。

・キューがシステムな全体の性能を向上させうる状況は次の2つのみ。
 ・ステージ内でのバッチによるリクエストが時間を節約する場合
 ・ステージにおける遅延がシステムにフィードバックループを発生させる場合

・キューが実装されるばき場所は以下の2つのみ
 ・パイプラインの入口
 ・バッチ処理によって効率的になるステージの中


[感想]

・現在の自身の課題は、継続して比較的高頻度で受信するデータの保存処理の負荷軽減。
・IO処理による負荷を軽減するために、書き込み処理のバッファリングが必要だと考え、検討中。
 →本書の「ステージ内でのバッチによるリクエストが時間を節約する場合」に当たる。

・ステージ内でのバッファリング用途と、ステージ間の分離の用途があるため、どのような用途に使用しているのかを意識する必要がある。

この記事が気に入ったらサポートをしてみませんか?