首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于Apache,加权平均值需要多长时间?

对于Apache,加权平均值需要多长时间?
EN

Stack Overflow用户
提问于 2016-08-02 10:25:28
回答 1查看 417关注 0票数 1

我目前正在为一个近乎实时的应用程序对Appache Ignite进行基准测试,对于一个相对较小的样本大小,简单的操作似乎过于缓慢。下面给出了设置的细节和时间--请参见下面的两个问题.

设置:

  • 缓存模式:分区
  • 服务器节点数:3个
  • CPU:每个节点4个(12)
  • 堆大小:每个节点2GB (6GB)

第一个用例是以不同的速率计算对象的两个字段的加权平均值。

第一个方法是运行SQL样式查询:

代码语言:javascript
运行
复制
...
query = new SqlFieldsQuery("select SUM(field1*field2)/SUM(field2) from MyObject");
cache.query(query).getAll();
....

观察到的时间安排如下:

缓存: 500,000次查询/秒: 10

中位数:428 Median,第90百分位数:13 929 Median

缓存: 500,000次查询/秒: 50

中位数:191,465 Median,第90百分位数:402,285 Median

显然,这是队列的巨大延迟(>400毫秒),一个简单的加权平均计算单jvm (4个核心)需要6毫秒。

第二种方法是使用IgniteCompute在各个节点上广播可调用的数据,并计算每个节点的加权平均值,在调用方减少,延迟只稍微好一些,吞吐量提高了,但仍然处于不可用的水平。

缓存: 500,000次查询/秒: 10

中位数:408 Median,第90百分位数:507 Median

缓存: 500,000次查询/秒: 50

中位数:114,155 Median,第90百分位数:237,521 Median

我在实验中注意到了一些事情:

  • 没有发生磁盘交换。
  • CPU以400%的速度运行。
  • 查询被分成两个不同的加权平均值(map缩减)。
  • 条目在节点之间平均分配。
  • 在每个堆大小约为500 No的情况下,不会触发垃圾回收。

对于我的问题:

  1. 这些时间是预期的还是有明显的设置我错过了?我找不到类似操作的基准。
  2. 建议在不移动数据的情况下在点燃上运行叉连接式计算的建议方法是什么?
EN

回答 1

Stack Overflow用户

发布于 2016-08-10 04:30:14

本主题在Apache用户论坛:http://apache-ignite-users.70518.x6.nabble.com/Ignite-performance-td6703.html上进行了详细讨论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38717872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档