如何从ignite / gridgain中捕获每个服务器的puts / sec,gets / sec等操作统计信息。
是否可以将它们输出到某个文件中,以便我们以后可以对它们进行分析?
答案 0 :(得分:4)
可以使用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);
希望这有帮助。