kafka-perf-review について
kafka-perf-reviewは、Kafkaクラスターとコードベースのパフォーマンス設定を確認するエンジニア向けのスキルです。Lenses MCPのクラスター情報とコード検索を組み合わせ、プロデューサーとコンシューマーの設定を監査し、トレードオフを含むレポートを作成します。
主な機能
- 01クラスターの性能設定を確認
- 02コード内のKafka設定を検索
- 03プロデューサーとコンシューマー設定を監査
- 04クラスターとコードの設定を照合
- 05所見と推奨事項、トレードオフを報告
活用シーン
- 01Kafkaのスループット低下を調査
- 02デプロイ前に送受信設定を確認
- 03指定ディレクトリのKafka設定をレビュー
MCP 対応
Lenses MCPでトピック、ブローカー設定、パーティション分布、メッセージスループットを確認します。MCP呼び出しに失敗した場合はコードのみを分析し、レポートに制約を記載できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lensesio/ agentic-engineering-for-apache-kafka --skill kafka-perf-reviewインストール後、Claude Code で/kafka-perf-reviewを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/consumer-defaults.mdproducer-defaults.mdtest-cases.md詳細
Kafka パフォーマンス設定のレビュー
稼働中のクラスターとコードベースの両方で、プロデューサーとコンシューマーの設定にパフォーマンス上のアンチパターンがないかレビューします。これらの設定は、すべての Kafka クライアントライブラリで共通です(Kafka プロトコルのプロパティです)。
対象環境とパス:$ARGUMENTS(コードベースのスキャンでパスが指定されていない場合、デフォルトは src/)
ワークフロー
このチェックリストをコピーして、進捗を記録してください。
Performance Review Progress:
- [ ] Step 1: Inspect live cluster configs
- [ ] Step 2: Scan codebase for producer/consumer configs
- [ ] Step 3: Audit producer configs
- [ ] Step 4: Audit consumer configs
- [ ] Step 5: Cross-reference cluster and code configs
- [ ] Step 6: Generate report
- Lenses MCP を使用して稼働中のクラスター設定を確認する
- コードベースをスキャンして、プロデューサー/コンシューマーの設定プロパティを探す(
references/producer-defaults.mdとreferences/consumer-defaults.mdを参照) - プロデューサーの設定を監査し、推奨値と比較する
- コンシューマーの設定を監査し、推奨値と比較する
- クラスターとコードの設定を相互参照する
- 調査結果を報告する。現在値、推奨値、トレードオフの説明を含める
ステップ 1:稼働中のクラスターを確認する
Lenses MCP ツールを使用して、クラスター側のパフォーマンス設定を確認します。
get_topic- パフォーマンスに影響するトピックレベルの設定(min.insync.replicas、compression.type、max.message.bytes)get_topic_broker_configs- ブローカーレベルの設定(message.max.bytes、replica.fetch.max.bytes、num.io.threads)get_topic_partitions- パーティション間のメッセージ分布(あるパーティションのバイト数が他より大幅に多い場合、偏りを検出)get_dataset_message_metrics- ボトルネックや余剰容量を特定するための、時間経過に伴うメッセージスループット
期待される出力:トピックレベルのパフォーマンス設定、パーティションの分布、スループットのメトリクス。
検証:MCP 呼び出しに失敗した場合は、コードベースのみを分析し、その制約をレポートに記載してください。
ステップ 2:コードベースを確認する
コードベースを検索し、Kafka プロデューサーとコンシューマーの設定プロパティを探します。プロデューサーのプロパティの全一覧は references/producer-defaults.md、コンシューマーのプロパティは references/consumer-defaults.md を参照してください。
また、references/producer-defaults.md に記載されているアンチパターンも検索してください。
- 同期的な produce 呼び出し(
.get()、.result()、送信のたびに呼び出すflush()) - 配信コールバック/エラーハンドラーの欠落
- グレースフルシャットダウン/リバランスリスナーの欠落
ステップ 3:プロデューサーの設定を監査する
見つかったプロデューサー設定を、references/producer-defaults.md の推奨値と比較します。主な確認項目:acks、batch.size、linger.ms、compression.type、enable.idempotence、retries。
ステップ 4:コンシューマーの設定を監査する
見つかったコンシューマー設定を、references/consumer-defaults.md の推奨値と比較します。主な確認項目:max.poll.records、max.poll.interval.ms、auto.offset.reset、enable.auto.commit、fetch.min.bytes。
成功基準
定量的基準
- パフォーマンス関連の問い合わせの 90% に対して起動する(さまざまな表現で 10~20 件テスト)
- 15 回未満のツール呼び出し(MCP +コードベース検索)でレビューを完了する
- 実行ごとの MCP 呼び出し失敗が 0 件
定性的基準
- 各調査結果に現在値、推奨値、トレードオフの説明が示されている
- アンチパターンにファイルと行番号の参照が付いている
- スループットへの影響の推定(低/中/高)が一貫した基準で評価されている
例
例 1:定期的なパフォーマンスレビュー
ユーザー:「ステージングの Kafka パフォーマンス設定をレビューしてください」
実行内容:
- ステージング内のすべてのトピックについて、クラスター側の設定を確認する
src/をスキャンし、プロデューサー/コンシューマーのプロパティ定義を探す- コードの設定を参照テーブルと相互参照する
結果:プロパティごとの調査結果とスループットへの影響の推定を含むレポート
例 2:遅いコンシューマーの調査
ユーザー:「コンシューマーの処理が遅いのはなぜですか? パフォーマンス設定を確認してください。」
実行内容:
- コードベースのコンシューマー設定プロパティに重点を置く
max.poll.records、fetch.min.bytes、enable.auto.commitを確認する- 同期処理などのアンチパターンを探す
結果:コンシューマー側のボトルネックと、その解消手順に焦点を当てたレポート
例 3:スコープを限定したコードベースのレビュー
ユーザー:「本番環境向けの src/kafka/ 内の Kafka 設定を確認してください」
手順:
src/kafka/のプロデューサーとコンシューマーの設定のみをスキャンします- 実際の本番クラスターの設定と照合します 結果:特定のディレクトリにある Kafka 設定に焦点を当てたレポート
トラブルシューティング
コードベースで Kafka 設定プロパティが見つからない
原因:フレームワークやラッパーによって、生の Kafka プロパティが隠されている可能性があります。
解決策:フレームワーク固有の設定パターン(例:Spring Boot の application.yml、Django の設定)を検索します。使用されているフレームワークを報告し、手動での確認を提案してください。
Lenses MCP からトピックデータが返されない
原因:環境名が正しくないか、Lenses エージェントがオフラインです。
解決策:まず check_environment_health を実行します。環境名が list_environments の戻り値と一致することを確認してください。
パーティションの偏りを判定できない
原因:トピックのスループットが非常に低く、パーティション間のバイト数がほぼ同じです。 解決策:偏りの検出には十分なスループットが必要であることを明記します。ボリュームの少ないトピックでは偏りの確認を省略し、レポートにその旨を記載してください。
出力形式
## Performance Review Report
### Cluster-Side Findings
- [topic-name] {property}: {current value}
Recommendation: {recommended value} - {explanation}
### Codebase Findings (Producers)
- [file:line] {property} = {current value}
Recommendation: {recommended value} - {explanation}
### Codebase Findings (Consumers)
- [file:line] {property} = {current value}
Recommendation: {recommended value} - {explanation}
### Anti-Patterns
- [file:line] Description of the anti-pattern
Recommendation: How to fix it
### Summary
- X producer issues found
- Y consumer issues found
- Z anti-patterns found
- Estimated throughput impact: low/medium/high