From: Коренберг М. (J. <tr...@fi...> - 2015-02-25 06:52:07
|
[ http://tracker.firebirdsql.org/browse/WEB-131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Коренберг Марк updated WEB-131: ------------------------------- Description: http://www.firebirdsql.org/manual/gfix-sync.html gfix -write sync states that: "sync - data is written synchronously. This means that data is flushed to disc on COMMIT." THIS IS WRONG, since in current implemetation (FB 2.5 in Linux) it just opens file using O_SYNC. This mean that every write is synchronous. Not only at COMMIT. So this is major performance loss. So, what I want: 1. Fix documentation and say, that "gfix -write sync" will synchronously wait for every write fo file. (Also, I'm not sure it is the same as forcedwrites=ON) 2. Add to documentation something like this: """ In order to bring performance/integrity to reasonable state, you may do that: gfix -write async Forced writes=off MaxUnflushedWrites = 0 MaxUnflushedWriteTime = -1 """ (As far as I see in strace, it issues fsync() at every commit at least.) was: http://www.firebirdsql.org/manual/gfix-sync.html gfix -write sync states that: "sync - data is written synchronously. This means that data is flushed to disc on COMMIT." THIS IS WRONG, since in current implemetation (FB 2.5 in Linux) it just opens file using O_SYNC. This mean that every write is synchronous. Not only at COMMIT. So this is major performance loss. In order to bring performance/integrity to reasonable state, you may do that: So, what I want: 1. Fix documentation and say, that "gfix -write sync" will synchronously wait for every write fo file. (Also, I'm not sure it is the same as forcedwrites=ON) 2. Add to documentation: """ gfix -write async Forced writes=off MaxUnflushedWrites = 0 MaxUnflushedWriteTime = -1 """ (As far as I see in strace, it issues fsync() at every commit at least.) > gfix -write sync documentation is wrong > --------------------------------------- > > Key: WEB-131 > URL: http://tracker.firebirdsql.org/browse/WEB-131 > Project: Web site > Issue Type: Bug > Environment: Firebird 2.5 > Reporter: Коренберг Марк > Assignee: Alexey Kovyazin > > http://www.firebirdsql.org/manual/gfix-sync.html > gfix -write sync states that: "sync - data is written synchronously. This means that data is flushed to disc on COMMIT." > THIS IS WRONG, since in current implemetation (FB 2.5 in Linux) it just opens file using O_SYNC. This mean that every write is synchronous. Not only at COMMIT. So this is major performance loss. > So, what I want: > 1. Fix documentation and say, that "gfix -write sync" will synchronously wait for every write fo file. > (Also, I'm not sure it is the same as forcedwrites=ON) > 2. Add to documentation something like this: > """ > In order to bring performance/integrity to reasonable state, you may do that: > gfix -write async > Forced writes=off > MaxUnflushedWrites = 0 > MaxUnflushedWriteTime = -1 > """ > (As far as I see in strace, it issues fsync() at every commit at least.) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |