Hi All,

I am currently using the solr-4.0.0 to allow searching the logs for one of our 
project. I am testing with a dataset of around 17Gb containing only logs. We 
prepare each line as one document (SolrInputDocument) having 9 fields, around 
having size as 200byte to 500 bytes(If exception stack trace). Roughly each 1 
Gb contains around 5million log lines, so the same number of document object 
are prepared. We are using solr as embedded mode (EmbeddedSolrServer).

While indexing initially solr/lucene is able to process around 8Gb in 8-10 
minutes but slowly it is getting slowed(see below logs). By looking at IO it 
seems that io wait time roughly stands at 50-60% and at that time all threads 
running for indexing get in pause state. We have observed the pause time around 
47 mins with cpu being 100 to 200% max (total is 2400% as 24 core) at that time.

We have disable the merging in this by creating an extension of 
NoMergeScheduler (Just for testing). By looking at thread dumps it seems to be  
that all threads are waiting on writeBytes method of RandomAccessFile.

Can you guys please suggest what might be going wrong.  Please let me know if I 
need to provide more details.

Couldn't attach the logs (thread-dumps, iostat and infostream file) due to size 
so uploaded at below link.

http://dc414.2shared.com/download/s0_EKGIi/logs.zip?tsid=20121018-181700-bce0d673
or
http://www.2shared.com/file/s0_EKGIi/logs.html

Some insights about the app.

Below is the machine configuration.
Physical server, Intel 2.4 Ghz 12 core(each is dual core), 48 GB RAM. Disk is 
local
Java Process is with 12gb heap.
6 Solr core,  Having a global thread pool of 32 threads, where for one core max 
8 threads can work at a time (achieved by using semaphore), the whole 
application is based on Producer -Consumer design. Producer reads the file, 
create a 10k document and add it to ThreadPoolExecutor as a task.
We have made some small extension to lucene/solr api (by extending classes) to 
achieve reusing lucene document object and by-passing the xml 
marshalling/unmarshalling and directly passing SolrInputDocument object to 
solr's UpdateProcessor.

Snippet of Log that shows the time difference:

2012-10-17 12:04:56,873 INFO  [LOGMINER -1-thread-2] NEW_INDEXER_LOGGER: Total 
time taken to index gclog_10.1.86.212 is 20711
2012-10-17 12:04:56,873 INFO  [LOGMINER -1-thread-2] NEW_INDEXER_LOGGER: Total 
no.of documents created for gclog_10.1.86.212 is 313431--total:97280056 total 
processed data size(MB):15546
2012-10-17 12:04:56,873 INFO  [LOGMINER -1-thread-2] NEW_INDEXER_LOGGER: 
#############################
2012-10-17 12:04:58,397 INFO  [LOGMINER -1-thread-8] NEW_INDEXER_LOGGER: 
#############################
2012-10-17 12:04:58,397 INFO  [LOGMINER -1-thread-8] NEW_INDEXER_LOGGER: Total 
time taken to index gclog_10.1.65.231 is 39967
2012-10-17 12:04:58,397 INFO  [LOGMINER -1-thread-8] NEW_INDEXER_LOGGER: Total 
no.of documents created for gclog_10.1.65.231 is 314402--total:97340056 total 
processed data size(MB):15568
2012-10-17 12:04:58,397 INFO  [LOGMINER -1-thread-8] NEW_INDEXER_LOGGER: 
#############################
2012-10-17 12:51:16,590 INFO  [LOGMINER -1-thread-9] NEW_INDEXER_LOGGER: 
#############################
2012-10-17 12:51:16,590 INFO  [LOGMINER -1-thread-9] NEW_INDEXER_LOGGER: Total 
time taken to index gsctlog_10.1.86.207 is 2830070
2012-10-17 12:51:16,590 INFO  [LOGMINER -1-thread-9] NEW_INDEXER_LOGGER: Total 
no.of documents created for gsctlog_10.1.86.207 is 146808--total:98330056 total 
processed data size(MB):15591
2012-10-17 12:51:16,590 INFO  [LOGMINER -1-thread-9] NEW_INDEXER_LOGGER: 
#############################
2012-10-17 12:51:21,877 INFO  [LOGMINER -1-thread-9] NEW_INDEXER_LOGGER: 
#############################
2012-10-17 12:51:21,877 INFO  [LOGMINER -1-thread-9] NEW_INDEXER_LOGGER: Total 
time taken to index gslog_10.1.86.207 is 5287
2012-10-17 12:51:21,877 INFO  [LOGMINER -1-thread-9] NEW_INDEXER_LOGGER: Total 
no.of documents created for gslog_10.1.86.207 is 59800--total:98650056 total 
processed data size(MB):15612


Solr-Config file.

   <directoryFactory name="DirectoryFactory" 
class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>

<indexConfig>
    <ramBufferSizeMB>1024</ramBufferSizeMB>
  <infoStream 
file="/home/ppoker/apache-solr-4.0.0/example/multicore/INFOSTREAM.txt">true</infoStream>
  </indexConfig>

<updateHandler class="solr.DirectUpdateHandler2">
     <autoCommit>
       <maxTime>1800000</maxTime> // 30 mins,
       <openSearcher>false</openSearcher>
     </autoCommit>
  </updateHandler>


Regards
Rahul
This email and any attachments are confidential, and may be legally privileged 
and protected by copyright. If you are not the intended recipient dissemination 
or copying of this email is prohibited. If you have received this in error, 
please notify the sender by replying by email and then delete the email 
completely from your system. Any views or opinions are solely those of the 
sender. This communication is not intended to form a binding contract unless 
expressly indicated to the contrary and properly authorised. Any actions taken 
on the basis of this email are at the recipient's own risk.

Reply via email to