public async Task <ActionResult <string> > FKInsertPerf() { var q = new Store.TableScan(Consts.SYS_EMPLOEE_MODEL_ID); q.Filter(q.GetString(Consts.EMPLOEE_NAME_ID) == "Admin"); var emps = await q.ToListAsync(); var model = await RuntimeContext.Current.GetModelAsync <EntityModel>(Consts.SYS_ORGUNIT_MODEL_ID); return(await SimplePerfTest.Run(64, 1000, async (i, j) => { var ou = new Entity(model); ou.SetString(1 << IdUtil.MEMBERID_SEQ_OFFSET, "OUName"); ou.SetEntityId(2 << IdUtil.MEMBERID_SEQ_OFFSET, emps[0].Id); var txn = await Store.Transaction.BeginAsync(); try { await Store.EntityStore.InsertEntityAsync(ou, txn); await txn.CommitAsync(); } catch (Exception ex) { txn.Rollback(); Console.WriteLine($"Insert orgunit error: {ex.Message}"); } })); }
public async Task <string> IndexGetPerf() { return(await SimplePerfTest.Run(64, 2000, async (i, j) => { var q = new Store.IndexGet(Consts.SYS_EMPLOEE_MODEL_ID, Consts.EMPLOEE_UI_ACCOUNT_ID); q.Where(new Store.KeyPredicate(Consts.EMPLOEE_ACCOUNT_ID, Store.KeyPredicateType.Equal, "Admin")); var _ = await q.ToIndexRowAsync(); })); }
public async Task <ActionResult <string> > KVInsertPerf() { return(await SimplePerfTest.Run(64, 1000, async (i, j) => { var txn = await Store.Transaction.BeginAsync(); await KVInsertAsync(txn.Handle); await KVInsertAsync(txn.Handle); await txn.CommitAsync(); })); }
public async Task <ActionResult <string> > InsertPerf(int tasks, int loop) { if (tasks <= 0 || loop <= 0) { throw new ArgumentOutOfRangeException(); } return(await SimplePerfTest.Run(tasks, loop, async (i, j) => { await InsertEmploeeAsync(); })); }
public async Task <string> LoadEntitySetPerf() { var q = new Store.TableScan(Consts.SYS_ORGUNIT_MODEL_ID); q.Filter(q.GetString(Consts.ORGUNIT_NAME_ID) == "IT Dept"); var parent = await q.ToListAsync(); var parentId = parent[0].Id; return(await SimplePerfTest.Run(32, 4000, async (i, j) => { await Store.EntityStore.LoadEntitySetAsync(Consts.SYS_ORGUNIT_MODEL_ID, parentId, Consts.ORGUNIT_CHILDS_ID); })); }
public async Task <ActionResult <string> > ScanPerf(int tasks, int loop) { if (tasks <= 0 || loop <= 0) { throw new ArgumentOutOfRangeException(); } return(await SimplePerfTest.Run(tasks, loop, async (i, j) => { var q = new Store.TableScan(Consts.SYS_EMPLOEE_MODEL_ID); q.Filter(q.GetString(Consts.EMPLOEE_NAME_ID) == "Admin"); await q.ToListAsync(); })); }
public async Task <ActionResult <string> > UIPerf() { var model = await RuntimeContext.Current.GetModelAsync <EntityModel>(Consts.SYS_EMPLOEE_MODEL_ID); return(await SimplePerfTest.Run(8, 2000, async (i, j) => { var txn = await Store.Transaction.BeginAsync(); var emp = new Entity(model); emp.SetString(Consts.EMPLOEE_NAME_ID, "Admin"); emp.SetString(Consts.EMPLOEE_ACCOUNT_ID, "Admin"); try { await Store.EntityStore.InsertEntityAsync(emp, txn); await txn.CommitAsync(); } catch (Exception) { txn.Rollback(); } })); }