The first point is that an average would have to be calculated so that
the results have a real meaning because they fluctuate "a lot" from a
test to another with the same arguments. Sometimes it is faster on the
virtio disk, sometimes it is not.
What could be a convincing way to benchmark it ? Tim Bisson ran dd
parallel threads, is it the only way to ?

But the main point is that the VM often crashes during the test and I
have to reboot (I can't connect anymore via SSH).
It sometimes crashes during a dd test.
It always crashes during bonnie++ tests. The first test performed by
this tool is to write repetitively in a file with the standard stdio
macro putc().

I run the command :
bonnie++ -u root -d /root/my-mount-point/ -r 1024
where -r specifies the size of RAM

The test is lauched at 22:21:38. This is what appears in /var/log/messages :

This error message appears in virtio-blk.c, in the virtio_blk_execute
function, at ligne 235.
virtio_enqueue_reserve return a bad value ( <>0 ) at ligne 535 of
virtio.c if (qe==NULL), that is to say, that there is no free place
anymore in the virtqueue.

I'll look at it more precisely later during the week-end, but if you
have some ideas about it...