我试图在客户机/服务器拓扑上的分区区域上运行一个简单的查询,例如“选择键,从/区域中按名称限制,按名称限制输入名称”。表演很糟糕。处理所有1000条记录花费了10多秒钟的时间。我的客户端应用程序使用spring-data-gemfire。从客户端进行的调试表明,结果以10个块的形式返回。无论我如何更改套接字缓冲区大小和结果对象大小,每个块最多只能有100条记录(例如,我仅测试了返回键)。检出geode源代码,我找不到设置100限制的位置。我在想,如果我可以增加每个块的对象数,那么我也许可以解决此性能问题。但这是可配置的吗?
答案 0 :(得分:0)
看起来块大小是由系统属性“ BridgeServer.MAXIMUM_CHUNK_SIZE”控制的。因此,您可以尝试在服务器上设置该系统属性以增加块大小。
我确实想知道您的性能问题是否实际上是由于块大小引起的。在分区区域上的使用顺序将很昂贵,因为在应用限制之前,它必须从所有分区中获取数据并合并它们。不用按顺序尝试相同的查询也是值得的。