Начало » Использование СУБД » Firebird, HQbird, InterBase » Hyper-V + Ubuntu + Firebird
Hyper-V + Ubuntu + Firebird [сообщение #6052] |
Tue, 29 April 2025 14:00  |
sg729
Сообщений: 83 Зарегистрирован: 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
Сообщений: 185 Зарегистрирован: 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
Сообщений: 83 Зарегистрирован: 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
Сообщений: 185 Зарегистрирован: 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
Сообщений: 83 Зарегистрирован: 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
Сообщений: 185 Зарегистрирован: 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
Сообщений: 83 Зарегистрирован: 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] Известить модератора
|
|
|
|
|
Переход к форуму:
Текущее время: Thu May 22 12:29:22 GMT+3 2025
Общее время, затраченное на создание страницы: 0.01248 секунд
|