powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / создания временных пространств в оперативной памяти
22 сообщений из 22, страница 1 из 1
создания временных пространств в оперативной памяти
    #33046718
Shket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Может кто-нибудь знает, есть ли возможность создания временных пространств в оперативной памяти,на виртуальной файловой системе??
Такой вопрос возник у меня в всвязи с желанием повысить производительност работы с временными dbspaces.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33046784
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не проще ли буфферные пулы побольше задать и области для сортировки???
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33047669
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаешь виртуальный диск в памяти, переменную окружения сервера PSORT_DBTEMP указываешь в файловую систему на этом диске, перезапускаешь сервер.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33047879
Ilya Kulagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndronСоздаешь виртуальный диск в памяти

Примечание. На солярисе /tmp штатно находится в виртуальной памяти. Ничего создавать не надо.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33049596
Shket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я правильно понимаю, что мы с Вами говорим про Информикс?
Тогда далее у меня возникают вопросы:
1) чем это ( создания временных пространств на виртуальной файловой системе) грозит в случае например падения сервера? Что можно сделать с пропавшими чанками временных пространств? Есть мнение, что их можно просто удалить при необходимости.
2) можно ли заставить временные объекты создаваться, если temp dbspaces созданы на файлах? (основные временные операции - join и sort)
3) другие рекомендации.
Буду рада услышать ответы.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33049851
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shket, расскажи лучше зачем для каких запросов oltp dss это надо?
Может pdq настроить?
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33049861
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно про информикс :)

далее по пунктам:

1. ничем не грозит. Надо только чтобы эта витуальная ФС создавалась всегда раньше запуска информикса.

2. Может конечно пострадать производительность если чанки лежат в файлах. И надежность работы через AIO ниже чем KAIO (поскольку через AIO может происходить промежуточная буферизация данных в операционной системе). Но мы говорим про ФС расположенную в ОЗУ, а значит теоретически работа с ней должна быть быстрее чем с дисками.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33049926
Shket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Для какого рода запросов oltp dss это надо?" - я не в курсе.
Передо мной стоит следующая задача:
периодически возникают моменты, когда кол-во операций ввода/вывода во временные пространства на 3 порядка превышает кол-во операций со всеми другими пространствами. В эти моменты возникают серьезные нарекания со стороны пользователей.Требуется увеличить производительность путем например создания временных пространств в оперативной памяти, на виртуальной файловой системе. С какими сложностями это будет связано?
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33049971
Shket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andron
далее по пунктам:

1. ничем не грозит. Надо только чтобы эта витуальная ФС создавалась всегда раньше запуска информикса.



Andron, а как сделать так, чтоб эта витуальная ФС создавалась всегда раньше запуска информикса?
и как вообще создать виртуальный диск в памяти?
\\ может эти вопросы покажутся совсем глупыми, но все же..
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33050136
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как создавать это вопрос отдельный для каждой ОС, нужны видимо драйвера для создания RAM диска. Только не вздумайте создавать в этой ФС обычные рабочие dbspace, думаю понятно почему.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33050431
Shket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
понятно =)
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33050596
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shket
периодически возникают моменты, когда кол-во операций ввода/вывода во временные пространства на 3 порядка превышает кол-во операций со всеми другими пространствами

У меня такая ситуация является постоянной. Именно поэтому, у меня 4 temp dbspac-а на разных дисках (кстати на самых быстрых). Кроме них, на дисках ничего нет.

Кроме того, рекомендую посмотреть как создаются временные таблицы, на предмет создания их безлоггирования, т.е. "WITH NO LOG"
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33050656
Ilya Kulagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShketЯ правильно понимаю, что мы с Вами говорим про Информикс?
Конечно. Вот что по этому поводу говорит onconfig.std:

# DBSPACETEMP:
# OnLine equivalent of DBTEMP for SE. This is the list of dbspaces
# that the OnLine SQL Engine will use to create temp tables etc.
# If specified it must be a colon separated list of dbspaces that exist
# when the OnLine system is brought online. If not specified, or if
# all dbspaces specified are invalid, various ad hoc queries will create
# temporary files in /tmp instead.

Вот что именно я вижу прямо сейчас в моём /tmp:

soli[informix]~/zapross>ls -la /tmp/*_??? |tail 5
-rw------- 1 root informix 229376 May 5 13:59 /tmp/srt0004264_211
-rw------- 1 root informix 229376 May 5 13:59 /tmp/srt0004264_212
-rw------- 1 root informix 98304 May 5 13:10 /tmp/srt0005634_027
-rw------- 1 root informix 2260992 May 5 13:05 /tmp/srt0006979_003
-rw------- 1 root informix 2523136 May 5 13:05 /tmp/srt0006979_004

Вот что такое на самом деле /tmp:

soli[informix]~/zapross>mount |grep tmp
/tmp on swap read/write/setuid/xattr/dev=2 on Sat Mar 26 14:47:10 2005


Как видите, штатная конфигурация сервера и штатная конфигурация ОС привели меня к тому, что временные файлы создаются на виртуальной ФС. И никаких грабель не отмечено последние лет... ну, примерно 9.

Как именно в Вашей ОС создать виртуальную ФС и разместить её в памяти до запуска всех нужных сервисов - спрашивайте у неё...
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33060686
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Илья, а у вас есть обычные темповые db-пространства для создания временных таблиц ? Ведь то, что вы показали, касается только временных ФАЙЛОВ для сортировки - они могут располагаться и на файловой системе (неважно, виртуальной или реальной). А вот временные таблицы, создаваемые явно или неявно и без логирования, могут располагаться только в temp dbspaces, которые указаны в DBSPACETEMP.
В принципе, эти пространства тоже могут располагаться на виртуальном диске (виртуальной ФС), но, как уже указывали, необходимо заранее (перед запуском IDS) их создавать и, _возможно_, fast recovery будет иметь проблемы после краха сервера во время отката транзакций, использовавших временные таблицы.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33060697
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andron...
2. Может конечно пострадать производительность если чанки лежат в файлах.
На Windows не страдает. Здесь даже рекомендуется создавать все чанки на файловой системе NTFS.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33061286
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilis
На Windows не страдает. Здесь даже рекомендуется создавать все чанки на файловой системе NTFS.
В unix тоже есть выключение кэш ОС, например в Солярис в опциях монтирования ФС ключик forcedirectio.
Хотя мне кажется на какие-нибудь сотые доли процента raw быстрее, ведь на любой файловой системе чтобы добраться до определенной позиции файла надо дофига попрыгать по дескрипторам.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33154451
Shket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такой вопрос.
Если создать временные таблицы в виртуальной файловой системе, то что произойдет после падения сервера?
Перейдет ли сервер в состояние Online, ведь временные таблицы "исчезнут"?*
Что произойдет с временными пространствами, когда поднимется сервер и chink-ов не существует.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33154583
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShketЧто произойдет с временными пространствами, когда поднимется сервер и chink-ов не существует.

На момент подъема сервера, до запуска oninit, вирутальная ФС и чанки временных пространств уже должны быть. Надо создавать их на более ранней стадии запуска ОС, например. Или непосредственно до запуска Informix.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33154626
Shket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На момент подъема сервера, до запуска oninit, вирутальная ФС и чанки временных пространств уже должны быть. Надо создавать их на более ранней стадии запуска ОС, например. Или непосредственно до запуска Informix.

т.е. после каждого падения сервера надо заново создавать вирутальные временные пространства, и лишь потом запускать сервер?
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33154705
Shket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что будет если временные объекты журналируемые, Fast Recovery пройдет или нет ? как мне представляется будет это так:
сервер падает (не дожидаясь отката транзакции), при следующем запуске сервер сразу же чистит временные спейсы из DBSPACETEMP, выполняется fast recovery, во время которого сервер пытается откатить ту самую транзакцию, а временной таблицы уже нет...
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33154828
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если были временные пространства с единственным чанком, расположенным на виртуальной ФС, то придется, похоже, делать так:

1. Создать пустые файлы под чанки, где они должны быть.
2. Запустить Informix. Он запустится. Все пропавшие и теперь пустые чанки будут помечены как D в onstat -d.
3. Удаляем "недоступные" временные пространства (onspaces -d tempdbs1)
4. Создаем пространство заново (onspaces -c -d tempdbs1 -t ...) со "старыми" (с теми же параметрами) чанками во временной ФС.
5. Все. Пространства готовы к использованию. Если указаны в DBSPACETEMP...

И так - при каждом запуске Informix после перезапуска или падения ОС, раз уж чанки "пропадают".

Так, судя по проделанному эесперименту, точно работает.

На самом деле, первые два пункта можно поменять местами.
...
Рейтинг: 0 / 0
создания временных пространств в оперативной памяти
    #33154841
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShketЧто будет если временные объекты журналируемые, Fast Recovery пройдет или нет ? как мне представляется будет это так:
сервер падает (не дожидаясь отката транзакции), при следующем запуске сервер сразу же чистит временные спейсы из DBSPACETEMP, выполняется fast recovery, во время которого сервер пытается откатить ту самую транзакцию, а временной таблицы уже нет...

Журналируемые объкеты сервер во временное (созданное с -t) пространство не поместит никогда. А обычные пространства, как вам уже писали, в виртуальной ФС размещать не надо! Даже те, что у вас в DBSPACETEMP указаны.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / создания временных пространств в оперативной памяти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]