SlideShare a Scribd company logo
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
2018年12月4日
ヤフー株式会社
データ&サイエンスソリューション統括本部 データプラットフォーム本部デリバリー部パイプライン
橘 拓馬
Apache Kafkaによるログ転送と
パフォーマンスチューニング
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
自己紹介
橘 拓馬
2018年度新卒
• 8月からパイプラインチームに
配属され、Apache Kafkaを扱い始める
IoT周りが好き
2
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
目次
3
1. はじめに
2. What is Kafka
3. パフォーマンス改善の実例
4. まとめ
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
はじめに
ヤフーは多種多様なサービスを抱え、
多数のユーザ様に利用していただいている
デイリーユニークブラウザ数(FY17)
平均9053万ブラウザ
アプリ合算デイリーアクティブユーザ数(FY17)
平均4249万人
より良いサービスを提供するために、
各サービスから生み出される大量のデータを横断的に活用
※各種指標はhttps://about.yahoo.co.jp/ir/jp/archives/data/より引用
運営サービス数
100超
4
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
より良いサービスを提供するために、
各サービスから生み出される大量のデータを横断的に活用
はじめに
ヤフーは多種多様なサービスを抱え、
多数のユーザ様に利用していただいている
デイリーユニークブラウザ数(FY17)
平均9053万ブラウザ
アプリ合算デイリーアクティブユーザ数(FY17)
平均4249万人
※各種指標はhttps://about.yahoo.co.jp/ir/jp/archives/data/より引用
運営サービス数
100超
5
例:複数のサービスからユーザのWeb行動ログを収集、
最もユーザが興味の持ちそうな関連コンテンツをレコメンド
サービスA
サービスB
サービスC
あなたへの
オススメ
… 行動を分析
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
大量のデータ活用の課題
誰もが横断的に活用するためには、各サービス/サーバに
保存されている大量のログデータを
1つの分析基盤に集約するのが効率的…
大量のサーバとデータたち
データをサーバから
取得するだけで超大変…
6
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
大量のデータ活用の課題
各サーバに散らばっているデータを連携したり、
分析基盤に転送するためにメッセージングシステムが必要
大量のサーバとデータたち 分析基盤メッセージングシステム
サーバ間の
データ転送を担う
7
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
大量のデータ活用の課題
パイプラインチームでは、Apache Kafkaを
メッセージングシステムとして採用
大量のサーバとデータたち 分析基盤Apache Kafka
8
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
予備知識
pub/sub型メッセージングシステム
複数の送信者が送信したデータを中継者(Broker)が
全て受け取り、データを利用したい複数の受信者が中継者から
購読することで多対多のメッセージングを実現するシステム
Publisher SubscriberBroker
9
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
予備知識
pub/sub型メッセージングシステム
Brokerという中継者を置くことでスケールアウトに伴う煩雑さを
撤廃、複数のサーバ間でデータを簡単に利活用できるように
最終的な受け手を気にすることなく
送信(Publish)
利用したい項目のデータのみ
購読(Subscribe)
10
Publisher SubscriberBroker
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
What is Kafka①
: LinkedInで開発された
pub/sub型分散メッセージングシステム
Producer
Consumer
最終的な受け手を気にすることなく
送信(Produce)
→受信者の増減による設定変更は無
利用したい項目のデータのみ
購読(Consume)
→利用データの変更は項目の設定のみ
Apache Kafka
(Broker Cluster) 11
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
What is Kafka②
• Brokerは複数のサーバを使用して分散システムとして稼働させることが可能
• メッセージの処理単位を複数に分割できる仕組みを持つため
Consumer側のアプリケーションも分散処理が可能
• 可用性・スケールアウト性を確保
• メッセージを自分のDiskへ書き込みつつ
他サーバへもレプリケーションすることで、データの永続性を担保
• 何らかの理由でConsumerの処理が一時停止してもリトライが可能
• Apache Foundationが提供するデータ分析エンジンとの親和性が高い
• Apache Hadoop, Apache Spark, Apache Storm, Apache Flink etc...
12
Kafkaの特徴
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Kafkaとパフォーマンス
分散メッセージングシステムは
パフォーマンスに影響を与える要素が非常に広範囲
→思ったような性能が出ない場合、確認箇所が多い
• アーキテクチャそのもの
(Producer-Broker-Consumerの繋ぎ方が悪い?)
• Kafka実装
(コードのどこかの処理が重い?)
• 各種設定
(要件と相性の悪い設定が記述されている?)
• JVM
(JVMに負荷がかかる設定になっている?)
• OS(特にI/O周り)
(ファイルシステムが悪い?)
• ネットワーク
(帯域が足りない?遅延が多い?)
• ハードウェア
(性能不足?)
実際に社内で遭遇した事例を
紹介します
13
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
「一部だけ」リクエストを
捌ききれない
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
発生状況
一部のKafka Broker Clusterだけ
Request Handler がリクエストを捌ききれない
Kafka Broker (一部省略)
R/W
Produce Request
Consume Request
Request Handler
File
System
Producer / Consumerからの
リクエストを基に実際にFile Systemに
読み書きするスレッド
15
(スレッドのアイドル率が低い)
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
発生状況
Kafka Broker (一部省略)
R/W
Produce Request
Consume Request
Request Handler
File
System
16
一部のKafka Broker Clusterだけ
Request Handler がリクエストを捌ききれない
(スレッドのアイドル率が低い)
多くのクラスタでのアイドル率は90%以上
アイドル率30%を割るクラスタが発生
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
原因調査
各種設定の調査
負荷の高いクラスタと低いクラスタの設定の違いを確認
• Kafka Broker
• JVM
• OS
• ネットワーク
→パフォーマンスに影響する設定の違いはない
Brokerの動作ログを確認した結果、以下の動作の違いを発見
1回のリクエストで
12メッセージ受信
通常のクラスタ 問題のクラスタ
17
リクエスト1回で受け取るメッセージの個数が違う
1回のリクエストで
1メッセージ受信
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Kafkaのバッチングについて
18
Kafkaには1回の送信に複数のメッセージをまとめて送信する
バッチング機能がある
→ 指定メッセージ数貯まるまで or 一定時間経過まで
メッセージを溜め込む
バッチングの大きさ(BatchSize)を大きく
→処理効率高、遅延は増大
今回はKafka ProducerのBatchSize設定も全て一緒
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Kafkaのバッチングについて
19
Kafkaには1回の送信に複数のメッセージをまとめて送信する
バッチング機能がある
→ 指定メッセージ数貯まるまで or 一定時間経過まで
メッセージを溜め込む
バッチングの大きさ(BatchSize)を大きく
→処理効率高、遅延は増大
時間内にメッセージが殆ど溜まっていない!!!
今回はKafka ProducerのBatchSize設定も全て一緒
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
答えはProducerに
1台あたりの秒間メッセージ数が少ないのにも関わらずPartition数が多い
Producer (複数台) Broker
…
…
Partitioner
MessageMessage
Batch
Producerはラウンドロビンで全ての
Partitionにメッセージを振り分け
指定時間内に
溜まるBatchSizeが1
Request Handlerが
高負荷に
20
並列処理するための単位
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
パラメータ調整/構成変更で対処?
Producerの数を減らせば良い?
• ビジネス要件で不可能
• サービスのサーバ群が高可用性とパフォーマンスの両立を求めており、
Producerの台数が非常に多い。
• 1台あたりの流量は少なく、台数が多い構成を変更できない
Partitionを減らせばいい?
• Kafkaの機能制約
• Partitionを減らす操作はKafkaでは簡単にできない
タイムアウトを長くすればいい?
• ビジネス要件で不可能
• 遅延が長くなり、転送のリアルタイム性が犠牲になる
21
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
送信先partitionを固定 (keyed message)
Producer
Broker
…
…
Partitioner
Keyed Message
Keyed Message
Batch
ProducerごとにKeyを設定
秒間メッセージ数が少ないのに多くのPartitionに分散していることが問題
同一のProducerから送信するメッセージは全て同じPartitionに振り分けられるように
同じKeyを持つデータは
全て同じPartitionに振り分けられる
一定時間内に溜まるBatchSizeを大きくできる! → 無事解決
22
メッセージにKeyを付与できる
Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
まとめ
分散メッセージングシステムは
パフォーマンスに影響する要素が多く、
原因特定や切り分けの難易度が高い
• 動作ログと設定を眺めながら、
「この設定でこんな動きになるっけ?」
という違和感を嗅ぎ分けることが解決への近道
• メッセージの流量や性質に起因するパフォーマンス低下も
存在するため、日頃から設定や構成だけではなく
「どのようにデータを流しているか」も確認しておくことも重要
23

More Related Content

What's hot

Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについてmoai kids
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetup
Toshiaki Maki
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
ヤフーのプライベートクラウドとクラウドエンジニアの業務についてヤフーのプライベートクラウドとクラウドエンジニアの業務について
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
Yahoo!デベロッパーネットワーク
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
 
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介  #streamctjpSpring Cloud Data Flow の紹介  #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
 
ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介
Yahoo!デベロッパーネットワーク
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
Amazon Web Services Japan
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
 
普通の人でもわかる Paxos
普通の人でもわかる Paxos普通の人でもわかる Paxos
普通の人でもわかる Paxos
tyonekura
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
 

What's hot (20)

Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetup
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
ヤフーのプライベートクラウドとクラウドエンジニアの業務についてヤフーのプライベートクラウドとクラウドエンジニアの業務について
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介  #streamctjpSpring Cloud Data Flow の紹介  #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
普通の人でもわかる Paxos
普通の人でもわかる Paxos普通の人でもわかる Paxos
普通の人でもわかる Paxos
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 

Similar to Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -

YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
Yahoo!デベロッパーネットワーク
 
ヤフーを支えるデータセンタネットワーク
ヤフーを支えるデータセンタネットワークヤフーを支えるデータセンタネットワーク
ヤフーを支えるデータセンタネットワーク
Yahoo!デベロッパーネットワーク
 
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
Nozomi Kurihara
 
YJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組みYJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組み
Yahoo!デベロッパーネットワーク
 
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo!デベロッパーネットワーク
 
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
Yahoo!デベロッパーネットワーク
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
Insight Technology, Inc.
 
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
Nozomi Kurihara
 
Kubernetes Cluster Adminやってました #con_rider
Kubernetes Cluster Adminやってました #con_riderKubernetes Cluster Adminやってました #con_rider
Kubernetes Cluster Adminやってました #con_rider
Yahoo!デベロッパーネットワーク
 
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajpストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
Yahoo!デベロッパーネットワーク
 
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Yahoo!デベロッパーネットワーク
 
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
Koichi Sakata
 
20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー
Ichiro Fukuda
 
Riakを利用したパーソナライズ事例
Riakを利用したパーソナライズ事例Riakを利用したパーソナライズ事例
Riakを利用したパーソナライズ事例
Yahoo!デベロッパーネットワーク
 
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
Yahoo!デベロッパーネットワーク
 
ヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtechヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtech
Yahoo!デベロッパーネットワーク
 
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
オラクルエンジニア通信
 
Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢
Maho Takara
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019
MKT-INTHEFOREST
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
Kazunori Sato
 

Similar to Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 - (20)

YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
ヤフーを支えるデータセンタネットワーク
ヤフーを支えるデータセンタネットワークヤフーを支えるデータセンタネットワーク
ヤフーを支えるデータセンタネットワーク
 
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
 
YJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組みYJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組み
 
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
 
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
 
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
 
Kubernetes Cluster Adminやってました #con_rider
Kubernetes Cluster Adminやってました #con_riderKubernetes Cluster Adminやってました #con_rider
Kubernetes Cluster Adminやってました #con_rider
 
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajpストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
 
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
 
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVMIntroduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
 
20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー
 
Riakを利用したパーソナライズ事例
Riakを利用したパーソナライズ事例Riakを利用したパーソナライズ事例
Riakを利用したパーソナライズ事例
 
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
 
ヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtechヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtech
 
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
 
Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 

More from Yahoo!デベロッパーネットワーク

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
Yahoo!デベロッパーネットワーク
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
Yahoo!デベロッパーネットワーク
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
Yahoo!デベロッパーネットワーク
 
LakeTahoe
LakeTahoeLakeTahoe
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Yahoo!デベロッパーネットワーク
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
Yahoo!デベロッパーネットワーク
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
Yahoo!デベロッパーネットワーク
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
Yahoo!デベロッパーネットワーク
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
Yahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo!デベロッパーネットワーク
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
Yahoo!デベロッパーネットワーク
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
Yahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
Yahoo!デベロッパーネットワーク
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
Yahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
Yahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
Yahoo!デベロッパーネットワーク
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
Yahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
Yahoo!デベロッパーネットワーク
 

More from Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

Recently uploaded

生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
iPride Co., Ltd.
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
Seiya Shimabukuro
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
 

Recently uploaded (14)

生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
 

Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -

  • 1. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 2018年12月4日 ヤフー株式会社 データ&サイエンスソリューション統括本部 データプラットフォーム本部デリバリー部パイプライン 橘 拓馬 Apache Kafkaによるログ転送と パフォーマンスチューニング
  • 2. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 自己紹介 橘 拓馬 2018年度新卒 • 8月からパイプラインチームに 配属され、Apache Kafkaを扱い始める IoT周りが好き 2
  • 3. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 目次 3 1. はじめに 2. What is Kafka 3. パフォーマンス改善の実例 4. まとめ
  • 4. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. はじめに ヤフーは多種多様なサービスを抱え、 多数のユーザ様に利用していただいている デイリーユニークブラウザ数(FY17) 平均9053万ブラウザ アプリ合算デイリーアクティブユーザ数(FY17) 平均4249万人 より良いサービスを提供するために、 各サービスから生み出される大量のデータを横断的に活用 ※各種指標はhttps://about.yahoo.co.jp/ir/jp/archives/data/より引用 運営サービス数 100超 4
  • 5. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. より良いサービスを提供するために、 各サービスから生み出される大量のデータを横断的に活用 はじめに ヤフーは多種多様なサービスを抱え、 多数のユーザ様に利用していただいている デイリーユニークブラウザ数(FY17) 平均9053万ブラウザ アプリ合算デイリーアクティブユーザ数(FY17) 平均4249万人 ※各種指標はhttps://about.yahoo.co.jp/ir/jp/archives/data/より引用 運営サービス数 100超 5 例:複数のサービスからユーザのWeb行動ログを収集、 最もユーザが興味の持ちそうな関連コンテンツをレコメンド サービスA サービスB サービスC あなたへの オススメ … 行動を分析
  • 6. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 大量のデータ活用の課題 誰もが横断的に活用するためには、各サービス/サーバに 保存されている大量のログデータを 1つの分析基盤に集約するのが効率的… 大量のサーバとデータたち データをサーバから 取得するだけで超大変… 6
  • 7. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 大量のデータ活用の課題 各サーバに散らばっているデータを連携したり、 分析基盤に転送するためにメッセージングシステムが必要 大量のサーバとデータたち 分析基盤メッセージングシステム サーバ間の データ転送を担う 7
  • 8. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 大量のデータ活用の課題 パイプラインチームでは、Apache Kafkaを メッセージングシステムとして採用 大量のサーバとデータたち 分析基盤Apache Kafka 8
  • 9. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 予備知識 pub/sub型メッセージングシステム 複数の送信者が送信したデータを中継者(Broker)が 全て受け取り、データを利用したい複数の受信者が中継者から 購読することで多対多のメッセージングを実現するシステム Publisher SubscriberBroker 9
  • 10. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 予備知識 pub/sub型メッセージングシステム Brokerという中継者を置くことでスケールアウトに伴う煩雑さを 撤廃、複数のサーバ間でデータを簡単に利活用できるように 最終的な受け手を気にすることなく 送信(Publish) 利用したい項目のデータのみ 購読(Subscribe) 10 Publisher SubscriberBroker
  • 11. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. What is Kafka① : LinkedInで開発された pub/sub型分散メッセージングシステム Producer Consumer 最終的な受け手を気にすることなく 送信(Produce) →受信者の増減による設定変更は無 利用したい項目のデータのみ 購読(Consume) →利用データの変更は項目の設定のみ Apache Kafka (Broker Cluster) 11
  • 12. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. What is Kafka② • Brokerは複数のサーバを使用して分散システムとして稼働させることが可能 • メッセージの処理単位を複数に分割できる仕組みを持つため Consumer側のアプリケーションも分散処理が可能 • 可用性・スケールアウト性を確保 • メッセージを自分のDiskへ書き込みつつ 他サーバへもレプリケーションすることで、データの永続性を担保 • 何らかの理由でConsumerの処理が一時停止してもリトライが可能 • Apache Foundationが提供するデータ分析エンジンとの親和性が高い • Apache Hadoop, Apache Spark, Apache Storm, Apache Flink etc... 12 Kafkaの特徴
  • 13. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Kafkaとパフォーマンス 分散メッセージングシステムは パフォーマンスに影響を与える要素が非常に広範囲 →思ったような性能が出ない場合、確認箇所が多い • アーキテクチャそのもの (Producer-Broker-Consumerの繋ぎ方が悪い?) • Kafka実装 (コードのどこかの処理が重い?) • 各種設定 (要件と相性の悪い設定が記述されている?) • JVM (JVMに負荷がかかる設定になっている?) • OS(特にI/O周り) (ファイルシステムが悪い?) • ネットワーク (帯域が足りない?遅延が多い?) • ハードウェア (性能不足?) 実際に社内で遭遇した事例を 紹介します 13
  • 14. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 「一部だけ」リクエストを 捌ききれない
  • 15. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 発生状況 一部のKafka Broker Clusterだけ Request Handler がリクエストを捌ききれない Kafka Broker (一部省略) R/W Produce Request Consume Request Request Handler File System Producer / Consumerからの リクエストを基に実際にFile Systemに 読み書きするスレッド 15 (スレッドのアイドル率が低い)
  • 16. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 発生状況 Kafka Broker (一部省略) R/W Produce Request Consume Request Request Handler File System 16 一部のKafka Broker Clusterだけ Request Handler がリクエストを捌ききれない (スレッドのアイドル率が低い) 多くのクラスタでのアイドル率は90%以上 アイドル率30%を割るクラスタが発生
  • 17. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 原因調査 各種設定の調査 負荷の高いクラスタと低いクラスタの設定の違いを確認 • Kafka Broker • JVM • OS • ネットワーク →パフォーマンスに影響する設定の違いはない Brokerの動作ログを確認した結果、以下の動作の違いを発見 1回のリクエストで 12メッセージ受信 通常のクラスタ 問題のクラスタ 17 リクエスト1回で受け取るメッセージの個数が違う 1回のリクエストで 1メッセージ受信
  • 18. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Kafkaのバッチングについて 18 Kafkaには1回の送信に複数のメッセージをまとめて送信する バッチング機能がある → 指定メッセージ数貯まるまで or 一定時間経過まで メッセージを溜め込む バッチングの大きさ(BatchSize)を大きく →処理効率高、遅延は増大 今回はKafka ProducerのBatchSize設定も全て一緒
  • 19. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Kafkaのバッチングについて 19 Kafkaには1回の送信に複数のメッセージをまとめて送信する バッチング機能がある → 指定メッセージ数貯まるまで or 一定時間経過まで メッセージを溜め込む バッチングの大きさ(BatchSize)を大きく →処理効率高、遅延は増大 時間内にメッセージが殆ど溜まっていない!!! 今回はKafka ProducerのBatchSize設定も全て一緒
  • 20. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 答えはProducerに 1台あたりの秒間メッセージ数が少ないのにも関わらずPartition数が多い Producer (複数台) Broker … … Partitioner MessageMessage Batch Producerはラウンドロビンで全ての Partitionにメッセージを振り分け 指定時間内に 溜まるBatchSizeが1 Request Handlerが 高負荷に 20 並列処理するための単位
  • 21. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. パラメータ調整/構成変更で対処? Producerの数を減らせば良い? • ビジネス要件で不可能 • サービスのサーバ群が高可用性とパフォーマンスの両立を求めており、 Producerの台数が非常に多い。 • 1台あたりの流量は少なく、台数が多い構成を変更できない Partitionを減らせばいい? • Kafkaの機能制約 • Partitionを減らす操作はKafkaでは簡単にできない タイムアウトを長くすればいい? • ビジネス要件で不可能 • 遅延が長くなり、転送のリアルタイム性が犠牲になる 21
  • 22. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 送信先partitionを固定 (keyed message) Producer Broker … … Partitioner Keyed Message Keyed Message Batch ProducerごとにKeyを設定 秒間メッセージ数が少ないのに多くのPartitionに分散していることが問題 同一のProducerから送信するメッセージは全て同じPartitionに振り分けられるように 同じKeyを持つデータは 全て同じPartitionに振り分けられる 一定時間内に溜まるBatchSizeを大きくできる! → 無事解決 22 メッセージにKeyを付与できる
  • 23. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. まとめ 分散メッセージングシステムは パフォーマンスに影響する要素が多く、 原因特定や切り分けの難易度が高い • 動作ログと設定を眺めながら、 「この設定でこんな動きになるっけ?」 という違和感を嗅ぎ分けることが解決への近道 • メッセージの流量や性質に起因するパフォーマンス低下も 存在するため、日頃から設定や構成だけではなく 「どのようにデータを流しているか」も確認しておくことも重要 23