Hi,

With the help of JuZheng[1][2], we managed to deploy the saga-spring-demo
into K8s and start the Jmeter tests for it. By running the test for a
while, the DB CPU usage is very high and the response time is up 2~3
seconds per call.

It looks like all the event are stored into the database in the same table
and never cleaned.
Now we are thinking use redis to store the hot data (the saga transaction
which is not closed), and put the cold data (which is used for auditing)
into database.  In this way it could keep the event data smaller and the
event sanner[4] can just go through the unfinished the Saga transactions to
fire the timeout event or the compensation event.

Any thought?

[1]https://github.com/apache/incubator-servicecomb-saga/pull/250
[2]https://github.com/apache/incubator-servicecomb-saga/pull/252
[3]
https://github.com/apache/incubator-servicecomb-saga/tree/master/saga-demo/saga-spring-demo
[4]
https://github.com/apache/incubator-servicecomb-saga/blob/44491f1dcbb9353792cb44d0be60946e0e4d7a1a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/EventScanner.java

Willem Jiang

Twitter: willemjiang
Weibo: 姜宁willem

Reply via email to