annotate src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/mongo/PerformanceComparisonJungleMongo.java @ 24:e2f418db92e9

fix PerformanceComparisonJungleMongo.java
author tatsuki
date Sat, 02 May 2015 04:56:52 +0900
parents
children 69dca2ab1783
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.tatsuki.mongo;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
2
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
3 import com.mongodb.MongoClient;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
4 import com.mongodb.WriteConcern;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
5 import com.mongodb.client.MongoCollection;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
6 import com.mongodb.client.MongoDatabase;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
7 import jp.ac.u_ryukyu.cr.ie.tatsuki.xmlTestBbs.JuGrix;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.tatsuki.xml.ReadJungleThread;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.tatsuki.xml.extendXmlTree;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
10 import org.bson.Document;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
11 import org.xml.sax.SAXException;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
12
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
13 import javax.xml.parsers.ParserConfigurationException;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
14 import java.io.*;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
15 import java.util.Arrays;
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
16
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
17 /**
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
18 * Created by e115731 on 15/05/02.
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
19 */
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
20 public class PerformanceComparisonJungleMongo {
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
21
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
22 public static void main(String args[]) throws InterruptedException, IOException, SAXException, ParserConfigurationException {
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
23 if (args.length < 2)
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
24 System.out.println("args[0] = mongo or jungle ,args[1] = personCount");
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
25
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
26 if (args[0].equals("mongo"))
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
27 PerformanceCheckMongo();
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
28 else if (args[0].equals("jungle"))
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
29 PerformanceCheckJungle();
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
30 System.out.println("end");
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
31
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
32
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
33 }
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
34
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
35 private static void PerformanceCheckJungle() throws ParserConfigurationException, IOException, SAXException, InterruptedException {
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
36 File file = new File("./time/jungleBenchMark");
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
37 PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
38 for (int count = 100; count <= 1000; count = 100 + count) {
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
39 JuGrix jugrix = extendXmlTree.createJuGrix(true, count);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
40 boolean account = jugrix.isActive("p:" + 100,"v:1");
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
41 ReadJungleThread readThread = new ReadJungleThread(jugrix);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
42 readThread.start();
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
43 Thread.sleep(1000);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
44 readThread.set(false);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
45 int readCount = readThread.getFindCount();
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
46 pw.println(count + " = " + readCount);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
47 System.out.println("findCount = " + readCount);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
48 }
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
49 pw.close();
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
50 }
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
51
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
52 private static void PerformanceCheckMongo() throws InterruptedException, IOException {
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
53 MongoClient client = new MongoClient("localhost", 27017);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
54 File file = new File("./time/mongoBenchMark");
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
55 PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
56 for (int count = 100; count <= 1000; count = 100 + count) {
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
57 client.setWriteConcern(WriteConcern.JOURNALED);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
58 client.dropDatabase("mydb");
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
59 MongoDatabase database = client.getDatabase("mydb");
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
60 MongoCollection<Document> coll = database.getCollection("Persons");
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
61 for (int personCount = 0; personCount < count; personCount++) {
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
62 Document person = new Document("Personid", "p:" + String.valueOf(personCount))
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
63 .append("type", "Person")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
64 .append("accountId", "a:" + String.valueOf(personCount))
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
65 .append("lastName", "金川").append("name", "金川竜己")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
66 .append("nameReading", "かながわたつきくん")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
67 .append("roleRefIds"
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
68 , new Document("roleRefId", "r:3")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
69 .append("roleRefId", "r:3"))
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
70 .append("parentOrganizations"
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
71 , new Document("type", "OrganizationMappedByRole")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
72 .append("OrganizationMappedByRole",
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
73 Arrays.asList(
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
74 new Document("type", "OrganizationMappedByRole")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
75 .append("organizationRefId", "o:2")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
76 .append("roleRefId", "r:10")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
77 , new Document("type", "OrganizationMappedByRole")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
78 .append("organizationRefId", "o:4")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
79 .append("roleRefId", "r:14")))
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
80 ).append("priorities",
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
81 new Document("type", "PriorityMappedByRole")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
82 .append("PriorityMappedByRole"
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
83 , Arrays.asList(
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
84 new Document("type", "PriorityMappedByRole")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
85 .append("priority", "0")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
86 .append("roleRefId", "r:10")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
87 , new Document("type", "PriorityMappedByRole")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
88 .append("priority", "1")
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
89 .append("roleRefId", "r:14")))
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
90 );
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
91 coll.insertOne(person);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
92 }
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
93 coll.createIndex(new Document("Personid", 1));
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
94 System.out.println("insertEnd");
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
95 ReadMongoThread th = new ReadMongoThread(coll);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
96 th.start();
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
97 Thread.sleep(10000);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
98 th.set(false);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
99 int findCount = th.getFindCount();
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
100 System.out.println("findCount = " + findCount);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
101 pw.println(count + " " + findCount);
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
102 }
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
103 pw.close();
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
104 }
e2f418db92e9 fix PerformanceComparisonJungleMongo.java
tatsuki
parents:
diff changeset
105 }