[ZODB-Dev] Re: Anybody using ZODB with no calls to fsync in production?

Tres Seaver tseaver at palladion.com
Thu Oct 12 17:01:40 EDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chris Withers wrote:
> +1 from me too, this feels like a really good proposal :-)

+1.  Sessions might be a good example of a storage using
'fsync-behavior=None':  you would get the speedup, and the ability to
survive a restart, without needing to treat the data as "precious".


> Jim Fulton wrote:
>> +1
>>
>> Lennart Regebro wrote:
>>> On 10/11/06, Roché Compaan <roche at upfrontsystems.co.za> wrote:
>>>> http://mail.zope.org/pipermail/zodb-dev/2004-July/007682.html
>>>
>>> I read this thread, and it seems to me that the ultimate solution
>>> would be to have a setting for FSStorage, say "fsync-behaviour" with
>>> the options of "single", "double", "none" or "interval". We'd need an
>>> explaining text too. Something like:
>>>
>>> fsync-behaviour: Determines when fsync is called. Default: single.
>>>
>>> Options:
>>>
>>> Single: Calls fsync once per transaction. Gives you reasonable data
>>> reliability in most cases. You should in a crash only lose one
>>> transaction.
>>>
>>> Double: Calls fsync before marking transaction as complete as well as
>>> after marking it as complete. This setting is only useful if you have
>>> configured the complete storage chain (operating system, filesystem,
>>> drivers, controllers and disks) will not let fsync return until data
>>> is safely and completely written to disk. In most cases and without
>>> configuration of the complete storage chain, this setting will slow
>>> down FSStorage without actually increasing the reliability of data
>>> written to disk.
>>>
>>> Interval: Will call fsync only every couple of transactions, with the
>>> interval determined by the setting "fsync-interval". This is good for
>>> write-intensive applications where you don't mind loosing a couple of
>>> transactions if the computer should crash.
>>>
>>> None: Will never call fsync. Good for applications of high write load
>>> where the data is not critical. Never ever use this setting on
>>> windows, as it on windows makes it highly likely that data will not be
>>> written to disk at all, and a crash could quite likely make you loose
>>> all your changes.
>>>
>>
>>
> 


- --
===================================================================
Tres Seaver          +1 202-558-7113          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFLq00+gerLs4ltQ4RAgIPAJ9sX4MoQ/slgP2C8UvONdpobBuuewCghisA
cylxDrhhyNFd1WDOjgtRsi4=
=JmrL
-----END PGP SIGNATURE-----



More information about the ZODB-Dev mailing list