powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / gbak - влияние на работу клиентов
25 сообщений из 35, страница 1 из 2
gbak - влияние на работу клиентов
    #39650959
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевел один из серверов с WinXP на Win7-64 и заодно поднял Firebird с 2.5.1-32 bit до 2.5.8-64bit

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ОС       : WinXP pro (32 бит) -> Win7 Максимальная (64 бит)
Firebird : 2.5.1 (32 bit) SS  -> 2.5.8 (64 bit) SS
Проц     : i3  -> i5
Память   : 4Гб -> 16Гб
Мать     : старая -> новая
Винт     : системный - новый
Винт     : базы   - перенес старый винт
Винт     : бэкапы - перенес старый винт

Базы перебэкапил.
База размером 5,5 гигов
36 коннектов, из них половина - малоактивные.

И на этом новом сервере стали проявляться непонятные вещи.
Просто бэкап (gbak) на этом новом железе проходит в 2 раза быстрее чем на старом, и составляет 2 мин 20 сек

Однако, оказалось что когда бэкап запускаешь при работе пользователей - во время этого бэкапа база для остальных аццки тормозит, на более менее объемных но не гигантски запросах.
На старом сервере бэкап во время работы никто не замечал.

Так же выполняется бэкап посредством nbackup, уровня 1. Вот этот процесс вроде никто не замечает. По крайней мере не жалуются на это время.
На старом сервере nbackup не применялся.

Подскажите куда копать?
Могло ли повлиять смена FB на версию чуть повыше и изменение разрядности?
Или увеличение оперативки сместило узкое место с винта на другой ресурс, который хуже делится между разными потребителями?
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650968
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
28.05.2018 11:53, fraks пишет:
> оказалось что когда бэкап запускаешь при работе пользователей - во время этого бэкапа база для остальных аццки тормозит

1.что в конфигах?
2.сколько RAM на железяке?
3.gbak с ключиком -g, или без?
4.покажи хидер базы.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650969
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

ну для начала gbak в любом случае будет влиять на работу пользователей, так как жрёт IO. Если gbak стал работать быстрее, значит и IO он будет успевать скушать больше в единицу времени. Ну и полюсом SS < 3.0 вызывает сериализацию на страничном кеше. В 3.0 это не должно быть так заметно.
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650970
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взял IBSurgeon Response Checker , пока там был простенький запрос (вытаскивание простого справочника) - то разница в отзыве была не сильно принципиальной.
Разница 10мс и 190мс, оно хоть и в 20 раз, но 0,2сек глазом не сильно видно.

Однако когда взял реальный запрос журнала документов, который в обычном виде выполняется за 200мс, то при работе gbak этот запрос выполняется минуту.
Тут разница во времени в 5 раз всего, но минута на обновление журнала документов - это уже совсем неприемлемо.
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650975
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

SS для Firebird < 3.0 плохо предназначен для многопользовательской работы.
Если одно подключение научилось что-то обрабатывать быстрее, то остальные вполне могут замедлится.
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650979
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При работе nbackup время выполнения этого запроса увеличивается существенно меньше,
с 0,2 сек до 1,6 сек.

Время выполнения самого nbackup - от 50 до 70 секунд.
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650983
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисfraks,

SS для Firebird < 3.0 плохо предназначен для многопользовательской работы.
Если одно подключение научилось что-то обрабатывать быстрее, то остальные вполне могут замедлится.

Тройка может быть и лучше, но пока у меня был 2.5.1 на WinXP и более дохлом железе, при всем остальном таком же - этой проблемы не было. Поэтому и хотелось выяснить "что я сделал не так" :)
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650985
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

нбэкап блокирует файл БД и копирует его. Поэтому его влияние не такое, как gbak в суперсервере 2.5.
гбак читает данные из БД, то есть, точно так же конкурирует за ввод-вывод как остальные запросы. А в суперсервере 2.5 ввод-вывод не параллельный.
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650993
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий1.что в конфигах?


Кроме нестандартных портов и указания прав доступа - все по дефолту.
Пока было 4Гб оперативки, это было нормально - не свапило, в то же время свободной практически не было.
Щас тем более не свапит :) Но и не жрет.
Однако с исходным вопросом думаю это не связано.
Пока что вопрос - почему стало ХУЖЕ.

Мимопроходящий2.сколько RAM на железяке?

Написано в первом сообщении.

Мимопроходящий3.gbak с ключиком -g, или без?

С ключиком -g

Мимопроходящий4.покажи хидер базы.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Database header page information:
	Flags			0
	Checksum		12345
	Generation		244573
	Page size		16384
	ODS version		11.2
	Oldest transaction	203199
	Oldest active		203200
	Oldest snapshot		203200
	Next transaction	244330
	Bumped transaction	1
	Sequence number		0
	Next attachment ID	692
	Implementation ID	26
	Shadow count		0
	Page buffers		0
	Next header page	0
	Database dialect	3
	Creation date		May 21, 2018 21:21:44
	Attributes		force write

    Variable header data:
	Database backup GUID:	{A91B5041-F3ED-42AC-A495-B55C32B4D4C8}
	Sweep interval:		0
	*END*
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650994
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvfraks,
нбэкап блокирует файл БД и копирует его. Поэтому его влияние не такое, как gbak в суперсервере 2.5.
гбак читает данные из БД, то есть, точно так же конкурирует за ввод-вывод как остальные запросы. А в суперсервере 2.5 ввод-вывод не параллельный.

Это все понятно, но почему при переезде с 2.5.1 на 2.5.8 и с 32 на 64 ситуация поменялась в худшую сторону?
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650998
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

я же говорю. К сожалению устройство SS в версиях до 3.0 таково, что если одно подключение успевает сделать больше, то это вполне может замедлить работу остальных подключений из-за конкуренции за страничный кеш.

Кстати, а почему для многопользовательской работы выбран именно SS, а не CS/SC? В 3.0 выбор SS вполне оправдан, но почему для 2.5 SS?
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39650999
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksхотелось выяснить "что я сделал не так" :)

Учитывая твой игнор вопроса о "-g", скорее всего - практически всё.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651004
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksОднако когда взял реальный запрос журнала документов, который в обычном виде выполняется
за 200мс, то при работе gbak этот запрос выполняется минуту.

План, статистику запроса и статистику таблиц им используемых смотреть пробовал?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651009
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий1.что в конфигах?

Код: plaintext
1.
2.
3.
4.
# WinXP Firebird-2.5.1-32
DatabaseAccess = None
RemoteServicePort = 3060
CpuAffinityMask = 15
Код: plaintext
1.
2.
3.
4.
5.
# Win7-64 Firebird-2.5.8-64
DatabaseAccess = Restrict D:\DB\
ExternalFileAccess = None
RemoteServicePort = 3060
CpuAffinityMask = 15
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651011
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovfraksхотелось выяснить "что я сделал не так" :)

Учитывая твой игнор вопроса о "-g", скорее всего - практически всё.

А что, вот тут ответ про -g плохо видно?
21445998
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651012
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКстати, а почему для многопользовательской работы выбран именно SS, а не CS/SC? В 3.0 выбор SS вполне оправдан, но почему для 2.5 SS?

Выбор был давно, когда было 2Гб оперативки и 100 пользователей. С тех пор выбор просто не менялся, ибо памяти больше 4Гб стало вот только что.
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651016
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovfraksОднако когда взял реальный запрос журнала документов, который в обычном виде выполняется
за 200мс, то при работе gbak этот запрос выполняется минуту.

План, статистику запроса и статистику таблиц им используемых смотреть пробовал?

Я это смотрю всегда когда запросы пишу.
Если интересно, могу показать :)
Но как это относится к вопросу о смене того что я сменил, никак не меняя вот этого запроса?
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651023
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovfraksОднако когда взял реальный запрос журнала документов, который в обычном виде выполняется
за 200мс, то при работе gbak этот запрос выполняется минуту.

План, статистику запроса и статистику таблиц им используемых смотреть пробовал?


Вот такой запрос
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
-- FrmDocs.QSel
--
-- Журнал складских документов
--

select
  bdok.id                              as id,
  iif (bdok.lck = 1, 'Б', '')          as lck,
  bdok.sf_d                            as sf_d,
  bdok.sf_n                            as sf_n,
  bdok.tn_d                            as tn_d,
  bdok.tn_n                            as tn_n,
  bdok.io                              as io,
  bdok.ndok                            as ndok,
  bdok.data                            as data,
  bdok.type_                           as type_,
  bdok.idpost                          as idpost,
  iif(oper < 10   , '', 'возврат'    ) as ret,
  iif(idpost >= 0 , '', 'перемещение') as mov,
  --
  case bdok.paymode
    when 0 then '               '
    when 1 then 'наличные (ККМ) '
    when 2 then 'терминал (VISA)'
    when 3 then 'безнал         '
    else bdok.paymode
  end                                  as pay_mode,
  --
  post.name || iif((post.gorod = ''), '', ' (' || post.gorod || ')' )
                                       as post_full_name,

  bdok.summ_w_nds                      as summ_w_nds,
  --
  iif( bdok.summ_mode in (1, 2),
    iif( bdok.disc_buh0 is null,  '-', bdok.disc_buh0 || '%'),
    '')                                as disc_buh0,
  --
  iif(bdok.im = 1, 'ИМ', '')           as im,
  bdok.imr_nord                        as imr_nord,
  bdok.msg                             as msg,
  --
  (select count(*) from logprd where (logprd.id_bdok = bdok.id)) as prn_count, -- сколько раз распечатывался документ
  --
  iif (bdok.io in ('t', 'f'), 'S', '') as ROW_FONTSTYLE, -- перечеркнем удаленные доки
  iif(idpost >= 0 , '', 'BLUE'       ) as ROW_COLOR      -- выделим перемещения синим шрифтом

from bdok
  left join spost post on (post.id = bdok.idpost)

where (1 = 1)
  -- по дате будем фильтровать только закрытые документы. А открытые и резервы - целиком,
  -- иначе там набирается куча по жизни незакрытых документов
--  and ((bdok.data  >= dateAdd(0 - :last_days day to current_date))
  and ((bdok.data  >= dateAdd(0 - 60 day to current_date))
       or (bdok.type_   = 1)
       or (bdok.reserve = 1)
      )
  and (bdok.nsklad = -1     )  -- and (bdok.nsklad = :nsklad)
  and (bdok.io     = 'F'    )  -- and (bdok.io     = :io    )
  and (bdok.type_  = 0      )  -- and (bdok.type_  = :type_ )

--  and ((post.idagent  = :idagent) or (:idagent = -1))
--  and ((bdok.reserve  = :reserve) or (:reserve = -1))

order by
  data, idpost, ndok




Вот такая статистика

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Plan
------------------------------------------------
PLAN (LOGPRD INDEX (LOGPRD_ID_BDOK))
PLAN SORT (JOIN (BDOK INDEX (BDOK_FK_NSKLAD, BDOK_PK), POST INDEX (SPOST_PK)))

Query Time
------------------------------------------------
Prepare       : 16,00 ms
Execute       : 218,00 ms
Avg fetch time: 6,81 ms

Memory
------------------------------------------------
Current: 101 390 848
Max    : 155 215 232
Buffers: 2 048

Operations
------------------------------------------------
Read   : 8 153
Writes : 2
Fetches: 0
Marks  : 2


Enchanced Info:
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|          Table Name           |  Records  |  Indexed  | Non-Indexed | Updates | Deletes | Inserts | Backouts |  Purges  | Expunges |
|                               |   Total   |   reads   |    reads    |         |         |         |          |          |          |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|BDOK                           |         0 |     93174 |           0 |       0 |       0 |       0 |        0 |        0 |        0 |
|LOGPRD                         |         0 |       601 |           0 |       0 |       0 |       0 |        0 |        0 |        0 |
|SPOST                          |         0 |      2639 |           0 |       0 |       0 |       0 |        0 |        0 |        0 |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+


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

До переезда на более мощный сервер время выполнения этого запроса в 0,200 сек меня вполне устраивало.
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651028
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

попробуй аккуратно перейти на классик/суперклассик (кеш 1024 страницы).
Ну или вообще задумайся о 3.0 SS, там сразу кеш задирай раз в 20 (50K страниц для начала).
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651029
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
28.05.2018 12:32, fraks пишет:
> CpuAffinityMask = 15

законопать обратно!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651034
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksBuffers: 2 048
Для 64-х разрядного суперсервера? Да ты издеваешься!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651091
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksCpuAffinityMask = 15
для супера 2.5 - совершенно пофиг.
fraksПока что вопрос - почему стало ХУЖЕ.
что хуже-то? Бэкап делается быстрее, но сильнее нагружает других юзеров, значит драйверы диска такие.
Я вообще не понимаю, что тут обсуждать про суперсервер 2.5.
fraksПросто бэкап (gbak) на этом новом железе проходит в 2 раза быстрее чем на старом, и составляет 2 мин 20 сек
быстрее же стало. С другой стороны, на моем компе редакции 2007 года бэкап 2.7 гиг шел 3.5 минуты. Так что сейчас бэкап 5 гиг за 2.20 минут - это фигня какая-то. "Мощный сервер"?
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651115
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

к слову. что за проблема запустить crystaldiskmark ???
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651371
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvfraksПока что вопрос - почему стало ХУЖЕ.
что хуже-то? Бэкап делается быстрее, но сильнее нагружает других юзеров, значит драйверы диска такие.


Скорость выполнения бэкапа меня не парила совершенно, тем более что он на прежнем сервере никому не мешал.
Собственно, друг другу юзера и сейчас не мешают, всех укладывает этот самый бэкап.
Если бы его можно было притормозить :) - то вероятно это решило бы проблему.

А что не так с драйверами дисков? Почему они для XP были нормальные а на Win7 стали плохими?

kdvfraksПросто бэкап (gbak) на этом новом железе проходит в 2 раза быстрее чем на старом, и составляет 2 мин 20 сек
быстрее же стало. С другой стороны, на моем компе редакции 2007 года бэкап 2.7 гиг шел 3.5 минуты. Так что сейчас бэкап 5 гиг за 2.20 минут - это фигня какая-то. "Мощный сервер"?

Сервер - это функция. А так железо - обычный десктоп.
Обычные SATA винты, на 7200.
Был неудачный опыт использования быстрого винта на 10тыщ оборотов, но он сразу по окончани гарантии умер. и унес с собой одну базу. С тех пор у меня и сделан бэкап каждый час. Винты меняются на новые через 3 года, не зависимо от состояния.

На втором сервере, где база на одна а десять, базы лежат на SSD.
...
Рейтинг: 0 / 0
gbak - влияние на работу клиентов
    #39651401
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksЭто все понятно, но почему при переезде с 2.5.1 на 2.5.8 и с 32 на 64 ситуация поменялась в худшую сторону?
Древнеиудейские программисты подобные настойчивые вопросы квалифицировали как глас випиющего в пустыне.))
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / gbak - влияние на работу клиентов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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