8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 18:43:02 +01:00

Document possible problem of very high overhead using the profiler. (#7689)

This commit is contained in:
Adriano dos Santos Fernandes 2023-08-11 06:13:48 -03:00 committed by GitHub
parent f7987ad071
commit 47e621b115
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -22,6 +22,28 @@ A new session may be started when a session is already active. In that case, it
To analyze the collected data, the user must flush the data to the snapshot tables, which can be done by finishing or pausing a session (with `FLUSH` parameter set to `TRUE`), or calling `RDB$PROFILER.FLUSH`. Data is flushed using an autonomous transaction (a transaction started and finished for the specific purpose of profiler data update). To analyze the collected data, the user must flush the data to the snapshot tables, which can be done by finishing or pausing a session (with `FLUSH` parameter set to `TRUE`), or calling `RDB$PROFILER.FLUSH`. Data is flushed using an autonomous transaction (a transaction started and finished for the specific purpose of profiler data update).
## Important
When the profiler is active, there is an overhead that makes everything slower.
This overhead varies depending on OS, kernel version and CPU hardware and it's difficult to predict.
But sometimes this overhead may be very high, say, greater than 100%.
If this happens in Linux, you may see what clock source it's using with this command:
```
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
```
If result is different than `tsc`, that may be the cause of this problem.
You can see [here](https://access.redhat.com/solutions/18627) how to change clocksource, but you must understand
it may have others consequences.
Another possible source of slowdown in Linux is [this bug](https://bugzilla.kernel.org/show_bug.cgi?id=198961).
## Example usage
Below is a sample profile session and queries for data analysis. Below is a sample profile session and queries for data analysis.
``` ```