MCPcopy Create free account
hub / github.com/e2wugui/zeze / testBench

Method testBench

ZezeJava/ZezeJavaTest/src/Dbh2/Dbh2FullTest.java:41–97  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

39 }
40
41 @Test
42 public void testBench() throws Exception {
43 System.setProperty("Dbh2MasterDefaultBucketPortId", "18000");
44 Task.tryInitThreadPool();
45 Zeze.Net.Selectors.getInstance().add(7);
46
47 var master = new Zeze.Dbh2.Master.Main("zeze.xml");
48 var managers = new ArrayList<Dbh2Manager>();
49 var serviceManager = Application.createServiceManager(Config.load(), "Dbh2ServiceManager");
50 assert serviceManager != null;
51 serviceManager.start();
52 serviceManager.waitReady();
53
54 var value = ByteBuffer.Wrap(new byte[]{1, 2, 3, 4});
55 Database database = null;
56 Application.renameAndDeleteDirectory(new File("CommitRocks"));
57 var dbh2AgentManager = new Dbh2AgentManager(serviceManager, null, 100);
58 try {
59 master.start();
60 for (int i = 0; i < 3; ++i)
61 managers.add(new Zeze.Dbh2.Dbh2Manager("manager" + i, "zeze" + i + ".xml"));
62 for (var manager : managers)
63 manager.start();
64 dbh2AgentManager.start();
65
66 database = newDatabase(dbh2AgentManager, "dbh2TestDb");
67 var tables = new ArrayList<AbstractKVTable>();
68 for (int i = 0; i < 4; ++i) {
69 var tableName = "table" + i;
70 tables.add((Database.AbstractKVTable)database.openTable(tableName, Bean.hash32(tableName)));
71 }
72 for (var table : tables)
73 table.waitReady();
74
75 var count = 1000;
76 var threads = 2;
77 var futures = new ArrayList<Future<?>>();
78 var b = new Zeze.Util.Benchmark();
79 for (var t = 0; t < threads; ++t) {
80 var keyStart = t * count;
81 var keyEnd = keyStart + count;
82 futures.add(startBench(keyStart, keyEnd, database, tables.get(t % tables.size()), value));
83 }
84 Thread.sleep(1000); // 等待agent都连上,然后dump出来。此时任务在并发执行。
85 dbh2AgentManager.dumpAgents();
86 for (var future : futures)
87 future.get();
88 b.report("Bench Dbh2 Full Transaction", count * threads);
89 } finally {
90 master.stop();
91 for (var manager : managers)
92 manager.stop();
93 if (database != null)
94 database.close();
95 dbh2AgentManager.stop();
96 }
97 }
98

Callers

nothing calls this directly

Calls 15

tryInitThreadPoolMethod · 0.95
createServiceManagerMethod · 0.95
loadMethod · 0.95
WrapMethod · 0.95
startMethod · 0.95
startMethod · 0.95
newDatabaseMethod · 0.95
openTableMethod · 0.95
hash32Method · 0.95
startBenchMethod · 0.95
dumpAgentsMethod · 0.95

Tested by

no test coverage detected