我使用的是ESDB v20.10.2.0。这将部署在Kubernetes集群中的docker容器中;数据和日志存储在同一个安装目录中。我们使用Java客户端从esdb服务器读取流,pfb是代码片段。
ReadStreamOptions readStreamOptions = ReadStreamOptions.get().fromStart().notResolveLinkTos();
DomainEventDeserializer deSerializer = new DomainEventDeserializer();
try {
List<ResolvedEvent> resolvedEvents =
client.readStream(addPrefix(aggregateId), readStreamOptions).get().getEvents();
return resolvedEvents
.stream()
.map(
resolvedEvent -> {
byte[] eventData = resolvedEvent.getOriginalEvent().getEventData();
return deSerializer.deserialize(null, eventData);
})
.filter(data -> data != null)
.collect(Collectors.toCollection(LinkedHashSet::new));从esdb读取事件所花费的时间是从sql读取某些内容的时间的3倍。我想知道什么是最优的配置,以及如何提高读取性能。
.\EventStore.ClusterNode.exe --db .\db -日志.\logs -不安全-运行-所有-启用-原子-发布-http-启用-直方图-读取器-线程数-计数-工作线程- 10 -日志-http-请求。
这是用于在本地系统中运行esdb的命令,在kubernetes集群中也启用了相同的选项。
发布于 2021-09-01 18:28:14
我无法解释你为什么要根据你分享的内容得出这些结果,但在这个问题上有几个注意事项:
https://stackoverflow.com/questions/69017683
复制相似问题