全球領先的科技公司 Yandex 開發並開源了 Perforator,這是一款用於對伺服器和應用程式進行持續實時監控和分析的創新工具。
Perforator 幫助開發人員識別最佔資源的程式碼部分,並提供詳細的統計資料,以便進行後續最佳化。透過識別程式碼中的低效部分並支援基於配置檔案的最佳化,Perforator 提供了準確的資料,使企業能夠手動最佳化其應用程式,根據公司規模,降低基礎設施成本最多可達 20%。這每年可能節省數百萬甚至數十億美元。
“Perforator 幫助企業在不犧牲效能的情況下最大化伺服器的使用效率,” Yandex 的高階開發人員、Perforator 團隊負責人 Sergey Skvortsov 表示。“企業使用 Perforator 可以最佳化程式碼,減少伺服器負載,最終降低能源和裝置成本。”
為什麼使用 Perforator?
資源最佳化對於大型資料中心、大型科技公司以及資源有限的小型企業和初創公司至關重要。公司可以利用 Perforator 最佳化現有的基礎設施,而無需投資額外的裝置,也不犧牲效能。該工具已經在 Yandex 的許多服務中使用了超過一年,現在可以供全球的公司、開發人員和研究人員使用。
公司可以將 Perforator 部署在自己的伺服器上,減少對外部雲服務提供商的依賴,同時保持對資料的完全控制。這使得 Perforator 非常適合那些對資料安全要求嚴格且在封閉基礎設施中運營的組織。
“Perforator 可以為各種規模的公司帶來益處,從擁有 10 至 100 臺伺服器的小型企業,每年節省數百萬美元,到擁有數千臺伺服器甚至更多的大型企業,每年節省數億美元甚至數十億美元,” Sergey Skvortsov 指出。“無論公司規模如何,Perforator 都能幫助您減少基礎設施成本,為進一步的創新和增長釋放更多資源。”
Perforator 如何工作
Perforator 提供了關於伺服器資源使用的詳細洞察,並分析程式碼對效能的影響,突出了哪些應用程式消耗了最多的系統資源。Perforator 使用 eBPF 技術在 Linux 核心中執行小程式,既安全又不會拖慢系統速度。eBPF 能夠在不更改原始碼的情況下,改善監控、安全性和效能最佳化。
Perforator 支援 C、C++、Go、Rust、Python 和 Java 等原生程式語言。該解決方案透過火焰圖提供深入的分析和資料視覺化,使問題診斷變得易於管理。
Perforator 生成的火焰圖示例
“Perforator 在 Yandex 的高需求環境中經過了超過一年的實戰測試,提供了廣泛的功能,使其成為一款可靠且多功能的伺服器效能監控和最佳化解決方案,” Sergey Skvortsov補充道。
Perforator 的一個關鍵優勢是支援基於配置檔案的最佳化(PGO),它能夠自動將 C++ 程式的速度提高多達 10%。此外,Perforator 設計可以在個別計算機上無縫執行,使其不僅適合大型企業,還能為初創公司和科技愛好者提供便利。更重要的是,Perforator 為大企業提供了包括 A/B 測試功能在內的重要特性,幫助做出更明智的決策。
為開發人員和企業提供的開源解決方案
將 Perforator 開源的決定體現了 Yandex 致力於促進社群合作開發系統技術的承諾。
“我們相信,開源諸如此類基礎系統的技術能夠推動全球技術創新,” Sergey Skvortsov 補充道。
“我們的目標是讓我們的技術造福全球,併為開發人員和企業提供價值。此外,技術的開放性使我們能夠與社群共同做出有關配置檔案分析基礎設施開發的決策。”
接下來會發生什麼?
Perforator 將在近期增加更多功能,包括與 Python 和 Java 的更好整合以及對事件的更精確分析。
Perforator 的原始碼現已在 GitHub,上公開,和其他 Yandex 開源解決方案一起提供,如YaFSDP,這是一個旨在加速大語言模型訓練的工具。
Perforator 是 Yandex 開源工具系列中的最新成員。您可以在此頁面檢視該公司所有的開源專案,包括 YaFSDP、AQLM、Ytsaurus 等。