Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 2852 - Ускорение работы за счёт оптимизации кэширования записи   Make a simular bug
Summary: Ускорение работы за счёт оптимизации кэширования записи
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Файловые операции (show other bugs)
Version: 1.0.9
Hardware: PC All
: P4 minor
Target Milestone: ---
Assignee: Vitaly Lipatov
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 2710
  Show dependency treegraph
 
In work:
Reported: 2008-11-09 01:15 MSK by Vitaly Lipatov
Modified: 2009-04-25 14:29 MSD (History)
4 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2008-11-09 01:15:48 MSK
В сборке eter33 применено fdatasync вместо fsync, что может немного ускорить запись за счёт необновления метаданных о файле при каждой синхронизации. Скорее всего тот же эффект достигается за счёт параметра noatime при монтировании раздела.

Также в сборке eter33 добавлена обработка переменной окружения WINEDISABLEFLUSH, которая отключает выполнение FileFlushBuffers и ускоряет перепроведение документов где-то в 3 раза на 1С 7.7 (см. 
http://unixforum.org/index.php?showtopic=35172&st=0)
Comment 1 Михаил Карпухин 2008-11-10 12:49:54 MSK
А как же вот это ?:

!!! NB !!! Если внезапно пропадет питание то данные в кэше будут потеряны, при этом может быть нарушена целостность базы. Соответственно, чем дольше данные хранятся в кеше, тем выше вероятность повреждения базы. Настоятельно рекомендуется использование UPS и т.п. для стабильности питания.
Comment 2 Vitaly Lipatov 2008-11-10 16:13:08 MSK
Ну так не пользуйтесь WINEDISABLEFLUSH, если у вас не соблюдаются условия.
Меры предосторожности описаны в нашей документации.
К слову, проблемы не намного больше, чем с файловой системой при неожиданном выключении питания.
Comment 3 Vitaly Lipatov 2008-11-10 21:25:08 MSK
Просьба заинтересованным людям потестировать новую возможность:

$ WINEDISABLEFLUSH=yes wine 1cv7.exe
Comment 4 Антон Азанов (Djelf) 2008-11-10 23:56:34 MSK
1. Возможна ли реализация компромиссного решения FlushFileBuffers=on для dbf и FlushFileBuffers=off для cdx?
2. Только для справки: пока под Wine "завалить" 1С с этим патчем не удалось, но когда этот патч появился, при его тестировании в WinXP на конфигурации ~1Gb 1С "замерзала" при восстановлении выгрузки и тестировании/исправлении. Без него все работало. Возможно это была проблема конкретного "железа" или каких-то настроек ХР, но из-за этой ошибки пришлось от этого патча отказаться на всякий случай.
Comment 5 Vitaly Lipatov 2008-11-11 00:32:52 MSK
(In reply to comment #4)
> 1. Возможна ли реализация компромиссного
> решения FlushFileBuffers=on для dbf и FlushFileBuffers=off для
> cdx?
Теоретически конечно возможна. Подумаю. Но это снизит эффект.
Ну и не вижу большой проблемы всё же. При выключении питания данные могут
потеряться и по пути на диск.
Я думаю вопросом сохранения должна заниматься журналируемая
файловая система. Надо просто потестировать.

> 2. Только для справки: пока под Wine "завалить"
> 1С с этим патчем не удалось, но когда этот
Он не может влиять на стабильность, тем более в монопольном режиме.

> патч появился, при его тестировании в WinXP на
> конфигурации ~1Gb 1С "замерзала" при
> восстановлении выгрузки и
> тестировании/исправлении. Без него все
Если хотите, можем потестить на такой базе.

> работало. Возможно это была проблема
> конкретного "железа" или каких-то настроек
> ХР, но из-за этой ошибки пришлось от этого
> патча отказаться на всякий случай.
Я думаю, что это совпадение. В общем, жду более детального тестирования.