1. I installed gVisor according to the instructions in the official gVisor documentation (Install latest release)
2. I use the Docker command to create and start the gVisor container (sudo docker run –it –runtime=runsc sysbench (image ID))
3. I installed mysql (5.7.34-0ubuntu0.18.04.1) and sysbench (1.0.11) in a container, and used sysbench to test the database read and write performance.
4. I found that if the -overlay option is added to the runtime part of the runsc of /etc/docker/daemon.json, the error message mentioned above will not appear. But if I use the "--file-access=shared" option, or use the default file system configuration, an error message will appear.
5. In the file system performance test section of the gVisor official document (performance guide), there is a paragraph: The high overhead comes principally from the VFS implementation that needs improvement, with several internal serialization points (since all requests are reading the same file ). Note that some of some of network stack performance issues also impact this benchmark. Can you explain this passage in detail so that I can understand the reasons more deeply.
6, oltp_common.lua and oltp_read_write.lua (using the test script will also produce the same error prompt) are the scripts used in the sysbench test. Config.json is the configuration file generated by gVisor.