Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 2.5 Как быстро работает уборка мусора? / 7 сообщений из 7, страница 1 из 1
22.12.2013, 12:27:31
    #38509168
bazilio77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2.5 Как быстро работает уборка мусора?
Особенно никогда не интересовался быстродействием уборки мусора, но недавно столкнулся с ней и удивился:

1. Исходная база свежебекапресторенная - 26 Мб, Forced Writes = ON.
2. Таблица
CREATE TABLE RCPRQLT (
RCP_ID ID NOT NULL /* ID = INTEGER NOT NULL */,
RAW_ID ID NOT NULL /* ID = INTEGER NOT NULL */,
QLT_ID ID NOT NULL /* ID = INTEGER NOT NULL */,
QLT_VAL REAL_WNULL /* REAL_WNULL = DOUBLE PRECISION */,
VALUE_NATIVE REAL_WNULL /* REAL_WNULL = DOUBLE PRECISION */,
VALUE_PREMIX REAL_WNULL /* REAL_WNULL = DOUBLE PRECISION */
);
ALTER TABLE RCPRQLT ADD CONSTRAINT RCPRQLT PRIMARY KEY (RCP_ID, RAW_ID, QLT_ID);
ALTER TABLE RCPRQLT ADD CONSTRAINT RCPRQLT_FK_QLT_ID FOREIGN KEY (QLT_ID) REFERENCES QM_DICT (QLT_ID) ON UPDATE CASCADE;
ALTER TABLE RCPRQLT ADD CONSTRAINT RCPRQLT_FK_RAW_ID FOREIGN KEY (RAW_ID) REFERENCES RAW_DICT (RAW_ID) ON UPDATE CASCADE;
ALTER TABLE RCPRQLT ADD CONSTRAINT RCPRQLT_FK_RCP_ID FOREIGN KEY (RCP_ID) REFERENCES DOC_DCT (DOC_ID) ON DELETE CASCADE;

содержит 83 000 записей.
Производим массовое удаление информации.
Запускаем select count(*) from rcprqlt. Получаем выполнение почти 2 минуты.
информация во вложении

С Forced writes = OFF выполняется 1.5 секунды.
...
Рейтинг: 0 / 0
22.12.2013, 12:52:36
    #38509181
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2.5 Как быстро работает уборка мусора?
bazilio77,

судя по всему выполняется на домашнем ПК. Конфигурация умалчиваемая стоит, если число буферов всего 75. Составной первичный ключ на три поля зря замутил, да ещё и каскадные обновления с удалениями добавил.
...
Рейтинг: 0 / 0
22.12.2013, 13:02:09
    #38509185
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2.5 Как быстро работает уборка мусора?
bazilio77,

на таком объёме чего-то не верится. Можешь свою базульку выложить для тестирования?
...
Рейтинг: 0 / 0
22.12.2013, 13:36:18
    #38509201
bazilio77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2.5 Как быстро работает уборка мусора?
Симонов Денисbazilio77,

судя по всему выполняется на домашнем ПК. Конфигурация умалчиваемая стоит, если число буферов всего 75. Составной первичный ключ на три поля зря замутил, да ещё и каскадные обновления с удалениями добавил.
Составной первичный ключ и каскадные удаления к делу не относятся. Как вы предлагаете обеспечить уникальность по критерию rcp, raw, qlt без такого ключа? Суррогатным плюс уникальным?

Спасибо за подсказку по поводу буферов. До этого пользовался умолчательным конфигом.
Раскомментировал DefaultDbCachePages = 2048, все стало на места.
Забыл сказать что сервер был embedded.

Но тогда возникает другой вопрос:
почему embedded по умолчанию делает кэш 75 страниц, хотя написано что это должно относиться к классику?

# ----------------------------
# Number of cached database pages
#
# This sets the number of pages from any one database that can be held
# in cache at once. If you increase this value, the engine will
# allocate more pages to the cache for every database. By default, the
# SuperServer allocates 2048 pages for each database and the classic
# allocates 75 pages per client connection per database.
#
# Type: integer
#
DefaultDbCachePages = 2048
...
Рейтинг: 0 / 0
22.12.2013, 13:44:46
    #38509205
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2.5 Как быстро работает уборка мусора?
bazilio77почему embedded по умолчанию делает кэш 75 страниц, хотя написано что это
должно относиться к классику?
Потому что Embedded и есть Classic.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.12.2013, 13:47:57
    #38509210
bazilio77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2.5 Как быстро работает уборка мусора?
Dimitry Sibiryakovbazilio77почему embedded по умолчанию делает кэш 75 страниц, хотя написано что это
должно относиться к классику?
Потому что Embedded и есть Classic.

Век живи, век учись!
Ранее не пользовался классиком, только суперсервером.
Еще вопрос - какие могут быть еще подводные камни в настройке?
...
Рейтинг: 0 / 0
22.12.2013, 13:48:35
    #38509211
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2.5 Как быстро работает уборка мусора?
bazilio77,

потому как начиная с версии 2.5 embeded работает как superclassic.

http://www.firebirdsql.org/file/documentation/release_notes/html/ru/rlsnotes25.html#rnfb25-threading-superclassic
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 2.5 Как быстро работает уборка мусора? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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