Тормоза FireBird

Вопросы программирования БД, их оптимизации, резервирования и восстановления данных.

Модераторы: Trinity admin`s, Free-lance moderator`s

ZAlex
Advanced member
Сообщения: 301
Зарегистрирован: 03 ноя 2003, 16:53
Откуда: С-Петербург

Сообщение ZAlex » 15 дек 2006, 19:04

Раньше разбираться с параметрами запуска IB сервера просто небыло времени, сейчас можно и потюнить. Так что давайте копать информацию вместе и делиться результатами.
Ой, а можно попросить делиться не между собой, а в т.ч. для общества?

Вопрос тюнинга IB/FireBird очень интересует....

and3008
Заслуженный сетевик
Сообщения: 1109
Зарегистрирован: 03 янв 2004, 23:30
Откуда: Н.Новгород

Сообщение and3008 » 15 дек 2006, 19:23

Ок.

Считаю что автор вопроса должен проявить некоторое желание разобраться в вопросе. Пока же я вижу желание получить готовый ответ, но много шансов, что ответа не будет. Дискутируем уже сутки, а вопрос с места не сдвинулся ни на йоту.

Начнем или будем друг другу сопли утирать?

Про Горбачева и Гипертрейдинг читат здесь:
http://www.ibase.ru/devinfo/ht.htm

Еще в 2004 году статейка вышла. Там написано ПОЧЕМУ НАДО ОТКЛЮЧАТЬ HT.
Уважаемый, не боись, я плохого никогда не советую.

Про счетчики. Выдержка из моей ссылки:

Если же значение счетчика Memory: Pages/sec возрастает, тогда как показатель счетчика Memory: Available Bytes приближается к нижней границе, 4 Мбайт, предусмотренной для системы NT Server, а диски, содержащие файлы pagefile.sys, активно участвуют в обменах (т. е. их показатели %Disk Time, Disk Bytes/sec и Average Disk Queue Length возрастают), можно говорить о перегруженности оперативной памяти. Если же счетчик Memory: Available Bytes не фиксирует сокращения свободной памяти, значит, с подсистемой памяти все в порядке. В этом случае нужно выяснить, какая прикладная программа выполняет большое количество операций чтения и записи на диск (и убедитесь, что соответствующие данные не представлены в кэш-памяти). Для этого нужно с помощью утилиты Perfor-mance Monitor проконтролировать объекты Physical Disk и Cache. На основании значений счетчиков объекта Cache можно судить о том, не малый ли объем кэш-памяти влияет на производительность всей системы


Из этого следует, что надо оторвать свою задницу и заняться мониторингом. И мониторить не один параметр, а несколько. Кто это будет делать кроме вас?

Вы еще желаете решить свою проблему или так и будете сетовать на незнания окружающих? В конце концов это ваши проблемы, а не наши.

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Сообщение gs » 15 дек 2006, 19:48

Не, ну правда, не надо взаимных наездов (вообще похоже сегодня погода нелетная). Я с автором уже общался и он - пацан вполне реальный. Видимо друг друга просто не понимаете...

and3008
Заслуженный сетевик
Сообщения: 1109
Зарегистрирован: 03 янв 2004, 23:30
Откуда: Н.Новгород

Сообщение and3008 » 15 дек 2006, 20:01

Ты с ним еще по-общайся. Ему действительно хотят помочь.

Если он будет достаточно вменяемо говорить, то дело пойдет и совместными усилиями мы решим проблему.

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

Я сам так делаю, когда в тех.суппорт (платный) обращаюсь. Работает железно. Главное не начинать их учить как надо решать твою проблему. Надо выдавать ту инфу, которую запрашивают, думать за тебя уже будут другие, т.к. ты уже подумал и ничего не надумал.

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 18 дек 2006, 12:02

ZAlex писал(а):Раньше разбираться с параметрами запуска IB сервера просто небыло времени, сейчас можно и потюнить. Так что давайте копать информацию вместе и делиться результатами.
Ой, а можно попросить делиться не между собой, а в т.ч. для общества?

Вопрос тюнинга IB/FireBird очень интересует....
Само собой тайны делать из вопроса никто не собирается.

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 18 дек 2006, 12:15

По теме:

У меня в качестве платформы Gentoo Linux, на двухпроцессороной платформе. Само собой SMP включен.
база firebird-1.5.3-r1
В режиме классик сервер.

Вопрос собственно какие счётчики (параметры) и чем смотреть в линуксе ?

LVN
Junior member
Сообщения: 19
Зарегистрирован: 15 ноя 2006, 12:53

Сообщение LVN » 18 дек 2006, 13:14

Вот, что у меня получается:
Выключил я гипертрейдинг, ссылка про Горбачева и Гипертрейдинг показалась мне убедительной.
Трудно сказать, быстрее ли стал от этого работать FB, будем считать, что быстрее.
Главное, что я понял, (если не прав - поправьте) FireBird работает с кэшем совсем не так, как SQL. SQL сам занимает память для кэша, а FireBird использует System Cache. Соответсвенно, для работы FireBird, в настройках системы надо ставить Performance options/Advanced/Memory usage/System cache (а не Programs, как в случае с SQL). После изменения этой настройки субъективно FireBird стал быстрее выдавать результаты (объективно трудно проверить - постоянно кто-то еще что-то делает). Основным тормозом теперь является процессор. Хотя, когда был включен гипертрейдинг, средняя длина очереди к нему была 0, максимум - 4, а теперь 8 и 31. Вот и вопрос, или при гипертрейдинге что-то параллельно успевалось выполниться, или до процессора образовывался затор. Попробую еще повторить замеры на выходных, когда никто не будет мешать. На самом деле, изменения параметров использования кэша дало неоднозначные результаты: процессор стал больше загружен, он стал явно самым узким местом, но счетчик Memory\ Pages/sec стал еще хуже, хотя я ожидал, что при двухкратном увеличении System Cache он уменьшится. Среднее значение Memory\Page Faults/sec тоже ухудшилось. Возможно нагрузка немного отличалась, точнее я смогу проверить только на выходных.
Еще вопрос у меня появился. Раньше я планировал под FireBird поставить двухпроцессорный сервер и какое-то время использовать этот же сервер под старые базы SQL, а получается, что SQL и FireBird в принципе вместе не жильцы (не считая борьбы за процессор) из-за  необходимости разных настроек системы? Если в FireBird Server Manager поставить "run as an application", FireBird будет как SQL  с кэшем работать, или все-равно через системный кэш?

Аватара пользователя
a_shats
Advanced member
Сообщения: 5010
Зарегистрирован: 27 авг 2002, 10:55
Откуда: Москва
Контактная информация:

Сообщение a_shats » 18 дек 2006, 13:25

Firebird НЕ работает через файловый кэш ОС ни в каком варианте :)
Просто недоработочка вышла - не умеет писать и читать (точнее не умел - уже давно умеет) мимо этого самого файлового кэша.
Ну и плюс - Interbase традиционно плоховато использует ОЗУ для кэширования.
Тут спасает Classic Server - то есть на каждого пользователя отдельный процесс с собственным кэшем.
Что касается HyperThreading - писал тыщщу раз и еще раз повторюсь: его отключение увеличивает (незначительно, порядка максимум 7-10%) производительность на отчетах и сильно ухудшает время реакции сервера на действия пользователей. Ну то есть если у Вас все время крутится аналитика и пользователей немного (1-3) - да, его нужно отключить. Но если у Вас на этом сервере выполняется ввод и обработка документов кучей пользователей - нет, его выключать не нужно.

LVN
Junior member
Сообщения: 19
Зарегистрирован: 15 ноя 2006, 12:53

Сообщение LVN » 18 дек 2006, 13:47

Вот значения счетчиков. С цифрой 2 - после изменения параметров памяти.
Вложения
Максимум.jpg
Максимум.jpg (18.82 КБ) 17829 просмотров
Максимум2.jpg
Максимум2.jpg (19.56 КБ) 17829 просмотров
Среднее.jpg
Среднее.jpg (18.32 КБ) 17831 просмотр

LVN
Junior member
Сообщения: 19
Зарегистрирован: 15 ноя 2006, 12:53

Сообщение LVN » 18 дек 2006, 13:50

Еще одна картинка
Вложения
Среднее2.jpg
Среднее2.jpg (19.28 КБ) 17839 просмотров

LVN
Junior member
Сообщения: 19
Зарегистрирован: 15 ноя 2006, 12:53

Сообщение LVN » 18 дек 2006, 13:55

a_shats писал(а):Firebird НЕ работает через файловый кэш ОС ни в каком варианте :)
Просто недоработочка вышла - не умеет писать и читать (точнее не умел - уже давно умеет) мимо этого самого файлового кэша.
Ну и какими тогда должны быть настройки системы? System Cache или Programs?

Аватара пользователя
a_shats
Advanced member
Сообщения: 5010
Зарегистрирован: 27 авг 2002, 10:55
Откуда: Москва
Контактная информация:

Сообщение a_shats » 18 дек 2006, 14:05

Programs.

LVN
Junior member
Сообщения: 19
Зарегистрирован: 15 ноя 2006, 12:53

Сообщение LVN » 19 дек 2006, 10:26

a_shats писал(а):Programs.
Объясните мне тогда поведение системы. При установке параметра сервера "System Cache" размер кэша вырос до 800Мб, хотя вы говорите, что FireBird умеет писать мимо файлового кэша! В памяти FBServer занимает 20Мб, где он тогда хранит свой кэш?
А при установке "Programs" у FireBird-a и своего нет толком кэша и рост системного ограничен.
a_shats писал(а):Interbase традиционно плоховато использует ОЗУ для кэширования.
Получается нет выхода? С Classic Server я понял, поэксперементирую, но основная беда, с которой я борюсь - это обработка, которая может выполняться несколько раз в день (2,3 раза), продолжающаяся 20-30 минут. Хочется как-то подобрать параметры, чтобы именно она быстрее выполнялась.

Аватара пользователя
a_shats
Advanced member
Сообщения: 5010
Зарегистрирован: 27 авг 2002, 10:55
Откуда: Москва
Контактная информация:

Сообщение a_shats » 19 дек 2006, 10:48

SuperServer плохо ОЗУ пользует :) Classic пользует нормально. Только будьте аккуратны с настройками.
И - какая у Вас версия IB/FB ? Если FB - используйте начиная с FB 1.5.0 (не ниже), там основные грабли пофиксены.
Я же говорил - старые версии IB/FB не умели писать мимо кэша.
Ну и, как обычно - http:///www.ibase.ru в помощь ;)

LVN
Junior member
Сообщения: 19
Зарегистрирован: 15 ноя 2006, 12:53

Сообщение LVN » 19 дек 2006, 11:16

a_shats писал(а):SuperServer плохо ОЗУ пользует :) Classic пользует нормально. Только будьте аккуратны с настройками.
И - какая у Вас версия IB/FB ? Если FB - используйте начиная с FB 1.5.0 (не ниже), там основные грабли пофиксены.
FB 1.5.0.4306
a_shats писал(а):Я же говорил - старые версии IB/FB не умели писать мимо кэша.
Про старые версии я понял. Вы мне расскажите, как новую версию заставить использовать свободную оперативную память под кэш!
a_shats писал(а):Ну и, как обычно - http:///www.ibase.ru в помощь ;)
Я согласен, может мне и поможет чтение этих материалов, но будет обидно, если в итоге я только и пойму, что если FB не хочет использовать память под кэш, то никак его и не заставить это сделать!

Ответить

Вернуться в «Серверы - ПО, Базы Данных и их использование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей