I am using the embedded, plocal database.
I insert about 1000 documents before I see insertion time start to 
increase, although I want to insert much more than that. I'm not passing 
anything to JVM arguments so I'm using default OrientDB configuration for 
memory. One thing I should note, I don't know what thread will call my API 
so re-use/open a connection from the OPartitionedDatabasePool every time an 
insert is performed (not sure if that matters).

Essentially, I do this...

public void writeLogEntry(ODocument log, String message, Date timestamp, int 
entrySize)
{
  // get connection from OPartitionedDatabasePool...
  ODatabaseDocumentTx db = this.dataCore.getDbConnection();
  db.begin();

  ODocument logEntryDocument = new ODocument("log_item");

  // Set the log event fields for the new log event.
  logEntryDocument.field("timestamp", timestamp);
  logEntryDocument.field("message", message);
  logEntryDocument.save();


  long currentLogSize = log.field("log_size");

  // Update the log size by adding the size of the log event.
  log.field("log_size", (currentLogSize + entrySize));

  // Add the log entry to the LINKSET in the log
  Set<OIdentifiable> logEntries = log.field("log_events");
  logEntries.add(logEntryDocument.getIdentity());
  log.save();

  db.commit();
}



On Monday, September 14, 2015 at 8:42:09 AM UTC-7, Enrico Risa wrote:
>
> Hi Bryan
>
> Are you inserting through plocal?
>
> how many records do you have to insert?
>
> After how many records do you see the slow down?
>
> Did you check the memory of your inserting batch?
>
>
> Enrico
>
> 2015-09-14 17:37 GMT+02:00 Bryan <bryan_...@selinc.com <javascript:>>:
>
>> Okay, I created issue #4965 
>> <https://github.com/orientechnologies/orientdb/issues/4965>.
>>
>> What about the 2nd issue I have? Is there some reason inserting things 
>> keeps getting slower and slower until I restart OrientDB?
>>
>> On Friday, September 11, 2015 at 10:50:49 AM UTC-7, Bryan wrote:
>>>
>>> Hi all,
>>>
>>> I have been experimenting with an OrientDB setup (version 2.1.0 - plocal 
>>> connection) and noticed a very large difference in performance when passing 
>>> in an OClass parameter to a LINKSET vs leaving it out.
>>> Example:
>>>
>>> OClass logItem = schema.createClass("log_item");
>>> logItem.createProperty("timestamp", OType.DATETIME);
>>> logItem.createProperty("message", OType.STRING);
>>>
>>> OClass log = schema.createClass("log");
>>> log.createProperty("name", OType.STRING);
>>>
>>> and
>>>
>>> log.createProperty("log_items", OType.LINKSET, logItem);
>>> VS
>>> log.createProperty("log_items", OType.LINKSET);
>>>
>>> I tested inserting 1 log and 1000 log items into the log.
>>> i.e.
>>> // log = Get the log...
>>> ODocument logItem = new ODocument("log_item");
>>> logItem.field("timestamp", new Date());
>>> logItem.field("message", "Hello World");
>>> logItem.save();
>>>
>>>
>>> Set<OIdentifiable> logItems = log.field("log_items");
>>> logItems.add(logItem.getIdentity());
>>> log.save();
>>>
>>>
>>> WITH OClass param        => 38.8 seconds
>>> WITHOUT OClass param => 1.5 seconds
>>>
>>> So really I have 2 questions:
>>> 1) Why are updates so much faster when I DON'T add the OClass parameter. 
>>> Is there a reason why I want to leave it in?
>>>
>>> 2) I'm experiencing decrease in insertion speed as the number of 
>>> documents grows. If I shutdown OrientDB and start again I see speed go up 
>>> temporarily until I insert more records and it continues to slow down... 
>>> I've tried committing after every ".save()". Am I missing something?
>>>
>>> Thanks!
>>>
>> -- 
>>
>> --- 
>> 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 orient-databa...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 

--- 
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 orient-database+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to