We run our websites using domino 8.0.2 on RHEL 5.2 and it’s default database format .nsf.
We get database corruption with our big databases occurring on a daily basis. People can’t access records through the website, but in the console there is no real warning, it shows up as “entry not found in index” the same way as if the record didn’t exist.
Once these attempts to access the database fill up, the http task becomes unresponsive. So then nobody can access our website running on that server.
Please help, this is absolutely devastating to our business. It happens while we’re sleeping and we are losing our international customers due to this.
We get over 60000 page hits inside those databases. Are we exceeding domino limitations?
Should we turn to another IBM product? Is domino considered an industry-strength webserver or just something to get you up on your feet?
We perform fixups, compacts and updall. In fact a simple server restart fixes it, however these maintenance tasks make our website really slow for our clients (to the point of it being unusable).
Subject: Re: Regular Database Corruption in domino 8.0.2
The error “Entry not found in index” can refer to an unsuccessful use of an @Db function such as @DbLookup. The following TechNote has some information regarding this error message:
Title: List of @DbLookup and @DbColumn error messages
Doc #: 1084493
URL: http://www.ibm.com/support/docview.wss?rs=899&uid=swg21084493
The Indexer Task’s updates on this heavily-used database could be causing the Server to hang. Have you engaged IBM Lotus Support on this?
Subject: .1
Hi,
the error you are receivng is because you are doing a @Lookup with a key which cannot be found.
This can either be because the view you are looking simply does not have documents with that key, or the view index is not updated.
Domino can very well run large web applications (see kieskeurig.nl), but it requires a well thought setup in hardware and software.
As for hardware, check your load balancing and tweak it as you see fit. Stress tools help alot in this.
As for the software, several things you need to take into account:
- If you have databases with large amounts of data (maybe even spread across several replica’s), then strip down the database to it’s basic function.
If the database is used to find records, then only use it for that. It should contain records and update its view regularly so people can search in it. No need here for submitting and editing forms or other agents.
Balance the time where your view are updates and agent are running. For example, do not let an agent run at a time where other heavy processes are already running, it might do a lookup to a view that currently being updated. This will return no result or will increase the workload drasticly.
Don’t use your host-machine as mail-machine aswell.
Always keep monitoring your server processes and tweak where needed.