Use algo como link para marcar todos os arquivos usados pelo sistema de banco de dados como FADV_DONTNEED?
Estou executando algum benchmark usando um DBMS e máquinas virtuais. E estou usando este comando
free && sync && echo 3 > /proc/sys/vm/drop_caches && free
em cada convidado, e em cada host, antes de executar uma consulta, para minimizar o efeito do cache / buffer no meu tempo de execução. Se os dados estiverem em cache / buffer, o tempo de execução de uma consulta pode variar dependendo de qual consulta foi executada antes, porque uma parte do arquivo usado para responder à consulta pode estar na memória.
Eu vi este post: Como você esvazia os buffers e cache em um sistema Linux?
Mas, para mim, é um pouco complicado executar caches de sincronização / descarte após cada consulta. Eu preciso pedir para cada VM e para cada servidor físico para sincronizar / deixar caches. Eu poderia escrever um script e usar o SSH para fazer isso, mas gostaria de saber se existe uma maneira de impedir que o sistema operacional armazene em buffer / armazene os arquivos em cache porque seria mais fácil para mim.
Estou usando o Ubuntu 12.04 em todas as VMs (usando KVM) e servidores.
Use algo como link para marcar todos os arquivos usados pelo sistema de banco de dados como FADV_DONTNEED?
Tags virtualization linux buffer