SQLRU.net
Разработка приложений баз данных

Сегодняшние сообщения (вкл)  | Сообщения без ответа (откл)

Форум: Firebird, HQbird, InterBase
 Тема: Hyper-V + Ubuntu + Firebird
Re: Hyper-V + Ubuntu + Firebird [сообщение #6057 является ответом на сообщение #6056] Wed, 30 April 2025 09:57
sg729 в настоящее время не в онлайне  sg729
Сообщений: 72
Зарегистрирован: June 2022
Member
Спасибо!

Пробую на тестовой базе :

firebird.conf
AuditTraceConfigFile = fbtrace.conf

fbtrace.conf
database = 127.0.0.1:D:\FDB\TEST.FDB
{
enabled = true
log_filename = D:\fbtrace.log
max_log_size = 1
log_statement_finish   true
log_procedure_finish   true
log_trigger_finish     true
print_plan             true
print_perf             true
time_threshold         0
}

C:\Program Files\Firebird\Firebird_3_0>fbsvcmgr service_mgr action_trace_start trc_name "My trace" trc_cfg fbtrace.conf
Trace session ID 2 started

C:\Program Files\Firebird\Firebird_3_0>fbsvcmgr service_mgr action_trace_list
Session ID: 2
 name:  My trace
 user:  USER
 date:  2025-04-30 09:31:38
 flags: active, trace

Делаю запросы из базы TEST.FDB, но файл D:\fbtrace.log не создается...
Службу firebird перезапускал.
Наверное я что-то неправильно делаю?
Re: Hyper-V + Ubuntu + Firebird [сообщение #6058 является ответом на сообщение #6056] Wed, 30 April 2025 10:37
basid в настоящее время не в онлайне  basid
Сообщений: 177
Зарегистрирован: 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 [сообщение #6059 является ответом на сообщение #6057] Wed, 30 April 2025 15:14
SD в настоящее время не в онлайне  SD
Сообщений: 437
Зарегистрирован: August 2022
Senior Member
sg729 писал(а) Wed, 30 April 2025 08:57

Наверное я что-то неправильно делаю?
Да. Задаёшь невозможное имя базы данных в конфиге.



Текущее время: Thu May 01 01:31:45 GMT+3 2025

Общее время, затраченное на создание страницы: 0.00804 секунд