示例#1
0
        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}");
                }
            }));
        }
示例#2
0
 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();
     }));
 }
示例#3
0
 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();
     }));
 }
示例#4
0
        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();
            }));
        }
示例#5
0
        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);
            }));
        }
示例#6
0
        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();
            }));
        }
示例#7
0
        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();
                }
            }));
        }