Hi Solr’s users, and first of all, sorry for my bad english =^D !!!

We are experimenting Solr with the intention of using it in a web site.

To test solr’s performance, we have made a little program that simulates
users on the web site.
This program starts N threads (users), with 0.5 second pause between each
start.
Each thread makes a query, and wait between 2 and 10 seconds before make
another query.
Each query is randomly created with a list of 1500 words.

When we simulate 1 user, a query takes about 0.3 second to execute.
When we simulate 10 users, a query takes about 2 second to execute.
When we simulate 50 users, a query takes about 60 seconds to execute.

When we simulate 6*(10 users) with 6 instances of Solr on the same machine,
a query takes 8 seconds to execute.

You probably see where my problem is…

Here is our configuration :

Hardware : 

Debian etch, quad core, 6Go ram, 10000 rpm disk, jetty.
Windows 2003, quad core, 4Go ram, 10000 rpm disk, jetty and tomcat.

Schema :

        <field name="searchable" type="boolean" indexed="true"
stored="true"/>
        <field name="publishdate" type="date" indexed="true" stored="true"/>
        <field name="expirationdate" type="date" indexed="true"
stored="true"/>
        <field name="site" type="string" indexed="true" stored="true"/>
        <field name="section" type="text" indexed="true" stored="false"
multiValued="true"/>
        <field name="byline" type="text" indexed="true" stored="false"
multiValued="true"/>
        <field name="workflowstate" type="string" indexed="true"
stored="false" multiValued="true"/>

        <field name="nDocumentId" type="string" indexed="true"
stored="true"/>
        <field name="nLanguage" type="string" indexed="true"
stored="false"/>

        <field name="nFullText" type="text" indexed="true" stored="false"
termVectors="true"/>
        <field name="nObjectXml" type="string" indexed="false" stored="true"
multiValued="false"/>

        <field name="nGeographicLocations" type="string" indexed="true"
stored="false" multiValued="true"/>
        <field name="nOrganizationNames" type="string" indexed="true"
stored="false" multiValued="true"/>
        <field name="nPersonNames" type="string" indexed="true"
stored="false" multiValued="true"/>
        <field name="nCategories" type="string" indexed="true"
stored="false" multiValued="true"/>
        <field name="nSimpleConcepts" type="string" indexed="true"
stored="false" multiValued="true"/>
        <field name="nComplexConcepts" type="string" indexed="true"
stored="false" multiValued="true"/>
        <field name="nSummary" type="text_ws" indexed="true"
stored="false"/>

Solr config : 

                <filterCache class="solr.LRUCache" size="1048576" 
initialSize="4096"
autowarmCount="1024"/>
                <queryResultCache class="solr.LRUCache" size="16384" 
initialSize="4096"
autowarmCount="128"/>
                <documentCache class="solr.LRUCache" size="1048576" 
initialSize="512"
autowarmCount="0"/>

<listener event="newSearcher" class="solr.QuerySenderListener">
        <arr name="queries">
                <lst>
                        <str name="q">*:*</str>
                        <str name="fq">searchable:true</str>
                        <str name="sort">publishdate asc</str>
                </lst>
                <lst>
                        <str name="q">*:*</str>
                        <str name="facet.field">nPersonNames</str>
                        <str name="facet.field">nOrganizationNames</str>
                        <str name="facet.field">nGeographicLocations</str>
                        <str name="facet.field">nCategories</str>
                        <str name="fq">searchable:true</str>
                </lst>
        </arr>
</listener>
<listener event="firstSearcher" class="solr.QuerySenderListener">
        <arr name="queries">
                <lst>
                        <str name="q">*:*</str>
                        <str name="fq">searchable:true</str>
                        <str name="sort">publishdate asc</str>
                </lst>
                <lst>
                        <str name="q">*:*</str>
                        <str name="facet.field">nPersonNames</str>
                        <str name="facet.field">nOrganizationNames</str>
                        <str name="facet.field">nGeographicLocations</str>
                        <str name="facet.field">nCategories</str>
                        <str name="fq">searchable:true</str>
                </lst>
        </arr>
</listener>

Data :

367380 documents

nGeographicLocations : 39298 distincts values
nPersonNames : 325142 distincts values
nOrganizationNames : 130681 distincts values
nCategories : 929 distincts values
nSimpleConcepts : 110198 distincts values
nComplexConcepts : 1508141 distincts values
Each of those fields has a maximum of 7 values per document.

Query : 

http://olympe:1006/solr/select
?sort=publishdate+asc
&facet=true
&facet.field=nPersonNames
&facet.field=nOrganizationNames
&facet.field=nGeographicLocations
&facet.field=nCategories
&f.nPersonNames.facet.limit=10
&f.nOrganizationNames.facet.limit=10
&f.nGeographicLocations.facet.limit=10
&f.nCategories.facet.limit=10
&version=2.2
&wt=json
&json.nl=map
&q=nFullText%3A"Random words"+AND+searchable%3Atrue
&start=0
&rows=10

Every help will be appreciated because I don’t know how to optimize the
query time response…:-(

Regards,

  Cédric Houis
-- 
View this message in context: 
http://www.nabble.com/Very-bad-performance-tp20366783p20366783.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to