Барабашка на сервере!
Добавлено: 17 мар 2008, 09:41
В общем обстановка:
4 ядра (2х2) Xeon, 2 Gb RAM, 4х36 Gb SCSI 320 RAID (stripe - о ужас!!! Почему не спрашивайте - сам бы так однозначно не сделал....
).
Операционная - 2003 сервер (не R2). На машине крутится еще 1с с ее SQL базой, терминал сервер и принт сервер. Антивируса нет (еще один ужас:))
Firebird 1.5.3.4870 Superserver, использует одно ядро, все остальное под любимую 1с.
Сервер работает круглосуточно, но у него как положено дохлый ЮПС
, а на выходные там часто вырубают электричество.
База:
В общем скромная, размер 600 Мб. Количество транзакций - около 7000 в день. Дневной разрыв между oldest и всеми остальными небольшой. Сборка мусора отключена (сделана попытка обойти барабашку), ночью делается принудительный свип. Бекап/рестор делается раз в две недели. Размера страницы 4096 байт. Ошибок нет (наверное
) - gfix ничего не показывет.
Проблема (барабашка):
1. Есть таблица которая часто апдейтится (например текущие остатки по товару, по экспедитору). Периодически возникает проблема, мною лично наблюдаемая - с одного компьютера видны одни остатки, с другого - другие. У одного и того же экспедитора. Запрос делался через IBExpert на клиентских машинах (select * from current_stocks where van_code = 123456). На обоих разный набор данных. Если на сервере перезапустить Firebird, то они начинаю видеть третий набор данных отличный от предыдущих двух
- проверено экспортом конечных данных в Excell. Разумеется говорить о коррекной работе программы в данном случае не приходится - данные потеряны. Причем которые из трех наборов данных правильный тоже непонятно.
2. Есть таблица с ценами по категориям. Пишется через связку грид-датасет в единственном месте - в справочнике. Писано на IBExpress. Периодически цены меняются оператором, но с таким же упорством они возвращаются на место (не оператором конечно, проверено по логам)
, изменяются только те цены которые меняли и ровно на старое значение, причем происходит это раз в 3-4 дня. После редактирования таблицы в программе делается Commit (транзакция закрывается). Вопрос - как такое может произойти?
4 ядра (2х2) Xeon, 2 Gb RAM, 4х36 Gb SCSI 320 RAID (stripe - о ужас!!! Почему не спрашивайте - сам бы так однозначно не сделал....

Операционная - 2003 сервер (не R2). На машине крутится еще 1с с ее SQL базой, терминал сервер и принт сервер. Антивируса нет (еще один ужас:))
Firebird 1.5.3.4870 Superserver, использует одно ядро, все остальное под любимую 1с.
Сервер работает круглосуточно, но у него как положено дохлый ЮПС

База:
В общем скромная, размер 600 Мб. Количество транзакций - около 7000 в день. Дневной разрыв между oldest и всеми остальными небольшой. Сборка мусора отключена (сделана попытка обойти барабашку), ночью делается принудительный свип. Бекап/рестор делается раз в две недели. Размера страницы 4096 байт. Ошибок нет (наверное

Проблема (барабашка):
1. Есть таблица которая часто апдейтится (например текущие остатки по товару, по экспедитору). Периодически возникает проблема, мною лично наблюдаемая - с одного компьютера видны одни остатки, с другого - другие. У одного и того же экспедитора. Запрос делался через IBExpert на клиентских машинах (select * from current_stocks where van_code = 123456). На обоих разный набор данных. Если на сервере перезапустить Firebird, то они начинаю видеть третий набор данных отличный от предыдущих двух

2. Есть таблица с ценами по категориям. Пишется через связку грид-датасет в единственном месте - в справочнике. Писано на IBExpress. Периодически цены меняются оператором, но с таким же упорством они возвращаются на место (не оператором конечно, проверено по логам)
