powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / переход с 1.5 на 2.5, производительность
22 сообщений из 22, страница 1 из 1
переход с 1.5 на 2.5, производительность
    #38902857
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста может кто встречался, есть запрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT
  t.*
FROM
  tovar_zal z,
  tovar_name t
WHERE
  t.num = z.tovar_id AND
  z.sklad_id = 61 AND
  t.visible = 1
ORDER BY
  t.name



поле t.name без индекса.

На 1.5 выполнялось:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Plan
PLAN SORT (JOIN (T NATURAL,Z INDEX (IDX_TOVAR_ZAL_TOVAR_ID)))

------ Performance info ------
Prepare time = 0ms
Execute time = 719ms
Avg fetch time = 32,68 ms
Current memory = 829 672
Max memory = 1 131 056
Memory buffers = 2 048
Reads from disk to cache = 4 696
Writes from cache to disk = 0
Fetches from cache = 612 941

на 2.5 этот же запрос выполняется:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Plan
PLAN SORT (JOIN (T NATURAL, Z INDEX (IDX_TOVAR_ZAL_TOVAR_ID)))

------ Performance info ------
Prepare time = 0ms
Execute time = 1s 469ms
Avg fetch time = 66,77 ms
Current memory = 11 520 256
Max memory = 11 568 400
Memory buffers = 75
Reads from disk to cache = 106 675
Writes from cache to disk = 0
Fetches from cache = 667 599

меняем DefaultDbCachePages = 2048

на 2.5 с DefaultDbCachePages = 2048
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Plan
PLAN SORT (JOIN (T NATURAL, Z INDEX (IDX_TOVAR_ZAL_TOVAR_ID)))

------ Performance info ------
Prepare time = 0ms
Execute time = 1s 172ms
Avg fetch time = 53,27 ms
Current memory = 20 043 592
Max memory = 22 189 808
Memory buffers = 2 048
Reads from disk to cache = 14 184
Writes from cache to disk = 0
Fetches from cache = 667 599

Все базы сразу после бекапа, каждый запрос выполнялся подряд 3 раза
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902875
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimmon.ua,

какая из таблиц больше - tovar_zal или tovar_name? По большей таблице сделай
select count(*) from table
и дай статистику сюда.

dimmon.uaВсе базы сразу после бекапа
после рестора?

p.s. не верю я, что у тебя базы одинаковые.
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902914
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimmon.ua,

помять под сортировки увеличь параметр TempCacheLimit

и ещё у тебя подозрительно много чтений с диска. Размер страницы в БД 2.5 какой?
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902925
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, после рестора, сори :) Больше tovar_zal

на 1.5
Код: sql
1.
select count(*) from tovar_zal


214858
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Plan
PLAN (TOVAR_ZAL NATURAL)

------ Performance info ------
Prepare time = 0ms
Execute time = 94ms
Avg fetch time = 94,00 ms
Current memory = 769 488
Max memory = 1 131 056
Memory buffers = 2 048
Reads from disk to cache = 2 343
Writes from cache to disk = 0
Fetches from cache = 434 405

на 2.5
Код: sql
1.
select count(*) from tovar_zal


214858
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Plan
PLAN (TOVAR_ZAL NATURAL)

------ Performance info ------
Prepare time = 0ms
Execute time = 125ms
Avg fetch time = 125,00 ms
Current memory = 1 035 032
Max memory = 11 531 212
Memory buffers = 75
Reads from disk to cache = 3 581
Writes from cache to disk = 0
Fetches from cache = 436 885

Отличия по структуре есть, но незначительные, вот сделал запрос тот что в первом посте на абсолютно одинаковых структурах, на 2.5 :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Plan
PLAN SORT (JOIN (T NATURAL, Z INDEX (IDX_TOVAR_ZAL_TOVAR_ID)))

------ Performance info ------
Prepare time = 0ms
Execute time = 1s 281ms
Avg fetch time = 58,23 ms
Current memory = 16 818 956
Max memory = 16 871 332
Memory buffers = 75
Reads from disk to cache = 82 000
Writes from cache to disk = 0
Fetches from cache = 612 849
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902933
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у тебя машины разные.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902936
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Дениси ещё у тебя подозрительно много чтений с диска. Размер страницы в БД 2.5 какой?


Симонов Дениспомять под сортировки увеличь параметр TempCacheLimit


Увеличил, результат на 2.5
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Plan
PLAN SORT (JOIN (T NATURAL, Z INDEX (IDX_TOVAR_ZAL_TOVAR_ID)))

------ Performance info ------
Prepare time = 16ms
Execute time =  766ms 
Avg fetch time = 34,82 ms
Current memory = 71 415 920
Max memory = 71 467 716
Memory buffers = 2 048
Reads from disk to cache = 14 171
Writes from cache to disk = 0
Fetches from cache = 667 599

Ай спасибо :)
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902941
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийу тебя машины разные.Причем мне кажется, что диск(и) у полуторки заметно шустрей и памяти ей дадено больше.
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902943
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Комп одинаковый, тестируется на Windows XP. Спасибо большое парни, уже все гуд :) Если найду еще одну проблему с LEFT JOIN отпишу, надеюсь она тоже уйдет с настройкой TempCacheLimit.
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902945
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimmon.ua,

у тебя размер страницы какой?
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902957
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денису тебя размер страницы какой?

8192

Сори, выше процитировал и видать забыл отписать :)
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38902986
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Архитектура сервера 2.5 используется какая?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903047
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimmon.uaна 1.5
Код: sql
1.
select count(*) from tovar_zal

214858
Код: plaintext
 Reads from disk to cache = 2 343 
...
на 2.5
Код: sql
1.
select count(*) from tovar_zal

214858
Код: plaintext
 Reads from disk to cache = 3 581 
Одинаковые таблицы, говоришь ?
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903317
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

у меня подозрение что в 1.5 и 2.5 разный размер страницы
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903380
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladОдинаковые таблицы, говоришь ?

Да сори, уже отписал выше там по структуре было отличие просто патч сразу сработал, одно доп. поле в этой таблице DOUBLE PRECISION без индекса, потом делал SELECT уже с полностью идентичной базой 2.5 после бекапа там торможения, вот выборка с COUNT
Код: sql
1.
select count(*) from tovar_zal


214858
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Plan
PLAN (TOVAR_ZAL NATURAL)

------ Performance info ------
Prepare time = 0ms
Execute time = 109ms
Avg fetch time = 109,00 ms
Current memory = 1 084 308
Max memory = 1 141 408
Memory buffers = 90
Reads from disk to cache = 2 344
Writes from cache to disk = 0
Fetches from cache = 434 411
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903400
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денису меня подозрение что в 1.5 и 2.5 разный размер страницы

Тьфу блин, куда я смотрел, походу говорил вам page buffers из IBExpert, размер то у меня 4096 вот уже из gstat -h
1.5
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Database header page information:
        Flags                   0
        Checksum                12345
        Generation              1136
        Page size                4096 
        ODS version             10.1
        Oldest transaction      631
        Oldest active           1100
        Oldest snapshot         1100
        Next transaction        1119
        Bumped transaction      1
        Sequence number         0
        Next attachment ID      12
        Implementation ID       16
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        3
        Creation date           Mar 12, 2015 15:28:49
        Attributes              force write, no reserve

    Variable header data:
        Sweep interval:         20000
        *END*

2.5
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Database header page information:
        Flags                   0
        Checksum                12345
        Generation              814
        Page size                4096 
        ODS version             11.2
        Oldest transaction      758
        Oldest active           759
        Oldest snapshot         759
        Next transaction        802
        Bumped transaction      1
        Sequence number         0
        Next attachment ID      5
        Implementation ID       16
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        3
        Creation date           Mar 12, 2015 16:59:21
        Attributes              no reserve

    Variable header data:
        Sweep interval:         20000
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903415
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimmon.ua,

размер страницы до 8192 подыми.
И кэш увеличь хотя бы до 256 (можно и больше, но не более 2048 для CS/SC)

авторMemory buffers = 90
это никуда не годится

Глядишь ещё в два раза быстрее заработает
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903426
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое, направление понял, буду экспериментировать.
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903517
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimmon.ua,

no reserve зачем сделано? база практически не модифицируется?
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903656
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvno reserve зачем сделано? база практически не модифицируется?

Даже не обращал внимания, у меня рестор автоматом стоял с UseAllSpace, уже по форуму понял что это плохо, но не понял плюсы и на что влияет заполнения страницы на 70%-80%. Пока что догадываюсь, может и маразм, но думаю так что при изменении записи после долгого периода, она может дописывается в ту же страницу что и старая версия т.к. FB оставил специально для этого дела 30%-20% свободного места, а не в какую-то новую страницу которая уже далеко от основных данных и при выборке будет быстрее выбираться данные, т.к. не будут сильно разбросаны.
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903672
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimmon.ua,

use all space - это заполнение страниц по максимуму. т.е. при обновлении записи на странице может не быть места, и версия попадет на новую страницу, что плохо с точки зрения ввода-вывода. no_reserve предназначен для получения "уплотненных" баз, которые или не модифицируются (например, записаны на cd/dvd), или модифицируются редко.
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903708
dimmon.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvuse all space - это заполнение страниц по максимуму. т.е. при обновлении записи на странице может не быть места, и версия попадет на новую страницу, что плохо с точки зрения ввода-вывода. no_reserve предназначен для получения "уплотненных" баз, которые или не модифицируются (например, записаны на cd/dvd), или модифицируются редко.

По "use all space" угадал, но я думал это одно и то же с "no reserve". Не понял это что разные вещи чтоль? В IBExpert и в FIBPlus делаю восстановление без "UseAllSpace", получаю пустые атрибуты:
Код: plaintext
Attributes
если делаю с UseAllSpace, получаю
Код: plaintext
Attributes              no reserve

Смотрю в командах gbak, там только
Код: plaintext
-USE_(ALL_SPACE)      do not reserve space for record versions
...
Рейтинг: 0 / 0
переход с 1.5 на 2.5, производительность
    #38903863
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimmon.uaНе понял это что разные вещи чтоль?
use_all_space - использовать все пространство на страницах (не резервировать место для новых версий)
no_reserve - не резервировать место для новых версий (использовать все пространство на страницах
use_all_space = no_reserve

так получилось, что у gfix/gbak опция называется так, а в header page установленный флаг называется иначе.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / переход с 1.5 на 2.5, производительность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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