On Tue, 21 Jul 2009, Henning Weiler wrote:
> By the way: does invenio do a kind of 'integrity' check on the database?

bibindex and bibrank have `--check' options, but the best way to check
the DB integrity is to launch CHECK TABLE on all your tables:

   $ cd ~/private/src/cds-invenio/modules/miscutil/sql
   $ grep TABLE tabdrop.sql | sed 's/DROP/CHECK/' | \
     sed 's/IF EXISTS //' | /opt/cds-invenio/bin/dbexec

But a DB error should not lead to a segfault.  Especially when things
still work properly with MaxClients=1.  Seems like Apache MPM settings
or something.

> I mean it got slower, when I threw in the 14GB of Inspire Data and let
> bibindex chew on the data set for over a week

Do you have enough RAM on your system?  How many Apache processes do you
start by default?  Does the server work well with the following rather
conservative settings?

   <IfModule prefork.c>
   StartServers       2
   MinSpareServers    2
   MaxSpareServers    3
   ServerLimit        3
   MaxClients         3
   MaxRequestsPerChild  4000
   </IfModule>
   
How much swap is used on your box?  Could segfaults be simply due to
your memory and swap space being exhausted?

P.S. Yet another segfault problem we've seen in the past was due to the
     expat library versions, as documented at:
     
<https://twiki.cern.ch/twiki/bin/view/CDS/InvenioInstallationGeneric#Apache_and_Python_not_using_the>
     But this is again a blast from the past; it should not concern your
     box.  It just illustrates what to look for in case of a segfault:
     check against which libraries your Apache/Python and friends were
     compiled, and whether some components might have been upgraded
     without other components being upgraded, etc.  (A price to pay for
     using binary packages.)

Best regards
-- 
Tibor Simko ** CERN Document Server ** <http://cds.cern.ch/>

Reply via email to