如何从 ignite/gridgain 捕获操作统计信息,例如 puts/sec、gets/sec 每个服务器。
是否可以将它们输出到某个文件中以便我们以后分析它们?
可以使用方法获取特定服务器节点的缓存统计信息IgniteCache.metrics(ClusterGroup grp)
,如下所示:
ClusterGroup grp = ignite.cluster().forNodeId(SERVER_NODE_ID);
CacheMetrics metrics = cache.metrics(grp);
long puts = metrics.getCachePuts();
long gets = metrics.getCacheGets();
您可以定期获取它们,计算这段时间的吞吐量值(您必须保存以前的快照)并记录到文件中。
请注意,出于性能原因,默认情况下禁用指标。要启用它们,请将statisticsEnabled
标志设置CacheConfiguration
为true
:
cacheCfg.setStatisticsEnabled(true);
希望这可以帮助。