I have a 4 processor Origin 200 and have it running PostgreSQL 7.1.2.
I load it with a database with two tables and fill them with 200 and 50
tuples, respectively:
CREATE TABLE a
(
keya INTEGER,
dataa VARCHAR(20),
PRIMARY KEY (keya)
);
CREATE TABLE b
(
keyb INTEGER,
datab VARCHAR(20),
PRIMARY KEY (keyb)
);
I run two client processes that each perform a SELECT on one of the table.
That is, process 1 SELECTs on a and process 2 SELECTs on b. So each
process accesses independent tables in the same database.
My obeservation in top is that the Postgres backends do not seem to scale
far beyond 1 processor. Typically, CPU utilization adds up to around 100%.
There are no explicit LOCK and the database should be small enough to run
in the buffer cache (so no I/O problems). The clients are running on the
same machine as the server.
Does anyone have any idea why this is not scaling?
Kuan Chen