We are getting very slow response to our queries.

Hi Everyone,

We want to use Event Store in our basket as a data store.(for all reads) We create a unique stream for each basket aggregate and then we append all the events we created to this unique stream. Also, we create a projection for each stream and we make all our basket queries using these projections. We have 3 different event store clusters. we use linker for data synchronization. We are getting very slow response to our queries. If we are making a stupid mistake, would you please share your valuable ideas with me?
I am sharing a simple example with you below.

(i.e. http://127.0.0.1:2113/projection/projection-basket-492a4e98-43c3-47e2-bad4-611f32d9440d/result => 1.8 sec response time (avg.) / 1 K Concurrent read query)

Stream :

sample-stream.png

Sample Projection :

sample-projection.png

A projection per basket, that seems overkill and probably the source of your woes.

You are better of creating a subscription to the $ce-basket stream from another application and building out your query models there in a different database.

We have solved this using a .net application subscription to our cart stream and write out the read models for each cart in mongo. Using EventStore for read models is not really where it shines. You should only need a single subscription to $ce-basket (provided you are running the in-built category projection) and write out the data to a more appropriate, queryable format.