Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Kovalenko Dmitry


Привет всем.

Привет всем. Есть у меня тестик, который очень долго терроризирует системную 
таблицу с описаниями хранимых процедур. В рамках одной транзакции. В 
частности - он открывает и просматривает блоб с BLR.


На 2.1 достаточно быстро сервер выжирал всю свою память и выдавал ошибку 
выделения памяти.


2.5 ведет себя лучше. Но все равно - судя по диспетчеру, каждую секунду 
отжирает 100 килобайт (наверное могет и быстрее, но машина щас загружена 
другими задачами). Короче - достижение OUTOFMEMORY, хотя и находится в 
отдаленном будущем, но вполне реально.


При коммите, память будет освобождена.

Я об этом с полгода назад писал кому следует. Сказали, что типа временные 
блобы жрут память.


Но вот щас опять проблема напомнила о себе. И решил поделится с широкой 
общественностью. На 1.5 - такого расхода нет.


Коваленко Дмитрий. 





Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Janex


Andrei wrote:

Если имеем базу на Yaffil, то для ее перевода на 2.5, достаточно ли
будет выполнить следующую последовательность действий:
...


Мдаа ... не тоже ето в переди, думаю в етом году приступить :(
Немношко поексперементировал всякие варианты. У меня один клиент 24/7 и
если более часа выганять их из базы, то ето плохо, база ~ 2.5 Gb.

Для себя нашёл такое решение, наверно и при неи останусь, если некто
чтото лучше нопосоветует:

1. Разделяем базу на 2 скрипта, в первом только голые таблицы, без индексов и 
ключеи
2. Из первого скрипта делам базу на FB
3. С FBCopy переганяем данные из Yaffil-a а FB
4. Накатываем второи скрипт.

Шас точно непомню, но 2.5 гига + индекси перелились гдето меньше чем за час. В 
принципе
был приятно удевлён насколько быстро FBCopy переливает данные ...


Regards
Janex





Re: Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Dmitry Yemanov


Kovalenko Dmitry wrote:


Я об этом с полгода назад писал кому следует. Сказали, что типа 
временные блобы жрут память.


Дык с тех пор ничего не изменилось.


--
Дмитрий Еманов



Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Khorsun Vlad



Шас точно непомню, но 2.5 гига + индекси перелились гдето меньше чем за час. В 
принципе
был приятно удевлён насколько быстро FBCopy переливает данные ...


   Это медленно ! Посмотри с какой скоростью это сделает gbak...
Если речь о 2.5, то, повторюсь, - он сам может вытянуть данные из
дятловой БД. Иначе - см.выше, я уже писал

--
Хорсун Влад 





Re: Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Khorsun Vlad


Dmitry Yemanov ...


Kovalenko Dmitry wrote:


Я об этом с полгода назад писал кому следует. Сказали, что типа временные блобы 
жрут память.


Дык с тех пор ничего не изменилось.


   Сами блобы - да создаются. Но буфер свой держат во временном файле
и только по размеру содержимого, а не целую страницу.

--
Хорсун Влад 





Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Janex


Khorsun Vlad wrote:


Шас точно непомню, но 2.5 гига + индекси перелились гдето меньше чем 
за час. В принципе

был приятно удевлён насколько быстро FBCopy переливает данные ...


   Это медленно ! Посмотри с какой скоростью это сделает gbak...
Если речь о 2.5, то, повторюсь, - он сам может вытянуть данные из
дятловой БД. Иначе - см.выше, я уже писал

--
Хорсун Влад



Да но у меня там кодировка 1257 и по краинеи мере FB 2.1 ето непереваривает :( 
:( :( Даавно
уже про ето плакал :)
Сомневаюсь что y 2.5 чтото менялось нашёт етого, но если менялось/будет 
менятся, был бы
страно рад :)

Regards
Janex



Re: Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Kovalenko Dmitry



В частности - он открывает и просматривает блоб с BLR.


Хотя, не. Вру. Щас вот выяснил окончательно - в чём именно там фигня.

Фигня связана с текстом хранимой процедуры. Причем конкретная.

Она же в UNICODE_FSS хранится, а подключение у меня WIN1251.

for select rdb$procedure_source
from rdb$procedures

Сервер, по всей видимости, при фетче этот блоб сразу конвертирует. Не смотря 
на то, что я его так и не прочитаю.


Отсюда и выжирание.

Не, а ведь могу пока еще. Только силой мысли :-)
Коваленко Дмитрий 





Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Kovalenko Dmitry




Да но у меня там кодировка 1257 и по краинеи мере FB 2.1 ето 
непереваривает :( :( :( Даавно

уже про ето плакал :)
Сомневаюсь что y 2.5 чтото менялось нашёт етого, но если менялось/будет 
менятся, был бы

страно рад :)


Я вот тебя сколько помню - ты перманентно плачешь по поводу вот этого 
клиента :-)


Каких-то вшивых ~3 гига

Насчет непереваривает - там что WIN1257 другая? Я не про идентификаторы, а 
саму кодовую таблицу.


Коваленко Дмитрий. 





Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Khorsun Vlad



Да но у меня там кодировка 1257 и по краинеи мере FB 2.1 ето непереваривает :( 
:( :( Даавно
уже про ето плакал :)
Сомневаюсь что y 2.5 чтото менялось нашёт етого, но если менялось/будет 
менятся, был бы
страно рад :)


   Если сможешь запустить одновременно Ya и FB 2.5, то всё получится.
Например - Yaffil работает как и работал, а FB 2.5 embedded создаёт новую БД,
коннектится к Yaffil'у и импортирует данные.

--
Хорсун Влад 





Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Dmitry Yemanov


Kovalenko Dmitry wrote:


Насчет непереваривает - там что WIN1257 другая? Я не про идентификаторы, 
а саму кодовую таблицу.


ID там другие, вот и вся проблема. Соотв-но, бекап-рестор не канает.


--
Дмитрий Еманов



Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Kovalenko Dmitry




Насчет непереваривает - там что WIN1257 другая? Я не про идентификаторы, 
а саму кодовую таблицу.


ID там другие, вот и вся проблема. Соотв-но, бекап-рестор не канает.


Какой кашмар. Гарантировано можно еще лет десять страдать :-)

Коваленко Дмитрий. 





Re: Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Kovalenko Dmitry



Она же в UNICODE_FSS хранится, а подключение у меня WIN1251.
Сервер, по всей видимости, при фетче этот блоб сразу конвертирует.


Сделали бы вы, что ли, это через конвертирование по-требованию

И никаких тебе, временных блобов с их проблемами.

Коваленко Дмитрий.

PS. Прийдется вместо одного запроса, вытаскивающего PROCEDURE_TYPE, 
PROCEDURE_BLR, PROCEDURE_SOURCE, городить два - (TYPE, BLR) и (SOURCE). 





Re: Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Kovalenko Dmitry



   Пока ты не открыл блоб, ничто никем не создаётся.


Точна? Я его не открываю. Колонка с блобом выбирается на тот случай, если 
RDB$PROCEDURE_TYPE будет пустая. Таких у меня нет. Там или 1 или 2.


Если пустая, то анализирую BLR.

И только если с BLR возникли проблемы - вот тады открываю и гружу блоб с 
исходным текстом.


---
Я (для Пешкова) как то формировал список функций, которые вызываются в этом 
тесте - открытия блоба там вообще нету.



PS Опять же - коммитить не забывай :-D


Ну скока можно - коммичу не я, а юзер :)

Коваленко Дмитрий. 





Re: page 3 is wrong type (expected 4, found 0)

2009-01-19 Пенетрантность Anton


Attid пишет:

ну я так понимаю если 3 дня возишься то тебе эта база не очень нужна.
иначе дорога только http://ibase.ru/dbrepair.htm


Самому никак нельзя это
-wrong page type
-page 3 is wrong type (expected 4, found 0)
починить?
Хоть какие-нибудь идеи...



Re: page 3 is wrong type (expected 4, found 0)

2009-01-19 Пенетрантность Khorsun Vlad


Anton ...


Attid пишет:

ну я так понимаю если 3 дня возишься то тебе эта база не очень нужна.
иначе дорога только http://ibase.ru/dbrepair.htm


Самому никак нельзя это
-wrong page type
-page 3 is wrong type (expected 4, found 0)
починить?
Хоть какие-нибудь идеи...


   У тебя страница заполнена нулями, и скорее всего не она одна,
какие идеи ?

--
Хорсун Влад 





Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Janex


Khorsun Vlad wrote:


   Если сможешь запустить одновременно Ya и FB 2.5, то всё получится.
Например - Yaffil работает как и работал, а FB 2.5 embedded создаёт 
новую БД,

коннектится к Yaffil'у и импортирует данные.


Ну ето ясно, так то и будем делать, только как уже выше писали, ID кодовои 
страници
другои, изза чего FB невсасывает бекап Yaфила :(

Regards
Janex



Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Janex


Kovalenko Dmitry wrote:




Насчет непереваривает - там что WIN1257 другая? Я не про 
идентификаторы, а саму кодовую таблицу.


ID там другие, вот и вся проблема. Соотв-но, бекап-рестор не канает.


Какой кашмар. Гарантировано можно еще лет десять страдать :-)

Коваленко Дмитрий.



Ну я уже смерился :)

Regards
Janex



Re: Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Khorsun Vlad


Kovalenko Dmitry ...



Она же в UNICODE_FSS хранится, а подключение у меня WIN1251.
Сервер, по всей видимости, при фетче этот блоб сразу конвертирует.


Сделали бы вы, что ли, это через конвертирование по-требованию

И никаких тебе, временных блобов с их проблемами.


   Пока ты не открыл блоб, ничто никем не создаётся.

--
Хорсун Влад

PS Опять же - коммитить не забывай :-D 





Re: page 3 is wrong type (expected 4, found 0)

2009-01-19 Пенетрантность Anton


Khorsun Vlad пишет:


   У тебя страница заполнена нулями, и скорее всего не она одна,
какие идеи ?


Спасибо Влад. Я себе такого и представить не мог.
Страница действительно не одна, а семь (с 3 по 9ю)



Re: Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Kovalenko Dmitry



Точна? Я его не открываю.


Хотя, может я тебя и обманываю...

Я (для Пешкова) как то формировал список функций, которые вызываются в 
этом тесте - открытия блоба там вообще нету.


А тут я что-то перепутал.

Щас буду копать.

Коваленко Дмитрий. 





Re: page 3 is wrong type (expected 4, found 0)

2009-01-19 Пенетрантность Kochmin Alexandr


Khorsun Vlad wrote:


   У тебя страница заполнена нулями, и скорее всего не она одна,
какие идеи ?


стереть нули?



Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность RUST




Intertelecom CDMA 45 грн в месяц в пакете 700 mb трафика.
Дмитрий


туда же PeopleNet club 0.03 грн. ($0.00375) за мегабайт
без абонплаты.



Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность RUST




Ты не сравнивай центральные города с региональными.
Отъедь от Одессы на 100км, и посмотри, почем
и какой там интернет.



100 км от Одессы это Николаев ;-) Сомневаюсь
что сильно дороже будет.
Но в целом понятно, я ж и писал что конкуренция
превыше всего. Для негорода у нас три оператора,
позиционирующих себя как 2.5G - 3G
intertelecom
people.net
mts connect
Фильмы конечно не покачаешь, но для почты и
серфинга  - самое то.



Re: page 3 is wrong type (expected 4, found 0)

2009-01-19 Пенетрантность WildSery

On Mon, 19 Jan 2009 16:11:01 +0300, Kochmin Alexandr alexa...@intakom.ru 
wrote:

 стереть нули?

//0xFF
Это чревато. На этих страницах возникнет вакуум, скорее всего, данные из 
соседних страниц всосутся.  :D 

-- 
Сергей Смирнов.



Re: page 3 is wrong type (expected 4, found 0)

2009-01-19 Пенетрантность Kochmin Alexandr


WildSery wrote:

Это чревато. На этих страницах возникнет вакуум, скорее всего, данные из соседних страниц всосутся.  :D 


да нормально. Данные заполнят свободное место и все заработает.



RE: page 3 is wrong type (expected 4, found 0)

2009-01-19 Пенетрантность Dmitriy A. Beloshistov

  Это чревато. На этих страницах возникнет вакуум, скорее всего, данные
 из соседних страниц всосутся.  :D
 
 да нормально. Данные заполнят свободное место и все заработает.

Ага, просто взлетит... В космос ;)

P.S. Эх, что-то юмор конфы никто не собирает


WBR, Dmitry Beloshistov AKA [-=BDS=-]



 

__ Eioi?iaoey io ESET NOD32 Antivirus, aa?ney aacu aaiiuo neaiaoo? 
ae?onia 3777 (20090119) __

Niiauaiea i?iaa?aii i?ia?aiiie ESET NOD32 Antivirus.

http://www.esetnod32.ru
 


Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Dmitri Kuzmenko


Hello, Dmitry

Dmitry Yemanov wrote:

Насчет непереваривает - там что WIN1257 другая? Я не про 
идентификаторы, а саму кодовую таблицу.


ID там другие, вот и вся проблема. Соотв-но, бекап-рестор не канает.


вопрос не совсем к тебе - а что, нельзя переписать бэкап чтобы
идентификаторы кодировки при ресторе менял? принудительно.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Kovalenko Dmitry



Сделали бы вы, что ли, это через конвертирование по-требованию


   Пока ты не открыл блоб, ничто никем не создаётся.


Переписал код - блоб с исходным текстом процедуры теперь ваще не 
запрашивается.


Память перестала течь. И на 2.1 и на 2.5 - стоит как кол на уровне 16.6MB

Вернул его в запрос обратно (но даже не пытаюсь его открыть) - сервер течет.

Полагаю, это на любой колонке с текстовым блобом, кодовая страница которого 
не совпадает с кодировкой подключения, будет происходить.


---
Что в очередной раз подтверждает мысль - NONE подключение рулит. Правда, его 
надо уметь готовить :-)


Коваленко Дмитрий.
www.ibprovider.com 





Re: автоматизированный переход на 2.5

2009-01-19 Пенетрантность Dmitry Yemanov


Dmitri Kuzmenko wrote:


вопрос не совсем к тебе - а что, нельзя переписать бэкап чтобы
идентификаторы кодировки при ресторе менял? принудительно.


Зашить в него знание ID-шников яффила? Нафиг.


--
Дмитрий Еманов



Re: Неторопливое выжирание памяти в 2.5

2009-01-19 Пенетрантность Oleg Matveyev


Что в очередной раз подтверждает мысль - NONE подключение рулит. Правда, 
его надо уметь готовить :-)


Поделись своим рецептом с публикой.
:-)