예제 #1
0
        public override async Task InsertTest()
        {
            string connString =
                "Server=127.0.0.1; User Id=postgres; Database=benchmark; Port=5432; Password=pass.123; SSL Mode=Prefer; Trust Server Certificate=true";
            var fakeuserUSers = UserUtility.GetFakeUsers(Times).Select(a => JsonConvert.SerializeObject(a));

            using (var conn = new NpgsqlConnection(connString))
            {
                conn.Open();


                using (var writer =
                           conn.BeginBinaryImport(
                               "COPY test.users (\"User\") FROM STDIN (FORMAT BINARY)")
                       )
                {
                    foreach (var user in fakeuserUSers)
                    {
                        writer.StartRow();
                        writer.Write(user, NpgsqlDbType.Json);
                    }


                    writer.Complete();
                }
            }
        }
예제 #2
0
        public override async Task InsertTest()
        {
            var client     = new MongoClient();
            var db         = client.GetDatabase("benchmark");
            var collection = db.GetCollection <User>("users");
            var fakesUsers = UserUtility.GetFakeUsers(Times);

            await collection.InsertManyAsync(fakesUsers);
        }
예제 #3
0
        public override async Task InsertTest()
        {
            var connectionString = "http://localhost:5984/";
            var client           = new CouchClient(connectionString);
            var db = await client.GetDatabaseAsync("benchmark");

            var fakesUsers = UserUtility.GetFakeUsers(Times);

            foreach (var userList in UserUtility.SpiltBySize(fakesUsers, 10000))
            {
                await db.BulkInsertAsync(userList.ToArray());
            }
        }
예제 #4
0
        public override async Task InsertTest()
        {
            var store = new DocumentStore
            {
                Urls = new string[] { "http://localhost:8080" },
            };

            store.Initialize();
            var fakeuserUSers = UserUtility.GetFakeUsers(Times);

            using (BulkInsertOperation bulkInsert = store.BulkInsert("benchmark"))
            {
                foreach (var user in fakeuserUSers)
                {
                    bulkInsert.Store(user);
                }
            }
        }
예제 #5
0
        public override async Task InsertTest()
        {
            ArangoDatabase.ChangeSetting(s =>
            {
                s.Database = "benchmark";
                s.Url      = "http://localhost:8529";

                // you can set other settings if you need
                s.Credential = new NetworkCredential("root", "pass.123");
                s.SystemDatabaseCredential = new NetworkCredential("root", "pass.123");
            });
            var fakesUsers = UserUtility.GetFakeUsers(Times);

            using (var db = ArangoDatabase.CreateWithSetting())
            {
                foreach (var userList in UserUtility.SpiltBySize(fakesUsers, 10000))
                {
                    db.Collection("Users").InsertMultiple(userList);
                }
            }
        }
예제 #6
0
        public override async Task InsertTest()
        {
            var cluster = Cluster.Builder()
                          .AddContactPoints("127.0.0.1")
                          .WithPort(9042)
                          .Build();

            var session = cluster.Connect("benchmark");

            var userttemplate =
                session.Prepare("INSERT INTO users (userid, name, birthday, currentsalary) VALUES (?, ?, ?, ?)");


            foreach (var userList in UserUtility.SpiltBySize(UserUtility.GetFakeUsers(Times), 100))
            {
                var batch = new BatchStatement();
                foreach (var _user in userList)
                {
                    batch.Add(userttemplate.Bind(_user.UserId, _user.Name, _user.Birthday, _user.CurrentSalary));
                }

                session.Execute(batch);
            }
        }