Начало » Использование СУБД » Firebird, HQbird, InterBase » Hyper-V + Ubuntu + Firebird 
	
		
		
			| Hyper-V + Ubuntu + Firebird [сообщение #6052] | 
			Tue, 29 April 2025 14:00   | 
		 
		
			
				
				
				
					
						  
						sg729
						 Сообщений: 86 Зарегистрирован: June 2022 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		Дано: 
Виртуалка Hyper-V : 8 Cores, 8 Gb RAM 
Ubuntu Server 24.04.2 LTS 
LI-V3.0.12.33787 Firebird 3.0 SuperServer 
firebird.conf и databases.conf созданы калькулятором 
На сервере 22 базы разного размера: максимум - 3 Гб , минимум 100 Мб 
Клиенты в разных сетях, связанных между собой по VPN. 
Одновременных подключений 2-3 на каждую базу. В сумме на сервер не более 50-60. 
Основная рабочая нагрузка с 8:00 до 20:00 
 
Цитата:root@ubtest:/opt/firebird# cat /proc/$(pgrep firebird)/limits 
Limit                     Soft Limit           Hard Limit           Units 
Max open files            524288               524288               files 
Цитата:root@ubtest:/opt/firebird# cat /proc/sys/vm/max_map_count 
262144 
Итог: 
Работает... 
НО: 
почти каждый день как правило в первой половине дня такая картина продолжительностью примерно 20 минут, и разумеется на клиентах тормоза: 
  
  
 
в остальное время CPU Load averages на уровне 0,2-0,3 и скорость вполне приемлемая 
  
  
 
Смотрел логи: 
firebird.log - 
ничего подозрительного кроме "INET/inet_error: read errno = 104" с одного клиента (понятно по какой причине, там канал слабый и глючный) 
kernel.log -  
2025-04-29T07:44:56.093002+03:00 ubtest kernel: workqueue: ata_sff_pio_task hogged CPU for >10000us 32 times, consider switching to WQ_UNBOUND 
syslog -  
ничего подозрительного, те же сервисы, что есть в логе с 10:20 до 10:40, стартуют и финишируют и в другое время, когда нагрузка мизерная 
 
Собственно вопрос: 
Что бы еще посмотреть, чтобы понять причину сего 20-минутного безобразия? 
Возможные гипотезы: 
- Мои ошибки в настройке Firebird - если так, плиззз, ткните меня носом в то, что еще раз нужно проверить? 
- Сама идея такой связки (Hyper-V + Ubuntu + Firebird) бредовая и не стоит тратить на нее время 
- Мало ресурсов? Добавить Cores, RAM? 
- Стартует какое-то обновление пакетов или чего-то еще?  
Смотрел задачи Cron ничего криминального не заметил. 
В настройках Webmin Software Package Updates выбрана опция Just notify for any updates  
Перенастроил apt-daily.timer и apt-daily-upgrade.timer на ночное время (по инструкции здесь https://tokmakov.msk.ru/blog/item/743) 
И все равно иногда замечаю, что прилетают какие-то обновы и несмотря ни на что самостоятельно обновляются.
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Hyper-V + Ubuntu + Firebird [сообщение #6058 является ответом на сообщение #6056] | 
			Wed, 30 April 2025 10:37    | 
		 
		
			
				
				
				
					
						  
						basid
						 Сообщений: 195 Зарегистрирован: June 2022  Географическое положение: Asia/Irkutsk
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		1. Не надо включать отображение потоков исполнения (threads) top-ом. Вы всё равно не знаете, чем именно занят каждый поток; 
2. Было бы неплохо видеть не вот эту вот "типа подробную" фигню, а текстовый вывод второй-третьей итерации top -ibn2 или -ibn3, подрезанный до значимой части. Пример:top - 09:58:24 up 135 days, 18:53,  2 users,  load average: 10,43, 9,39, 9,29
Tasks: 500 total,   1 running, 499 sleeping,   0 stopped,   0 zombie
%Cpu(s): 20,8 us,  2,6 sy,  0,0 ni, 75,4 id,  0,6 wa,  0,4 hi,  0,2 si,  0,0 st
GiB Mem :    251,3 total,      2,4 free,    179,9 used,     69,0 buff/cache
GiB Swap:     68,0 total,     67,6 free,      0,4 used.     69,1 avail Mem
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 710587 firebird  20   0  190,9g 177,5g 328,0m S 819,2  70,6   5689:34 firebird  3. Краткую сводку о системе собирает, например, такая последовательность команд:export LC_MESSAGES=en_US.UTF-8;\
grep PRETTY_NAME /etc/os-release|cut -d\" -f2;\
lscpu|grep -v "^\(F\|Vu\)";\
free -h;\
lsblk  Локаль en-US.UTF-8 должна быть вне зависимости от принятого у вас языка системы. 
Вывод полезно отредактировать, убрав ненужное. Пример:Имя-версия линукса
Architecture:                    x86_64
CPU(s):                          40
Model name:                      Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz
Thread(s) per core:              2
Core(s) per socket:              10
Socket(s):                       2
CPU max MHz:                     3000,0000
CPU min MHz:                     800,0000
Virtualization:                  VT-x
              total        used        free      shared  buff/cache   available
Mem:          251Gi       182Gi       2,0Gi       304Mi        67Gi        66Gi
Swap:          67Gi       366Mi        67Gi
NAME              MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sdb                 8:16   0 893,8G  0 disk
├─sdb1              8:17   0     1G  0 part /boot
└─sdb2              8:18   0 892,7G  0 part
  ├─том1          253:0    0    70G  0 lvm  /
  ├─том2          253:1    0     4G  0 lvm  [SWAP]
  └─том3          253:2    0 818,7G  0 lvm  /home
sdc                 8:32   0    14T  0 disk
└─sdc1              8:33   0    14T  0 part /каталог  4. Немало полезной информации даёт интервальная статистика iostat (второй и последующие блоки вывода). Пример (отредактирован, оставлена значимая часть):iostat -xmh 60 2 sdb sdc
Linux ядро-версия (хост)   30.04.2025   _x86_64_  (40 CPU)
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          19,5%    0,0%    2,6%    0,4%    0,0%   77,5%
 Device    rB/s  r_await    wB/s  w_await   %util
    sdb    0,9k     0,00  132,8k     0,30    0,1%
    sdc  207,4M     4,88    8,0M     0,22   46,3%  5. Use sql-trace, Luck:fbtracemgr -se localhost:service_mgr -c конфиг -sta|gzip -1q > вывод.gz &  Заряжаем трассировку всех запросов в интересующий нас интервал времени, останавливаем, анализируем собранное. 
6. Вместо скриншотов полезно прикладывать архив, содержащий firebird.conf, databases.conf и, возможно, файл с выводом gstat -h по всем базам. conf-файлы полезно отфильтровать через grep -v ^# conf-файл|grep -v ^$. Вывод gstat тоже можно подрезать. 
 
P.S. 
Не всегда, но и не так, чтобы редко, чтение исходных данных может дать ответ на интересующий вопрос. 
 
P.P.S. 
Могу необоснованно предположить, что у вашей виртуалки конские ожидания на iowait. Что, скорее всего, означает дохлые диски. Например, крутые серверные, но read-intensive.
		
		
		[Обновления: Wed, 30 April 2025 10:40] Известить модератора  
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Hyper-V + Ubuntu + Firebird [сообщение #6066 является ответом на сообщение #6064] | 
			Fri, 02 May 2025 21:00    | 
		 
		
			
				
				
				
					
						  
						sg729
						 Сообщений: 86 Зарегистрирован: June 2022 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		basid писал(а) Fri, 02 May 2025 09:12--  
P.S. 
Сделаю, пожалуй, перерыв на праздники   
Приятного отдыха! -) 
 
Ну, а у меня никаких праздников... 
То ли 29.04 то ли 30.04 в убунту прилетело обновление grub, которое я легкомысленно применил. После этого виртуалка работала, но виртуалку и убунту я не перезагружал. 
01.05 остановили в Hyper-V виртуалку, чтобы добавить ядер до 12. Запускаем виртуалку, а убунта не стартует. В менеджере виртуальных машин окно убунты - просто черный фон и ничего. 
Восстанавливаем виртуалку из бэкапа от 30.04 - та же картина, не стартует. Т.е. виртуалка запущена, но убунта не стартует. 
Восстанавливаем виртуалку из бэкапа от 27.04 - убунта стартует успешно и работает без проблем. 
Снова прилетели те же обновления grub в webmin и что с ними делать теперь не знаю - то ли ставить, то ли нет? 
Что же теперь, делать тестовую виртуалку с убунтой и сначала применять ВСЕ прилетающие обновы в ней, прежде чем делать это в боевой машине? 
		
		
		[Обновления: Fri, 02 May 2025 21:03] Известить модератора  
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Hyper-V + Ubuntu + Firebird [сообщение #6078 является ответом на сообщение #6058] | 
			Tue, 13 May 2025 15:03    | 
		 
		
			
				
				
				
					
						  
						basid
						 Сообщений: 195 Зарегистрирован: June 2022  Географическое положение: Asia/Irkutsk
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		basid писал(а) Wed, 30 April 2025 15:37Могу необоснованно предположить, что у вашей виртуалки конские ожидания на iowait. Что, скорее всего, означает дохлые диски. Например, крутые серверные, но read-intensive. ЧиТД (интервальный отсчёт):avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,7%    0,0%    0,5%    8,0%    0,0%   90,9%
     r/s     rMB/s   rrqm/s  %rrqm r_await rareq-sz Device
    1,90     17,6k     0,00   0,0%  156,63     9,3k sda
     w/s     wMB/s   wrqm/s  %wrqm w_await wareq-sz Device
   68,30    533,6k     3,00   4,2%   17,22     7,8k sda
     d/s     dMB/s   drqm/s  %drqm d_await dareq-sz Device
    0,00      0,0k     0,00   0,0%    0,00     0,0k sda
     f/s f_await  aqu-sz  %util Device
   25,10    5,67    1,62  43,7% sda  Конская утилизации при конских же временах отклика и сопельной нагрузке. 
Где-то явно имеется флэшка или не самый выдающийся HDD. И, сюдя по f_await - вообще нет кэша отложенной записи.
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Hyper-V + Ubuntu + Firebird [сообщение #6082 является ответом на сообщение #6081] | 
			Wed, 14 May 2025 08:55    | 
		 
		
			
				
				
				
					
						  
						sg729
						 Сообщений: 86 Зарегистрирован: June 2022 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		basid 
Спасибо за помощь! 
 
вот это место в логе я вообще понять не могу - как такое может быть w_await = 6127,21 : 
 
13.05.2025 10:45:27
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,1%    0,0%    0,0%   52,2%    0,0%   47,7%
     r/s     rMB/s   rrqm/s  %rrqm r_await rareq-sz Device
    0,00      0,0k     0,00   0,0%    0,00     0,0k sda
     w/s     wMB/s   wrqm/s  %wrqm w_await wareq-sz Device
   10,10     92,4k     3,20  24,1% 6127,21     9,1k sda
     d/s     dMB/s   drqm/s  %drqm d_await dareq-sz Device
    0,00      0,0k     0,00   0,0%    0,00     0,0k sda
     f/s f_await  aqu-sz  %util Device
    0,60    3,83   61,89  97,9% sda  
А что дает основание считать, что нагрузка была "сопельная"? Значение wMB/s ?
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	
		
		
			| Re: Hyper-V + Ubuntu + Firebird [сообщение #6083 является ответом на сообщение #6082] | 
			Wed, 14 May 2025 11:28    | 
		 
		
			
				
				
				
					
						  
						basid
						 Сообщений: 195 Зарегистрирован: June 2022  Географическое положение: Asia/Irkutsk
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		Взял на себя смелость переформатировать вывод:avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,1%    0,0%    0,0%   52,2%    0,0%   47,7%
 Device    rB/s  r_await    wB/s  w_await  f_await  %util
    sda    0,0k     0,00   92,4k  6127,21     3,83  97,9%  Из сочетания скоростей чтения/записи, времён отклика и процента утилизации лично я могу сделать ровно один вывод: диск чем-то очень занят. 
Поскольку это виртуалка, которая (вроде как) ничем не занята, то смотреть надо нагрузку и настройки гипервизора, характеристики и настройки его дисков.
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Hyper-V + Ubuntu + Firebird [сообщение #6087 является ответом на сообщение #6086] | 
			Wed, 14 May 2025 21:52    | 
		 
		
			
				
				
				
					
						  
						sg729
						 Сообщений: 86 Зарегистрирован: June 2022 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		basid писал(а) Wed, 14 May 2025 15:13Я бы не доверял слепо рекомендациям 2012-го года. 
Соглашусь. 
Почему-то именно применительно к Linux авторы статей очень редко уточняют для какой конкретно версии/сборки/дистрибутива актуальны их рекомендации. Это что, такой "стиль" изложения вообще принят в linux-комьюнити??? Меня это, мягко говоря, сильно удивляет, если не сказать больше. Ведь если тупо применять такие советы, можно наломать немало дров. 
 
 http://www.linux-magazine.com/w3/issue/78/Write_Barriers.pdf через VPN тоже не открывается.
		
		
		[Обновления: Wed, 14 May 2025 21:54] Известить модератора  
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Hyper-V + Ubuntu + Firebird [сообщение #6140 является ответом на сообщение #6089] | 
			Thu, 10 July 2025 09:03   | 
		 
		
			
				
				
				
					
						  
						sg729
						 Сообщений: 86 Зарегистрирован: June 2022 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		Перенес все на отдельный сервер. Без всяких виртуалок, убунта прямо на железо. 
Работает гораздо быстрее и стабильнее (несмотря на более слабое железо) - бэкапы создаются в 3 (три) раза быстрее, чем под виртуалкой Hyper-V. 
		
		
		
 |  
	| 
		
	 | 
 
 
 |   
Переход к форуму:
 
 Текущее время: Tue Nov 04 13:25:58 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.01401 секунд 
 |