Ignite分区缓存性能和改进(如果有)

时间:2017-12-18 18:23:39

标签: performance ignite

我正在尝试通过使用Apache Ignite Partitioned缓存模式来优化我遇到的性能,并且使用SQL查询基于某些值过滤缓存的简单操作对于相对较小的样本大小似乎很慢。以下是设置细节和时间 -

设置 -

  • 缓存模式:已分区
  • CPU:每个节点8个
  • 否。服务器:5(从每个服务器运行2个节点的1到10个节点进行此测试)

SQL查询看起来像这样 - 基于对日期列和缓存的7个其他整数列进行过滤来选择5列(在cacheTable中总共有30列)

query = new SqlFieldsQuery("SELECT field1, field2, field3, field4, field5 FROM cacheTable 
          WHERE dateColumn >= date1 AND dateColumn <= date2 AND filter1 = value1 
          AND filter2 = value2 AND filter3 = value3 AND filter4 = value4
          AND filter5 = value5 AND filter6 = value6 AND filter7 = value7");

cache.query(query).getAll();

缓存中的记录(或行)总数约为 400K ,过滤后返回 31K 记录。观察到的节点数量时间为:

No. of nodes  Query Time (in ms)
1             317
2             215
3             171
4             176
5             126
6             114
7             96
8             92
9             133
10            125

即使在启动10个节点后,我们发现一个简单的过滤查询仍需要大约92毫秒(最小值)。 这些时间到期了吗? 是否有任何建议的配置更改可能会改善这些数字?

对于这种过滤查询,我们的SLA大约为20毫秒。是否有可能通过进一步提高性能来实现这一目标?

0 个答案:

没有答案