Closed lyf-g closed 8 months ago
i rebuild mysql and after executing ./tracer anage,i got followering error: Error reading BOLT data input file: line 2, column 17: malformed field PERF2BOLT-ERROR: failed to match build-id from perf output. This indicates the input binary supplied for data aggregation is not the same recorded by perf when collecting profiling data, or there were no samples recorded for the binary. Use -ignore-build-id option to override. Could you please help me find out the reason? Hope to get your help.
i rebuild mysql and after executing ./tracer anage,i got followering error: Error reading BOLT data input file: line 2, column 17: malformed field PERF2BOLT-ERROR: failed to match build-id from perf output. This indicates the input binary supplied for data aggregation is not the same recorded by perf when collecting profiling data, or there were no samples recorded for the binary. Use -ignore-build-id option to override. Could you please help me find out the reason? Hope to get your help.
i add the flag "-ignore-build-id",but performance still hasn't improved.
PERF2BOLT-ERROR: failed to match build-id from perf output. This indicates the input binary supplied for data aggregation is not the same recorded by perf when collecting profiling data, or there were no samples recorded for the binary. Use -ignore-build-id option to override.
This error message should not be there if you didn't turn on the continuous optimization mode. Please check if your perf.data in your tmp_data_dir is stale. I suspect you use the stale perf.data with your newly generated mysqld.
Also, in your tmp_data_dir, there should be a mysqld.bolt
binary.
(1) Copy that mysqld.bolt
to /usr/local/mysql/bin/
(or your mysql root dir)
(2) run mysqld.bolt
with /usr/local/mysql/bin/mysqld.bolt --user=ocolos --port=3306 --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=ocolos.err --pid-file=ocolos.pid
(3) after mysqld.bolt is successfully setup, in another terminal, run sysbench's read only workload first using this command and then using this command
If the performance of the BOLTed binary is not better than the original one, it means BOLT cannot improve the performance of mysqld on your machine.
PERF2BOLT-ERROR: failed to match build-id from perf output. This indicates the input binary supplied for data aggregation is not the same recorded by perf when collecting profiling data, or there were no samples recorded for the binary. Use -ignore-build-id option to override.
This error message should not be there if you didn't turn on the continuous optimization mode. Please check if your perf.data in your tmp_data_dir is stale. I suspect you use the stale perf.data with your newly generated mysqld.
Also, in your tmp_data_dir, there should be a
mysqld.bolt
binary. (1) Copy thatmysqld.bolt
to/usr/local/mysql/bin/
(or your mysql root dir) (2) runmysqld.bolt
with/usr/local/mysql/bin/mysqld.bolt --user=ocolos --port=3306 --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=ocolos.err --pid-file=ocolos.pid
(3) after mysqld.bolt is successfully setup, in another terminal, run sysbench's read only workload first using this command and then using this commandIf the performance of the BOLTed binary is not better than the original one, it means BOLT cannot improve the performance of mysqld on your machine.
Thank you very much! When I extend the duration of sysbench, there will be a boost at around 230s. Maybe it wasn't long enough.
After running the program and comparing it, I found that the performance has hardly improved. Could you please help me find out the reason? When I looked at the data from the runtime console, I noticed several suspicious things: