-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[METRICS] MetricStore
takes a considerable amount of time to sample a large-scale cluster.
#1615
Comments
MetricStore
sampling at large-scale cluster takes a considerable amount of timeMetricStore
takes a considerable amount of time to sample a large-scale cluster.
@chinghongfang 有什麼想法嗎?或許我們上次討論到的 |
這是我用之前的
這是我用現在的版本測的結果
全部 mbeans 都拉的數量,大約是 1.71 倍 指定 mbean 數量,所以我想如果只拉指定 mbean 的話可以降低拉取時間。 |
讚讚,開個 PR 來看看有哪些一定要拿的指標 |
我嘗試測試拉取大量 metrics 的情境,在“建立大量空的topic/partition“的拉取測試下,我看到的數據如下:
跟你們貼出來的數據落差蠻大的,所以我想請問一下你們測試的過程是有一邊灌資料嗎?也就是有其他佔用資源的狀況? |
沒有一邊灌資料,5 broker 建立好 10000 topic-partition 後就沒有做任何事了。
請問這個是 beans 的數量是 allBeans.forEach(
(id, bs) -> {
var client = MBeanClient.of(bs);
var clusterBean = clusterBean();
lastSensors.forEach(
(sensor, errorHandler) -> {
try {
beans
.computeIfAbsent(id, ignored -> new ConcurrentLinkedQueue<>())
.addAll(sensor.fetch(client, clusterBean));
} catch (Exception e) {
errorHandler.accept(id, e);
}
});
}); fetch 可能只有一次,但若出現相同的 |
如果是這樣,那故事就有兩個要討論,第一個是拉取的速度、另一個是處理 (sensor) 的速度。我想先確定第一個故事是否真的存在 |
我用跨縣市的連線,重試 #1615 提到的測量方法,用最新的 main,測量的時候沒有資料讀寫 現在我和 Broker 的 Network Latency 大約是 5ms (透過 ping 測試)
我換到從網路拓樸上,更接近 Broker 的設備執行上述的測試。 設備和 Kafka Broker 之間的 Network Latency 是 0.20 ms (透過 ping 測試)
|
@garyparrot ok,感謝回覆。你提供的兩個點還蠻重要的,一般來說 balancer 會運作在離伺服器端較近的地方(維運的人),但其他客戶端 (producer and consumer) 則反過來會比較遠(vpn)也有可能。所以考量 producer and consumer 的情境,這段我們還是需要試著縮減一下多餘的 query/fetch |
套用 #1476 這個有 10000 多個 Partition 的情境,進行資料的撈取測試:
然後對下列程式碼測量 209 行撈取的時間。
https://github.com/skiptests/astraea/blob/0b9fae3eb5026993f97d2918bc2a2c8087656f5b/common/src/main/java/org/astraea/common/metrics/collector/MetricsFetcher.java#L205-L215
測量用的程式碼
執行結果 (Client 和 Broker JMX 設備之間的 RTT 約 1.5ms)
一個節點一次的撈取大約要耗費 13 秒到 46 秒。
The text was updated successfully, but these errors were encountered: