6. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
そのままでは理想通りに動いてくれない
• Request Handlerが重い
• 長時間連続運転すると突然プロセスがダウン
パフォーマンスや安定性の問題が複数発生
6
7. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Request Handler
が重い
8. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
発生状況
複数存在するクラスタのうち一部だけ
Request Handler のIdle%が低い
8
R/W
Produce Request
FetchConsumer Request
Request Handler
File
System
…
Kafka Broker (一部省略)
多くのクラスタでのIdle%は90%以上
Idle% 30%を割るクラスタが発生
18. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
KafkaのLog RetentionとFile Descriptorの関係
18
JVM File System
FD
FD
…
Open
…
….index
Open
• KafkaはLogファイルを定期的にRetentionする
….index.deleted
19. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
KafkaのLog RetentionとFile Descriptorの関係
19
JVM File System
FD
…
…
(Openしていた)
FD
….index.deleted (deleted)
• KafkaはLogファイルを定期的にRetentionする
• LinuxのFile SystemはRetention後存在しなくなったLogファイルに
`(deleted)`とマーキング
Open
20. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.
KafkaのLog RetentionとFile Descriptorの関係
20
JVM File System
FD
…
…
FD
GC時に解放
• KafkaはLogファイルを定期的にRetentionする
• LinuxのFile SystemはRetention後存在しなくなったLogファイルに
`(deleted)`とマーキング
• マーキングされたファイルを参照するFDは、
GC(Young GC / Mixed GC / etc.)の際に解放される
Open