Bug #111102 | Performance issue in simulated AIO in sysbench oltp_insert auto_inc mode | ||
---|---|---|---|
Submitted: | 22 May 9:40 | Modified: | 22 May 19:32 |
Reporter: | chen zongzhi (OCA) | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S5 (Performance) |
Version: | 8.0.* | OS: | CentOS |
Assigned to: | CPU Architecture: | x86 | |
Tags: | aio |
[22 May 9:40]
chen zongzhi
[22 May 12:28]
MySQL Verification Team
Hi Mr. zongzhi, Thank you very much for your bug report. However, we need one clarification. When you talk about differences in the performances, you mention the differences of 7w+ and 11w+. Can you explain what do you mean by that. Also, when you advise against usage of the simulated AIO, what shall we do on the systems who do not have native AIO, or when their native AIO is slower then the simulated one ???? How do you propose that we fix this, so that every operating system that we support and every version of those operating systems perform better. Please, do note, that we can change that variable so that some users get better performance and some other get worse performance. That is a basic reason why we have that option, so that users can tune MySQL for their environment. We do not think that a change in that setting is acceptable at all !!!! Last , but not least, we can not repeat your test case, since you are using tools that are not our tools. The only exception to this is `sysbench`, which we use regularly for testing. Can't repeat.
[22 May 13:12]
chen zongzhi
Hello 7w+ and 11w+ means that the qps is approximately 70000, and 11w means that the qps is approximately 110000. And I don't advise against usage of the simulated AIO. Actually, in our environment, we use simulated AIO instead of native since we deploy multi instance in on machine. In order to avoid the IO contend in libaio, we use simulated AIO. I just told you guys that there is bottleneck in simulated AIO, I suggest you guys to fix it. the tool I use is sysbench and pstack, after pstack I use pt-pmp to aggregate the pstack information. pt-pmp is develop by percona team. https://docs.percona.com/percona-toolkit/pt-pmp.html can you reproduce the result again use my sysbench command by switch the innodb_use_native_aio option.
[22 May 15:41]
MySQL Verification Team
Hi Mr. zongzhi, We do use both sysbench and pstack, but we do not use other tools that you are mentioning. Hence, we need a test case without other third-party tools. Next, you are reporting a performance problem on an unknown operating system and unknown release of MySQL, we can not repeat it. On the OS that we are using difference is very, very small ..... Next, we do not see any profiling info, so your report does not help at all. Last , but not least, version 8.0 is entering the maintenance mode, so it will not receive any performance improvement. Those will all go to 8.1, which is not out yet ....
[22 May 19:32]
chen zongzhi
The simulated AIO pstack information.
Attachment: simulated_pstack.txt (text/plain), 390.70 KiB.
[22 May 19:32]
chen zongzhi
I have update de CPU Architecture and the OS.. I don't use the third-party tool, I only use sysbench. And use pstack to get the profiling information. And another tool I use is a tool called "pt-pmp" to aggregate the pstack information, if you don't use if before you can ignore the information. I have attach the simulated AIO pstack information.
[23 May 12:01]
MySQL Verification Team
Hi, We already wrote that, in our environment, performances are much closer. Also, if we analyse the stacks in each of the threads, it is easy to conclude that most of the threads are in the operations that do require either waiting on condition or on the I/O. Hence, a patch from you would be much more beneficial then the sysbench results, since (as we wrote) on our system those to options differ by 2 - 5 %. We hope that you are capable of providing the patch that would enhance performance on your setup and that would not decrease performance on the systems where simulated AIO is faster then the native one. We shall patiently wait for your input.