Re: test_fsync label adjustments

From: "A(dot)M(dot)" <agentm(at)themactionfaction(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: test_fsync label adjustments
Date: 2011-01-18 22:33:22
Message-ID: 1BABD9CB-F6B9-4B92-9EA2-857B4965D66C@themactionfaction.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On Jan 18, 2011, at 5:21 PM, Bruce Momjian wrote:

> A.M. wrote:
>>
>> On Jan 18, 2011, at 5:16 PM, Bruce Momjian wrote:
>>
>>> A.M. wrote:
>>>>
>>>> On Jan 18, 2011, at 3:55 PM, Bruce Momjian wrote:
>>>>
>>>>> I have modified test_fsync to use test labels that match wal_sync_method
>>>>> values, and and added more tests for open_sync with different sizes.
>>>>> This should make the program easier for novices to understand. Here is
>>>>> a test run for Ubuntu 11.04:
>>>>>
>>>>> $ ./test_fsync
>>>>> 2000 operations per test
>>>>>
>>>>> Compare file sync methods using one 8k write:
>>>>> (in wal_sync_method preference order, except fdatasync
>>>>> is Linux's default)
>>>>> open_datasync (non-direct I/O)* 85.127 ops/sec
>>>>> open_datasync (direct I/O) 87.119 ops/sec
>>>>> fdatasync 81.006 ops/sec
>>>>> fsync 82.621 ops/sec
>>>>> fsync_writethrough n/a
>>>>> open_sync (non-direct I/O)* 84.412 ops/sec
>>>>> open_sync (direct I/O) 91.006 ops/sec
>>>>> * This non-direct I/O mode is not used by Postgres.
>>>>
>>>> I am curious how this is targeted at novices. A naive user might enable
>>>> the "fastest" option which could be exactly wrong. For this to be useful
>>>> to novices, I suspect the tool will need to generate platform-specific
>>>> suggestions, no?
>>>
>>> Uh, why isn't the fastest option right for them? It is hardware/kernel
>>> specific when you run it --- how could it be better?
>>
>> Because the fastest option may not be syncing to disk. For example,
>> the only option that makes sense on OS X is fsync_writethrough- it
>> would be helpful if the tool pointed that out (on OS X only, obviously).
>
> Yes, that would be a serious problem. :-(
>
> I am not sure how we would address this --- your point is a good one.

One general idea I had would be to offer some heuristics such as "this sync rate is comparable to that of one SATA drive" or "comparable to RAID 10 with X drives" or "this rate is likely too fast to be actually be syncing". But then you are stuck with making sure that the heuristics are kept up-to-date, which would be annoying.

Otherwise, the only option I see is to detect the kernel and compare against a list of known problematic methods. Perhaps it would be easier to compare against a whitelist. Also, the tool would likely need to parse "mount" output to account for problems with specific filesystems.

I am just throwing around some ideas...

Cheers,
M

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2011-01-18 22:39:52 Re: ALTER TABLE ... ADD FOREIGN KEY ... NOT ENFORCED
Previous Message Pavel Stehule 2011-01-18 22:22:53 Re: Re: patch: fix performance problems with repated decomprimation of varlena values in plpgsql