ボトルネックがクライアント側にあるのかブローカー側にあるのかを簡易的に切り分ける
クライアント側のパフォーマンスが劣化してきた際に、簡易的に切り分ける方法の一つに io-ratio と io-wait-ratio を確認する。いずれの値も 0 - 1をとる。
io-ratio
クライアントとブローカー間でデータのやり取りをしている時間の割合
io-wait-ratio
クライアントがアイドル状態である時間の割合
io-ratioが1に近いほど、クライアントとブローカー間での処理がボトルネックになっている可能性がある
クライアントの並列数をあげてみる
io-wait-ratioが1に近いほど、クライアントはアイドル状態でブローカー側にボトルネックがある可能性がある
1 - io-ratio -io-wait-ratio が1に近いほど、クライアント側がボトルネックになっている可能性がある
Producer側のコールバックの中で何か重たい処理をしている
Consumer側でデータ取得後に時間のかかる処理をしている