diff --git a/machmeter/usecases/finance/ledger/templates/finance-ledger-perf.jmx b/machmeter/usecases/finance/ledger/templates/finance-ledger-perf.jmx index ba8e06f..74dfead 100644 --- a/machmeter/usecases/finance/ledger/templates/finance-ledger-perf.jmx +++ b/machmeter/usecases/finance/ledger/templates/finance-ledger-perf.jmx @@ -222,7 +222,7 @@ SampleResult.setRequestHeaders(spanner.toString()); 1 ThroughputController.percentThroughput - 12.0 + 10.0 0.0 @@ -239,7 +239,7 @@ import com.google.cloud.Timestamp; DatabaseClient dbClient = props.get("dbClient"); String userId = vars.get("userId"); -String txnId = vars.get("txnId"); +String txnId = UUID.randomUUID().toString();; double randomAmount = Double.parseDouble(vars.get("randomAmount")); dbClient @@ -262,19 +262,6 @@ dbClient .to(randomAmount) .set("RewardType") .to("COINS") - .set("TransactionSource") - .to("LOADTEST") - .set("TransactionStatus") - .to("SUCCESS") - .set("TransactionType") - .to("Credit") - .build()); - transaction.buffer( - Mutation.newUpdateBuilder("user_bal") - .set("UserId") - .to(userId) - .set("Balance") - .to(balance + randomAmount) .build()); } ); @@ -284,12 +271,10 @@ dbClient - txnId randomAmount - - ${__UUID()} + ${__Random(0000,9999)} @@ -304,7 +289,7 @@ dbClient 1 ThroughputController.percentThroughput - 24.06 + 30.0 0.0 @@ -331,11 +316,37 @@ ResultSet result = dbClient String responseHeader = ""; while (result.next()) { - responseHeader += " Balance: " +result.getDouble("Balance"); } result.close(); + + + + + groovy + + + true + import com.google.cloud.spanner.*; +import java.util.concurrent.TimeUnit; + +DatabaseClient dbClient = props.get("dbClient"); + +String userId = vars.get("userId"); +String readBalanceSql = "Select Balance from user_bal where UserId = @userId"; +Statement stmt = Statement.newBuilder(readBalanceSql) + .bind("userId").to(userId) + .build(); + +ResultSet result = dbClient + .singleUse(TimestampBound.ofExactStaleness(1, TimeUnit.SECONDS)) + .executeQuery(stmt); -SampleResult.setRequestHeaders(responseHeader); + +String responseHeader = ""; +while (result.next()) { +} +result.close(); + @@ -345,7 +356,7 @@ SampleResult.setRequestHeaders(responseHeader); 1 ThroughputController.percentThroughput - 63.16 + 10.0 0.0 @@ -362,13 +373,13 @@ import com.google.cloud.Timestamp; DatabaseClient dbClient = props.get("dbClient"); String userId = vars.get("userId"); -String txnId = vars.get("txnId"); +double randomAmount = 10.0; Mutation mutation = Mutation.newUpdateBuilder("user_bal") .set("UserId") .to(userId) - .set("StreakDay") - .to(10) + .set("balance") + .to(randomAmount) .build(); ArrayList<Mutation> mutations = new ArrayList<>(); @@ -385,7 +396,7 @@ SampleResult.setRequestHeaders(mutation.toString()); 1 ThroughputController.percentThroughput - 0.12 + 30.0 0.0 @@ -396,28 +407,27 @@ SampleResult.setRequestHeaders(mutation.toString()); true import com.google.cloud.spanner.*; +import java.util.concurrent.TimeUnit; DatabaseClient dbClient = props.get("dbClient"); String loadedTxnId = vars.get("loaded_txnId"); -String sql = "Select * from user_txns where transactionid = @loadedTxnId"; +String sql = "Select balance from user_txns where transactionid = @loadedTxnId limit 1"; Statement stmt = Statement.newBuilder(sql) .bind("loadedTxnId") .to(loadedTxnId) .build(); ResultSet result = dbClient - .singleUseReadOnlyTransaction() - .executeQuery(stmt); + .singleUse(TimestampBound.ofExactStaleness(1, TimeUnit.SECONDS)) + .executeQuery(stmt); + String responseHeader = ""; while (result.next()) { - responseHeader += " Userid: " +result.getString(0); } -result.close(); - -SampleResult.setRequestHeaders(responseHeader); +result.close(); @@ -427,7 +437,7 @@ SampleResult.setRequestHeaders(responseHeader); 1 ThroughputController.percentThroughput - 0.62 + 20.0 0.0 @@ -438,10 +448,11 @@ SampleResult.setRequestHeaders(responseHeader); true import com.google.cloud.spanner.*; +import java.util.concurrent.TimeUnit; DatabaseClient dbClient = props.get("dbClient"); -String sql = "select * from user_txns where UserId= @user_id"; +String sql = "select userId from user_txns where UserId= @user_id limit 1"; String userId = vars.get("userId"); Statement stmt = Statement.newBuilder(sql) @@ -450,20 +461,19 @@ Statement stmt = Statement.newBuilder(sql) .build(); ResultSet result = dbClient - .singleUseReadOnlyTransaction() - .executeQuery(stmt); + .singleUse(TimestampBound.ofExactStaleness(1, TimeUnit.SECONDS)) + .executeQuery(stmt); + String responseHeader = ""; while (result.next()) { - responseHeader += " Userid: " +result.getString(0); } result.close(); - -SampleResult.setRequestHeaders(responseHeader); + - +