The first problem is 

I don't have method db.addEdge(null, v1, v2, "E", properties);
What version of blueprints do I have to use?
For now I have blueprints-orient-graph-2.5.0-SNAPSHOT.jar

On Saturday, February 8, 2014 1:46:02 AM UTC-5, Andrey Lomakin wrote:
>
> Hi Andrey,
> Several notes.
>
> 1.  According to your previous answers I suppose that you did not set 
> amount of memory which is consumed by disk cache (the more the better of 
> course) , default value is 4Gb so *you do not use 75% of your memory*during 
> this benchmark, amount of memory for disk cache has the same 
> importance as -Xmx for Java. To set this parameter the simplest way is to 
> provide system property in server.sh so if you have 16 Gb of RAM then I 
> think you can freely use 14GB on Windows environment without any problems. 
> So to set this parameter set system property in server.sh 
> *-Dstorage.diskCache.bufferSize=14336* . After start open console and 
> issue command "config get storage.diskCache.bufferSize" (after connect as 
> root of course) to check that this parameter was set correctly.
> 2. Your note about bottleneck of insertion of edges with properties is not 
> completely true. I looked into your code.
> You do following:
>
> OrientEdge e = db.addEdge(null, v1, v2, "E");
> for (int i = 0; i < numberOfProperties; i++) 
> e.setProperty("property" + i, "value" + i);
>
> So you add edge at first and then properties.
> In such case following steps are performed:
> a. Lightweight edge is created. It means direct link between 2 vertexes.
> b.  Lightweight edge is removed (which means that links on each of 2 
> vertexes is removed), document to hold properties is created, new links are 
> added.
>
> So we have to perform 3 times more operations on collection of links than 
> we do without properties on edges.
> To avoid this either do not use lightweight edges (typically users do not 
> have properties on edges so it is good choice to use lightweight edges), or 
> modify your code as following:
>
> Map<String, String> properties = new HashMap<String, String>(); 
> for (int i = 0; i < numberOfProperties; i++) 
>         properties.put("property" + i, "value" + i);
>
> OrientEdge e = db.addEdge(null, v1, v2, "E", properties);
>
> In such case document for edge will be created at the same time as you 
> create edge so we will add links to edge document at once, and will not do 
> add/remove/add operations instead.
>
> 3. You use following code
> OrientVertex vertex = db.addVertex("OGraphVertex",null);
> But you did not create schema which means that new cluster is created 
> during benchmark and full db flush and fsync is performed  which provides 
> good system slowdown:
>
> So could you either change code to the following one:
>  a. OrientVertex vertex = db.addVertex(null);
>  b. or create "OGraphVertex" class before benchmark.
>
> And at last about your note that multi threaded test is not much faster, 
> sorry to agree with this but plocal storage is very new, give us several 
> months and we will provide multicore support 
> https://github.com/orientechnologies/orientdb/issues/1678 .
>  
> BTW may I ask you to run the same tests not on remote but on plocal 
> storage and publish difference ?
>
> Could you change your benchmark according suggestions above  and rerun 
> test ?
>
>
>
>
> On Sat, Feb 8, 2014 at 5:36 AM, Andrey Yesyev 
> <[email protected]<javascript:>
> > wrote:
>
>> Here is some more results.
>> The main change there, I got rid of properties on edges, because I don't 
>> really need that in my project.
>>
>> Also, I figured out that 
>>
>> db.getRawGraph().declareIntent(new OIntentMassiveInsert());
>>
>> actually slow down insertion rate.... What's the purpose of it then?
>>
>>
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> | Test inserting VERTICES_AND_EDGES threads 4                             
>>                                                                 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |                                     test |       documents |       
>>  vertices |           edges |            time (ms) |   avg (doc/sec) |
>> | ---------------------------------------- | --------------- | 
>> --------------- | --------------- | -------------------- | --------------- |
>> |     1000 documents with    2 fields each |            1000 |           
>>   500 |             500 |                   37 |        27027.03 |
>> |     1000 documents with    5 fields each |            1000 |           
>>   500 |             500 |                   71 |        14084.51 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |     5000 documents with    2 fields each |            5000 |           
>>  2500 |            2500 |                   86 |        58139.53 |
>> |     5000 documents with    5 fields each |            5000 |           
>>  2500 |            2500 |                   99 |        50505.05 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |    10000 documents with    2 fields each |           10000 |           
>>  5000 |            5000 |                  149 |        67114.09 |
>> |    10000 documents with    5 fields each |           10000 |           
>>  5000 |            5000 |                  180 |        55555.56 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |    50000 documents with    2 fields each |           50000 |           
>> 25000 |           25000 |                  813 |        61500.62 |
>> |    50000 documents with    5 fields each |           50000 |           
>> 25000 |           25000 |                  806 |        62034.74 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |    10000 documents with    2 fields each |           10000 |           
>>  5000 |            5000 |                  154 |        64935.06 |
>> |    10000 documents with    5 fields each |           10000 |           
>>  5000 |            5000 |                  180 |        55555.56 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |    50000 documents with    2 fields each |           50000 |           
>> 25000 |           25000 |                  746 |        67024.13 |
>> |    50000 documents with    5 fields each |           50000 |           
>> 25000 |           25000 |                  819 |        61050.06 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |   100000 documents with    2 fields each |          100000 |           
>> 50000 |           50000 |                 1440 |        69444.44 |
>> |   100000 documents with    5 fields each |          100000 |           
>> 50000 |           50000 |                 1780 |        56179.78 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |   500000 documents with    2 fields each |          500000 |         
>>  250000 |          250000 |                 7576 |        65997.89 |
>> |   500000 documents with    5 fields each |          500000 |         
>>  250000 |          250000 |                10560 |        47348.48 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |  1000000 documents with    2 fields each |         1000000 |         
>>  500000 |          500000 |                16061 |        62262.62 |
>> |  1000000 documents with    5 fields each |         1000000 |         
>>  500000 |          500000 |                21154 |        47272.38 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>>
>> As you can see, the performance is way better. 
>> This is the results of test where vertices don't have properties and 
>> edges have 2 or 5 properties.
>>
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> | Test inserting VERTICES_AND_EDGES threads 1                             
>>                                                                 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |                                     test |       documents |       
>>  vertices |           edges |            time (ms) |   avg (doc/sec) |
>> | ---------------------------------------- | --------------- | 
>> --------------- | --------------- | -------------------- | --------------- |
>> |     1000 documents with    2 fields each |            1000 |           
>>   500 |             500 |                  287 |         3484.32 |
>> |     1000 documents with    5 fields each |            1000 |           
>>   500 |             500 |                  215 |         4651.16 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |     5000 documents with    2 fields each |            5000 |           
>>  2500 |            2500 |                  723 |         6915.63 |
>> |     5000 documents with    5 fields each |            5000 |           
>>  2500 |            2500 |                  596 |         8389.26 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |    10000 documents with    2 fields each |           10000 |           
>>  5000 |            5000 |                  977 |        10235.41 |
>> |    10000 documents with    5 fields each |           10000 |           
>>  5000 |            5000 |                 1041 |         9606.15 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |    50000 documents with    2 fields each |           50000 |           
>> 25000 |           25000 |                12470 |         4009.62 |
>> |    50000 documents with    5 fields each |           50000 |           
>> 25000 |           25000 |                11266 |         4438.13 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |   100000 documents with    2 fields each |          100000 |           
>> 50000 |           50000 |                78769 |         1269.53 |
>> |   100000 documents with    5 fields each |          100000 |           
>> 50000 |           50000 |                68145 |         1467.46 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |   500000 documents with    2 fields each |          374500 |         
>>  250000 |          124500 | (timeout)     617106 |          606.86 |
>> |   500000 documents with    5 fields each |          370100 |         
>>  250000 |          120100 | (timeout)     620044 |          596.89 |
>>
>> |-----------------------------------------------------------------------------------------------------------------------------------------|
>> |  1000000 documents with    2 fields each |          614100 |         
>>  500000 |          114100 | (timeout)     626038 |          980.93 |
>>
>> The result is way worse. 
>> Starting with 500000 docs, test stopped by timeout, so I didn't wait for 
>> the whole test suit to complete.
>> I think we found the bottle neck of OrientDB.
>> Avoid properties in edges!
>>
>> Would be great to hear why edges properties are so slow!
>>
>> -- 
>>  
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "OrientDB" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> -- 
> Best regards,
> Andrey Lomakin.
>
> Orient Technologies
> the Company behind OrientDB
>
>  

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to