Помогите чайнику! Имеется база изначально написаная под 1.0. В связи с тем, что многие пользователи разжились 2х процессорными серваками тестил ея под 1.5 . Все хорошо но хранимые процедуры под 1.5 выполняются в сотни раз медленее. Анализ производительности показал, что под 1.0 обращений на read к таблице 50 тыс а под 1.5 500 млн!!
Где копать
Привет, chaynick!
Вы пишешь 08 апреля 2004:
c> Помогите чайнику! Имеется база изначально написаная под 1.0. В связи с тем, что многие пользователи разжились 2х процессорными c> серваками тестил ея под 1.5 . Все хорошо но хранимые процедуры под 1.5 выполняются в сотни раз медленее. Анализ c> производительности показал, что под 1.0 обращений на read к таблице 50 тыс а под 1.5 500 млн!! Где копать
В DNA копать.
Как переползал на 1.5? Просто переставил сервер и всё?
Базу нужно пересоздать из бекапа, а потом тестить.
--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.8 beta
Re[2]: Firebird 1.0 vs 1.5
От:
Аноним
Дата:
08.04.04 12:36
Оценка:
Здравствуйте, Alex.Che, Вы писали:
AC>В DNA копать. AC>Как переползал на 1.5? Просто переставил сервер и всё? AC>Базу нужно пересоздать из бекапа, а потом тестить.
А что там копать-то в этом DNA?
Или я тебя не понял?
А за идею с бекапом — спасибо. попробую
Здравствуйте, Alex.Che, Вы писали:
AC>Привет, chaynick! AC>Вы пишешь 08 апреля 2004:
c>> Помогите чайнику! Имеется база изначально написаная под 1.0. В связи с тем, что многие пользователи разжились 2х процессорными c>> серваками тестил ея под 1.5 . Все хорошо но хранимые процедуры под 1.5 выполняются в сотни раз медленее. Анализ c>> производительности показал, что под 1.0 обращений на read к таблице 50 тыс а под 1.5 500 млн!! Где копать
AC>В DNA копать. AC>Как переползал на 1.5? Просто переставил сервер и всё? AC>Базу нужно пересоздать из бекапа, а потом тестить.
AC>-- AC>With best regards, Alex Cherednichenko.
Бекапил-ресторил не помогает. А можешь поподробнее? У мея в конторе не один программер не знает что есть DNA.
Вообщето настройкой серверов мы только только занялись.
Здравствуйте, Fedorchenko Aleksey, Вы писали:
FA>Здравствуйте, chaynick, Вы писали:
C>>У мея в конторе не один программер не знает что есть DNA.
FA> FA>Эта аббревиатура гены означает. ДНК по-русски.
Пробовал перенастроить свой ДНК, но пальцы в USB не лезут. Мож через COM а ??
[Sorry, skipped] c> Пробовал перенастроить свой ДНК, но пальцы в USB не лезут. Мож через COM а ?? c> зы не смешно
Ты не обижайся. Просто ты не привёл никаких подробностей.
И посему, на такие вопросы, обычно отвечают — "ошибка в 17-й строке", ну или в DNA.
Подробности давай: текст процедуры, DDL задействованных таблиц и т.п.
Здравствуйте, Alex.Che, Вы писали:
AC>Привет, chaynick! AC>Вы пишешь 08 апреля 2004:
AC>[Sorry, skipped] c>> Пробовал перенастроить свой ДНК, но пальцы в USB не лезут. Мож через COM а ?? c>> зы не смешно
AC>Ты не обижайся. Просто ты не привёл никаких подробностей. AC>И посему, на такие вопросы, обычно отвечают — "ошибка в 17-й строке", ну или в DNA. AC>Подробности давай: текст процедуры, DDL задействованных таблиц и т.п.
AC>-- AC>With best regards, Alex Cherednichenko.
Я не обижаюсь-на это нет времени. Процедуры выложить не могу ..длинно. сия проц. имеет вложенную,
та в свою очередь еще две, те в свою очередь еще по одной . Я хотел узнать принципиально ПОЧЕМУ и где копать (настройки сервера, индексы, планы ). Переписывать ежели что не так, нельзя — половина будет юзать 1.0 половина скорее всего 1.5 Почему простейший запрос типа select t1.field1 from table t1 inner join table2 t2 on (t1.enyfield=t2.enyfield) where t2.somefield>8686 совершает 500 чтений а на 1.5 4000!!! на той же базе.
зы fb 1.5.0.4306 WIN32
[Sorry, skipped] AC>> Подробности давай: текст процедуры, DDL задействованных таблиц и т.п.
c> Почему простейший запрос типа select t1.field1 from table t1 inner join table2 t2 on (t1.enyfield=t2.enyfield) where c> t2.somefield>8686 совершает 500 чтений а на 1.5 4000!!!
Чем смотрим? Если IBExpert'ом, то прежде чем смотреть статистику чтений,
выполни в нём переход на последнюю запись. А уж потом смотри.
Иначе чушь наблюдаешь.
Здравствуйте, Alex.Che, Вы писали:
AC>Привет, chaynick! AC>Вы пишешь 08 апреля 2004:
AC>[Sorry, skipped] AC>>> Подробности давай: текст процедуры, DDL задействованных таблиц и т.п.
c>> Почему простейший запрос типа select t1.field1 from table t1 inner join table2 t2 on (t1.enyfield=t2.enyfield) where c>> t2.somefield>8686 совершает 500 чтений а на 1.5 4000!!!
AC>Чем смотрим? Если IBExpert'ом, то прежде чем смотреть статистику чтений, AC>выполни в нём переход на последнюю запись. А уж потом смотри. AC>Иначе чушь наблюдаешь.
AC>-- AC>With best regards, Alex Cherednichenko.
В результатах? Выполнил — ничего не поменялось.
Re[9]: Firebird 1.0 vs 1.5
От:
Аноним
Дата:
09.04.04 09:59
Оценка:
Здравствуйте, chaynick, Вы писали:
c>>> Почему простейший запрос типа select t1.field1 from table t1 inner join table2 t2 on (t1.enyfield=t2.enyfield) where c>>> t2.somefield>8686 совершает 500 чтений а на 1.5 4000!!!
AC>>Чем смотрим? Если IBExpert'ом, то прежде чем смотреть статистику чтений, AC>>выполни в нём переход на последнюю запись. А уж потом смотри. AC>>Иначе чушь наблюдаешь.
C>В результатах? Выполнил — ничего не поменялось.
Если хочешь, чтобы тебе помогли, то давай структуру, индексы и планы с 1.0 и с 1.5. Количество записей в таблицах.
Если же заниматься гаданием, то попробуй так
select t1.field1 from table t1 inner join table2 t2 on (t1.enyfield=t2.enyfield+0) where
t2.somefield>8686
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, chaynick, Вы писали:
c>>>> Почему простейший запрос типа select t1.field1 from table t1 inner join table2 t2 on (t1.enyfield=t2.enyfield) where c>>>> t2.somefield>8686 совершает 500 чтений а на 1.5 4000!!!
AC>>>Чем смотрим? Если IBExpert'ом, то прежде чем смотреть статистику чтений, AC>>>выполни в нём переход на последнюю запись. А уж потом смотри. AC>>>Иначе чушь наблюдаешь.
C>>В результатах? Выполнил — ничего не поменялось.
А>Если хочешь, чтобы тебе помогли, то давай структуру, индексы и планы с 1.0 и с 1.5. Количество записей в таблицах.
А>Если же заниматься гаданием, то попробуй так А>select t1.field1 from table t1 inner join table2 t2 on (t1.enyfield=t2.enyfield+0) where А>t2.somefield>8686
Ну хорошо:
CREATE TABLE ABONENTS (
LSHET VARCHAR(10) CHARACTER SET NONE NOT NULL,
ISDELETED IDENTIFER,
KR INTEGER,
DOGOVORDT TIMESTAMP,
HOUSECD KEYS,
FLATNO SMALLINT,
ROOMNO SMALLINT,
FIO VARCHAR(40) CHARACTER SET NONE,
NAME VARCHAR(20) CHARACTER SET NONE,
SECOND_NAME VARCHAR(20) CHARACTER SET NONE,
TEL VARCHAR(15) CHARACTER SET NONE,
NOTE BLOB SUB_TYPE 1 SEGMENT SIZE 80,
DELETED BOOLEAN,
NEEDMONTHDOLGRECOUNT BOOLEAN,
OWNERID KEYS,
CHANGEDOCUMENTCD INTEGER
);
/******************************************************************************/
/* Indices */
/******************************************************************************/
CREATE INDEX ABONENTS_IDX1 ON ABONENTS (LSHET);
CREATE INDEX XIEFIOABONENTS ON ABONENTS (FIO);
CREATE INDEX XIETELABONENTS ON ABONENTS (TEL);
Количество записе 8162
CREATE TABLE CITYZENS (
CITYZEN_ID IDENTIFER NOT NULL,
LSHET VARCHAR(10) CHARACTER SET NONE,
ISMAINCITYZEN BOOLEAN,
PASPORTNO VARCHAR(20) CHARACTER SET NONE,
PASPORTSR VARCHAR(10) CHARACTER SET NONE,
PASSPORTDATE TDATE,
PASSPORTNOTE TEXT_BLOB,
CTZFIO VARCHAR(30) CHARACTER SET NONE,
CTZNAME VARCHAR(20) CHARACTER SET NONE,
CTZPARENTNAME VARCHAR(20) CHARACTER SET NONE,
STARTDATE TDATE,
ENDDATE TDATE,
NOTE TEXT_BLOB,
BIRTHDAY TDATE,
UNIQUECITYZENID VARCHAR(30) CHARACTER SET NONE,
CHANGEDOCUMENTCD INTEGER
);
/******************************************************************************/
/* Indices */
/******************************************************************************/
CREATE UNIQUE INDEX XAKCITYZENSUNIQUEID ON CITYZENS (UNIQUECITYZENID);
кодичество записей 4135
Для примера запрос select ab.lshet from abonents ab
inner join cityzens cz on (cz.lshet=ab.lshet)
where cz.cityzen_id>1000
PLAN JOIN (CZ INDEX (RDB$PRIMARY22),AB INDEX (RDB$PRIMARY7))
результаты FB 1.0 SuperServer (на машке P4 1400)
Query Time
------------------------------------------------
Prepare : 0,00 ms
Execute : 15,00 ms
Avg fetch time: 0,79 ms
[Sorry, skipped] c> результаты FB 1.0 SuperServer (на машке P4 1400) c> Query Time c> ------------------------------------------------ c> Prepare : 0,00 ms c> Execute : 15,00 ms c> Avg fetch time: 0,79 ms
[Sorry, skipped] c> результаты FB 1.5 Classic Server (на машке 2хP4 2700) c> Query Time c> ------------------------------------------------ c> Prepare : 0,00 ms c> Execute : 0,00 ms c> Avg fetch time: 0,00 ms
И чем ты недоволен????
c> Причем на разницу SS CS ссылаться не надо пробовал и так и так.
Будет очень смешно, если ты оставил DefaultDbCachePages
на классике таким же, как на SS...
Здравствуйте, Alex.Che, Вы писали:
AC>Привет, chaynick! AC>Вы пишешь 09 апреля 2004:
AC>[Sorry, skipped] c>> Ну хорошо:
AC>Нет, не хорошо. AC>Доменов нету.
AC>[Sorry, skipped] c>> результаты FB 1.0 SuperServer (на машке P4 1400) c>> Query Time c>> ------------------------------------------------ c>> Prepare : 0,00 ms c>> Execute : 15,00 ms c>> Avg fetch time: 0,79 ms
AC>[Sorry, skipped] c>> результаты FB 1.5 Classic Server (на машке 2хP4 2700) c>> Query Time c>> ------------------------------------------------ c>> Prepare : 0,00 ms c>> Execute : 0,00 ms c>> Avg fetch time: 0,00 ms
AC>И чем ты недоволен????
c>> Причем на разницу SS CS ссылаться не надо пробовал и так и так.
AC>Будет очень смешно, если ты оставил DefaultDbCachePages AC>на классике таким же, как на SS...
AC>-- AC>With best regards, Alex Cherednichenko.
Сорри не неаписал, что FB 1.0 стоит на P4 1400, 320Mb а FB 1.5 на 2хP4 2700, 1Gb
CREATE DOMAIN IDENTIFER AS
INTEGER
CREATE DOMAIN KEYS AS
INTEGER
CREATE DOMAIN BOOLEAN AS
SMALLINT
CHECK (VALUE IN (0, 1))
CREATE DOMAIN TDATE AS
DATE
А размер кыша не влияет-пробовал, тут вопрос ИМХО не в этом.
Re: Firebird 1.0 vs 1.5
От:
Аноним
Дата:
10.04.04 17:17
Оценка:
Здравствуйте, chaynick, Вы писали:
C>Помогите чайнику! Имеется база изначально написаная под 1.0. В связи с тем, что многие пользователи разжились 2х процессорными серваками тестил ея под 1.5 . Все хорошо но хранимые процедуры под 1.5 выполняются в сотни раз медленее. Анализ производительности показал, что под 1.0 обращений на read к таблице 50 тыс а под 1.5 500 млн!! C>Где копать
Гиви, ты что не знаешь где магазин находится?! Сходи туда, купи пива своим программерам и они тебе все расскажут. Ты уже задолбал народ трести
А>Здравствуйте, chaynick, Вы писали:
C>>Помогите чайнику! Имеется база изначально написаная под 1.0. В связи с тем, что многие пользователи разжились 2х процессорными серваками тестил ея под 1.5 . Все хорошо но хранимые процедуры под 1.5 выполняются в сотни раз медленее. Анализ производительности показал, что под 1.0 обращений на read к таблице 50 тыс а под 1.5 500 млн!! C>>Где копать
А>Гиви, ты что не знаешь где магазин находится?! Сходи туда, купи пива своим программерам и они тебе все расскажут. Ты уже задолбал народ трести
Бандерлог, эти сволочи ни хрена не знают, и пиво им поможет
Re[3]: Firebird 1.0 vs 1.5
От:
Аноним
Дата:
12.04.04 05:20
Оценка:
Здравствуйте, chaynick, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, chaynick, Вы писали:
C>>>Помогите чайнику! Имеется база изначально написаная под 1.0. В связи с тем, что многие пользователи разжились 2х процессорными серваками тестил ея под 1.5 . Все хорошо но хранимые процедуры под 1.5 выполняются в сотни раз медленее. Анализ производительности показал, что под 1.0 обращений на read к таблице 50 тыс а под 1.5 500 млн!! C>>>Где копать
А>>Гиви, ты что не знаешь где магазин находится?! Сходи туда, купи пива своим программерам и они тебе все расскажут. Ты уже задолбал народ трести
C>Бандерлог, эти сволочи ни хрена не знают, и пиво им поможет
Ты тогда нам купи мы приедем и будем долго-долго помогать тебе пока пиво не кончиться.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, chaynick, Вы писали:
C>>Здравствуйте, Аноним, Вы писали:
А>>>Здравствуйте, chaynick, Вы писали:
C>>>>Помогите чайнику! Имеется база изначально написаная под 1.0. В связи с тем, что многие пользователи разжились 2х процессорными серваками тестил ея под 1.5 . Все хорошо но хранимые процедуры под 1.5 выполняются в сотни раз медленее. Анализ производительности показал, что под 1.0 обращений на read к таблице 50 тыс а под 1.5 500 млн!! C>>>>Где копать
А>>>Гиви, ты что не знаешь где магазин находится?! Сходи туда, купи пива своим программерам и они тебе все расскажут. Ты уже задолбал народ трести
C>>Бандерлог, эти сволочи ни хрена не знают, и пиво им поможет
А>Ты тогда нам купи мы приедем и будем долго-долго помогать тебе пока пиво не кончиться.
А>Бандерлог
По пиву ты еще дороже будешь и так же ничего не сделаешь хотя, ладно, вернемся из Твери приезжайте
C>Помогите чайнику! Имеется база изначально написаная под 1.0. В связи с тем, что многие пользователи разжились 2х процессорными серваками тестил ея под 1.5 . Все хорошо но хранимые процедуры под 1.5 выполняются в сотни раз медленее. Анализ производительности показал, что под 1.0 обращений на read к таблице 50 тыс а под 1.5 500 млн!!
C>Бекапил-ресторил не помогает. А можешь поподробнее? У мея в конторе не один программер не знает что есть DNA. C>Вообщето настройкой серверов мы только только занялись.
8) DNA == ДНК.