spikes in pgbench read-only results - Mailing list pgsql-performance

From Tomas Vondra
Subject spikes in pgbench read-only results
Date
Msg-id 4F1C98FE.1030307@fuzzy.cz
Whole thread Raw
Responses Re: spikes in pgbench read-only results  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-performance
Hi,

I'm working on a benchmark that demonstrates the effects of moving
tables or indexes to separate devices (SSD and HDD), and one thing that
really caught my eye are spikes in the tps charts. See this:

  http://www.fuzzy.cz/tmp/data-indexes/indexes.html

The first one is a database with data on an SSD and indexes on 7.2k HDD.
Around 2:00, the performance significantly grows (over 4k tps) and then
falls to about 500 tps (which is maintained for the remainder of the
benchmark).

I've seen similar spikes on HDD (both data and indexes on the same
device) - that's the second chart. The difference is not that huge, but
the spike at around 6:00 is noticeable.

Interestingly, by separating the data and indexes to two 7.2k drives,
the spike disappears - that's the third chart.

Any ideas why this happens? Is this a pgbench-only anomaly that does not
happen in real-world scenarios?

My theory is that it's related to the strategy that chooses what to keep
in shared_buffers (or page cache), and that somehow does not work too
well in this case.

regards
Tomas

pgsql-performance by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: wal_level=archive gives better performance than minimal - why?
Next
From: Merlin Moncure
Date:
Subject: Re: spikes in pgbench read-only results