The last few days I’ve been playing with the DB2 capabilities of Domino 8. All is working well. Except performance. Domino and DB2 are both running on a virtual Windows 2003 server. I have a DB2 enabled db with one form, 1 normal view, 1 sql view and 1 DAV. Total number of documents is about 45.000. Both views show all documents, sorted on the first column.
When I access the normal view through the web and step through the view with next and previous it takes about 150 seconds (2,5 minutes) to open the page. And on the server process db2syscs.exe takes up more than 90% of the cpu.
When I access the sql view (based on the DAV) each page takes about 8 seconds.
In addition I have recreated this same database, not DB2 enabled, with the same docs and the same normal web view. Then each webpage takes less than one second.
After research on the web I realise that Domino with DB2 isn’t always faster, it depends on the application. But I wonder why the db2syscs.exe process is eating up all the cpu? Is this a tuning question?
Karin
Subject: There must be a PC or configuration pb…
How much RAM has your VM ?
Do you have both Domino & DB2 installed on the same VM ?
The fist time you “populate” the database with documents (or replicate a db containing documents), Domino and DB2 can consume some CPU to “recreate” all the indexes and populate tables. But with 45 000 documents you should not encounter any pb requiring specific domino or db2 tuning
One thing to note though is that QueryViews are not meant to return all the documents in a db. You’ll get best result if the SQL query on your QV returns only a small subset of docs (that’s quite a different way to see domino view in which you usually have lots of docs, catagorized etc…)
PS : just for you info, we are performing some perf tests around Domin / DB2 and with 5 millions of (simple) documents, we still get very decent performance.
Subject: VM specifics
Michael, thanks for your response.
VM RAM: 1,00 GB
Domino and DB2 are both installed on this VM.
I’m still puzzled about the following. After you DB2 enable a Domino database, all data in this Domino database is stored in DB2. Right?
The normal notes view (not a query view) with all 45.000 documents, opened in a LN client, is fast. But if I open the same LN via http it is so slow … and the server’s CPU goes up again.
What is in this case the difference between the LN Client and the Browser view opening?
Karin
Subject: Here is what I would do
-
Try to allocate 512Mo ram more to your VM. Deframent your disk and the vm disk.
-
Shut down your domino server
-
From a DOS command line, ncompact -B yournotesdb.nsf (this will compact the DB2 stuff)
-
Launch your Domino server
-
load updall -R yournotesdb.nsf (this will rebuild all view indexes)
Try to open the view via web and see.
If this is not faster, there is something wrong in the setup…try to use windows task manager or windows Perfmon to see what is the bottleneck (processor, disk…)
BTW : on my laptop (core 2 duo 2go ram), a nsfdb2 database with 1 million doc, opening a notes view (not a query view). result : about 80 req / sec…
Subject: remote db2
Hallo Michael,thanks for your input. despite the performance problem we’re very enthusiastic about the extra functionality available with the use of Domino-DB2. So we decided to install a DB2 server on a different VM (RAm: 1,5 Gb). If the performance issue rises again, I will certainly follow your guidelines.
At the moment I’m stuck during the installation process. DB2 is installed, DB2 Access Server is installed. But where can I download the DB2 runtime client? I’ve already posted this question in this forum. But maybe you know?
Karin
Subject: DB2 Runtime install…
If you have DB2 9.1 Enterprise edition setup files, you already have all that you need ;-).
On the first install screen, you can choose which product to install. You can select DB2 Client there (it’s below the Server stuff)
Subject: Remote setup is working
Had to dive pretty deep into DB2 terminology; restart VM and Domino a couple of times; manually create node in catolog of Domino server; do not use DB2 tcp servicename but the number; summary: not simple.
Running some performance tests now. Not happy with results so far …
Subject: Remote DB2 after a local DB2
The server had domino and the DB2 server installed before we switched to the remote DB2 setup. We cleared all the fields on the DB2 tab and restarted Domino to disable the local DB2 setup. This worked. Then we tried to enable the remote DB2 setup, but the actione ‘Enable Server for DB2’ didn’t succeed. The Domino server kept complaining about a DB2 node, named ‘DB2’, it couldn’t locate.
As a solution we uninstalled the local DB2 server installation and installed the DB2 client. This client is working ok, because we can connect to the remote DB2 server.
The action ‘Enable Server for DB2’ kept complaining about the fact that DB2 wasn’t installed …
Ergo: my question.
Now I have restarted my VM and the action ‘Enable Server for DB2’ does not complain about the absence of a DB2 installation. Hurray!
But, now it complains about:
SQL1019N The node name “DB2” specified in the command is not valid.
I’m back to where I was …
Any ideas?
Karin