簡易檢索 / 詳目顯示

研究生: 方竫泓
Fang, Ching-Hong
論文名稱: 效能指標系統的設計及其效能探討:以 Apache Kafka 為例
The Design of a Novel Performance Metric System and Its Efficiency Study: The Case of Apache Kafka
指導教授: 蕭宏章
Hsiao, Hung-Chang
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2023
畢業學年度: 111
語文別: 中文
論文頁數: 35
中文關鍵詞: Apache Kafka效能指標效能監控
外文關鍵詞: Apache Kafka, Metric, monitoring
相關次數: 點閱:48下載:9
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • Apache Kafka 是一個分散式訊息串流平台,其大數據的即時串流與儲存能力使 Apache Kafka 有廣大的使用者。監控 Kafka 效能指標將有助了解叢集狀況,使用者可以利用取得的效能指標分析系統狀況,或者即時調整叢集負載狀況。然而,Kafka 的效能指標索取介面並非作為大量供給使用,叢集難以應付多個需求端索取叢集效能指標。

    本研究提出效能指標收集與查詢系統,根據效能指標儲存的特性設計系統;利用效能指標讀取的特性,集中收集節點效能指標,以及利用 Kafka 對大數據串流的優化,降低每筆效能指標獲取的成本,使得本系統得以供給大量效能指標給予大量需求端,讓所有需求端即時且有效率的取得詳細 Kafka 叢集效能指標。

    本文對於所提出之系統效能做估算,評估本系統最佳優化效益在於讀取效能指標的重複性和 Kafka 對大數據串流的優化。我們實驗結果顯示,在大量需求端請求及大量效能指標下使用我們的系統,效能指標需求端連線數明顯降低。

    Apache Kafka is a widely used distributed event streaming platform due to its real-time streaming and storage capabilities for big data. Monitoring Kafka metrics will assist in comprehending the status of the cluster. Users can employ metrics to analyze the system or balance the cluster load on-the-fly. Nevertheless, the interface for Kafka's metric querying is not suited for mass provisioning, making it difficult for clusters to cope with numerous demands for cluster metrics.

    This study presents a metrics collection and query system designed based on the storage and reading characteristics of metrics. The system concentrates on collecting metrics from nodes and benefits from Kafka's optimization of big data streaming to reduce costs associated with obtaining each metric. This enables the system to provide numerous metrics to demand-side parties and allows them to acquire detailed Kafka cluster metrics in an efficient, real-time manner.

    This paper estimates the proposed system's performance and evaluates the best optimization benefits of the system in terms of the repetitiveness of reading performance metrics and the optimization of Kafka for big data streaming. Experimental results show that our system decreases the number of demand-side TCP socket connections significantly when used to handle a large number of demand-side requests and metrics.

    摘要 i 英文延伸摘要 ii 誌謝 v 目錄 vi 表格 viii 圖片 ix Chapter 1. 緒論 1 1.1. 問題與挑戰 1 1.2. 提出方法 2 1.3. 相關研究 3 1.4. 本文貢獻 3 1.5. 論文結構 4 Chapter 2. 背景 5 2.1. 效能指標 5 2.2. Apache Kafka 介紹 5 2.2.1. 實體元件 5 2.2.2. 抽象概念 6 2.3. Apache Kafka 效能指標 6 2.4. Java Management Extension (JMX) 7 Chapter 3. 問題描述 8 3.1. 效能指標數字:儲存與使用特性 8 3.1.1. 儲存效能數字的角度 8 3.1.2. 讀取效能數字的角度 8 3.2. 取得效能指標的挑戰 9 Chapter 4. 效能指標收集與查詢系統 11 4.1. 系統架構設計 11 4.1.1. Metric Publisher 11 4.1.2. 效能指標查詢函式庫 12 4.2. 運作流程 12 4.3. 系統分析 14 4.3.1. 效能指標儲存特性 14 4.3.2. 效能指標讀取特性 15 Chapter 5. 系統負載估算 16 5.1. 無效能指標收集與查詢系統 16 5.2. 使用效能指標收集與查詢系統 17 5.2.1. Metric Publisher 資源消耗 17 5.2.2. Client 資源消耗 17 5.2.3. Broker 資源消耗 18 5.3. 資源消耗比較 18 5.3.1. client 資源消耗比較 18 5.3.2. broker 資源消耗比較 19 Chapter 6. 相關研究 20 Chapter 7. 效能評估佐證 22 7.1. 硬體設備 22 7.2. 實驗情境 23 7.3. 實驗架構 23 7.4. 實驗結果 24 7.4.1. Producer 資源使用狀況 24 7.4.2. Broker 資源使用狀況 26 7.4.3. Web Service + Broker 資源使用狀況 27 7.4.4. Metric Publisher + Broker 資源使用狀況 28 Chapter 8. 結論與未來規劃 29 參考文獻 30 Appendix A. 實驗索取之效能指標種類 32

    [1] node_exporter. https://github.com/prometheus/node_exporter/.
    [2] jmxtrans. https://github.com/jmxtrans/jmxtrans.
    [3] Grafana. https://grafana.com/.
    [4] Graphite. https://graphiteapp.org/.
    [5] Prometheus. https://prometheus.io/.
    [6] Apache Kafka. https://kafka.apache.org/.
    [7] Protocol Buffers. https://protobuf.dev/.
    [8] Monitoring and Management Using JMX Technology. https://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html.
    [9] OpenTSDB. https://github.com/OpenTSDB/opentsdb.
    [10] InfluxDB. https://www.influxdata.com/.
    [11] collectd. https://collectd.org/.
    [12] Guenter Hesse, Christoph Matthies, and Matthias Uflacker. How fast can we insert? an empirical performance evaluation of apache kafka. 2020 IEEE 26th International Conference on Parallel and Distributed Systems (ICPADS), pages 641–648, 2020.
    [13] R. Hofmann, R. Klar, B. Mohr, A. Quick, and M. Siegle. Distributed performance monitoring: methods, tools, and applications. IEEE Transactions on Parallel and Distributed Systems, 5(6):585–598, 1994.
    [14] Jeffrey Joyce, Greg Lomow, Konrad Slind, and Brian Unger. Monitoring distributed systems. ACM Trans. Comput. Syst., 5(2):121–150, mar 1987.
    [15] Jay Kreps, Neha Narkhede, Jun Rao, et al. Kafka: A distributed messaging system for log processing. In Proceedings of the NetDB, volume 11, pages 1–7. Athens, Greece, 2011.
    [16] Yuansheng Lou, Lin Chen, Feng Ye, Yong Chen, and Zihao Liu. Research and implementation of an aquaculture monitoring system based on flink, mongodb and kafka. In João M. F. Rodrigues, Pedro J. S. Cardoso, Jânio Monteiro, Roberto Lam, Valeria V. Krzhizhanovskaya, Michael H. Lees, Jack J. Dongarra, and Peter M.A. Sloot, editors, Computational Science – ICCS 2019, pages 648–657, Cham, 2019. Springer International Publishing.
    [17] Kim-Thomas Rehmann, Changyun Seo, Dongwon Hwang, Binh Than Truong, Alexander Boehm, and Dong Hun Lee. Performance monitoring in sap hana’s continuous integration process. SIGMETRICS Perform. Eval. Rev., 43(4):43–52, feb 2016.
    [18] Gwen Shapira, Neha Narkhede, Todd Palino, 許致軒, 蔡政廷, and 李尚譯. Kafka 技術手冊|即時資料與串流處理. 碁峰資訊股份有限公司, 台北市南港區三重路 66 號 7 樓之 6, 2019.
    [19] Dimitris Stripelis, José Luis Ambite, Yao-Yi Chiang, Sandrah P. Eckel, and Rima Habre. A scalable data integration and analysis architecture for sensor data of pediatric asthma. In 2017 IEEE 33rd International Conference on Data Engineering (ICDE), pages 1407–1408, 2017.
    [20] N Sudhakar Yadav, B Eswara Reddy, and KG Srinivasa. Cloud-based healthcare monitoring system using storm and kafka. Towards extensible and adaptable methods in computing, pages 99–106, 2018.
    [21] Eno Thereska, Brandon Salmon, John Strunk, Matthew Wachs, Michael Abd-El-Malek, Julio Lopez, and Gregory R. Ganger. Stardust: Tracking activity in a distributed storage system. SIGMETRICS Perform. Eval. Rev., 34(1):3–14, jun 2006.
    [22] Robbert Van Renesse, Kenneth P. Birman, and Werner Vogels. Astrolabe: A robust and scalable technology for distributed system monitoring, management, and data mining. ACM Trans. Comput. Syst., 21(2):164–206, may 2003.
    [23] D. Wybranietz and D. Haban. Monitoring and performance measuring distributed systems during operation. SIGMETRICS Perform. Eval. Rev., 16(1):197–206, may 1988.

    下載圖示 校內:立即公開
    校外:立即公開
    QR CODE