Начало » Использование СУБД » Firebird, HQbird, InterBase » Потеря производительности сервера FB 2.5.9 
	
		
		
			| Потеря производительности сервера FB 2.5.9 [сообщение #170] | 
			Tue, 12 July 2022 09:41   | 
		 
		
			
				
				
				
					
						  
						H.e.l.p
						 Сообщений: 9 Зарегистрирован: July 2022 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		Добрый день! 
 
Сервер FireBird 2.5.9, CS 
размер БД 0.9Т, кол-во одновременно работающих сессий до 200, кол-во транзакций в сутки порядка 2 млн. 
 
текущая конфигурация 
DefaultDbCachePages = 512 
TempBlockSize = 2048576 
TempCacheLimit = 67108864 
LockMemSize = 31457280 
LockHashSlots = 30011 
DatabaseAccess = None 
RemoteServicePort = 3050 
RemoteAuxPort = 3052 
TempDirectories = e:\temp 
FileSystemCacheSize = 50 
 
Появилась проблема потери производительности сервера (операции, которые выполняются в среднем 3-4 минуты начинают выполняться 20-25 минут). После рестарта сервера все работает штатно, однако через некоторый промежуток времени проблема повторяется (15-17 дней) и приходится перегружать сервер опять (уже 2 раза была такая ситуация,  раньше сервер работал месяцами и перегружался разве что для обновления винды). 
 
По памяти показатели в норме. По ПЦ -падает утилизация до 30-50 %, кривая графика утилизации становится пилообразной с резкими провалами и взлетами (в штатном режиме такого не наблюдается) 
 
Подскажите, на что обратить внимание.
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Потеря производительности сервера FB 2.5.9 [сообщение #207 является ответом на сообщение #194] | 
			Tue, 19 July 2022 14:55   | 
		 
		
			
				
				
				
					
						  
						optimiz94
						 Сообщений: 15 Зарегистрирован: July 2022 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		Да, как выше написали, делаем выборку 
select first 10 a.MON$ATTACHMENT_ID, t.MON$TIMESTAMP, a.MON$REMOTE_HOST, a.MON$REMOTE_OS_USER, a.MON$REMOTE_PROCESS, a.MON$REMOTE_PID
from MON$TRANSACTIONS t
join MON$ATTACHMENTS a on a.MON$ATTACHMENT_ID=t.MON$ATTACHMENT_ID
where t.MON$READ_ONLY=0
order by t.MON$TIMESTAMP  
Идём разбираться с зависшими программами (есть столбец с PID, можно на клиентской машине убить процесс через диспетчер задач, если нормально не завершается). 
Затем повторяем запрос, убеждаемся что проблема с долго висяшей транзакцией исчезла.
		
		
		
 |  
	| 
		
	 | 
 
 
 |   
Переход к форуму:
 
 Текущее время: Tue Nov 04 05:10:16 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.01168 секунд 
 |