C# 在ApacheIgnite中插入大量数据

C# 在ApacheIgnite中插入大量数据,c#,ignite,C#,Ignite,我正在使用ApacheIgnite.NET瘦客户端2.8.1在ApacheIgnite节点中插入大量数据。Ignite托管在Amazon Linux AMI上。 我正在尝试使用PutalAsync方法插入超过500000条记录: await cacheClient.PutAllAsync(entities); // ICacheClient<int, T> 以及ignite日志中的以下错误: [07:44:53,529][WARNING][grid-timeout-worker-#

我正在使用ApacheIgnite.NET瘦客户端
2.8.1
在ApacheIgnite节点中插入大量数据。Ignite托管在Amazon Linux AMI上。 我正在尝试使用PutalAsync方法插入超过500000条记录:

await cacheClient.PutAllAsync(entities); // ICacheClient<int, T>
以及ignite日志中的以下错误:

[07:44:53,529][WARNING][grid-timeout-worker-#22][ClientListenerNioListener] Unable to perform handshake within timeout [timeout=10000, remoteAddr=/172.31.56.14:52631]
对于如何在ignite缓存中插入5000多条记录,是否有最佳做法?在事务中插入批处理?

  • 也许你真的需要使用某种流媒体模式
  • 如果你有持久性,考虑预先禁用WAL。
  • 也许你遇到了一些具体的问题,比如。如果您可以使用较小的批次来解决此问题,请尝试
  • 尝试在ClientConnectorConfiguration和client configuration中调整瘦客户端的超时
Ignite托管在Amazon Linux AMI上

在哪里运行瘦客户机?我怀疑问题可能只是服务器和客户端之间的连接速度低

  • 你能测试一下连接速度吗
  • 数据的大小是多少,以兆字节为单位
  • 10、100、1000个条目需要多少时间
瘦客户端中没有
DataStreamer
(尚未),因此我的建议如下:

  • 将一个大的
    PutAll
    拆分为多个小的(例如,一次100个条目)
  • 增加和上的超时

Apache Ignite没有流媒体模式吗?检查和C#example@PanagiotisKanavos瘦客户端yetTnank中没有流,增加客户端超时修复了该问题。稍后将尝试实施批插入。
[07:44:53,529][WARNING][grid-timeout-worker-#22][ClientListenerNioListener] Unable to perform handshake within timeout [timeout=10000, remoteAddr=/172.31.56.14:52631]