Acabamos de obter aprovação para comprar um novo servidor de banco de dados. Meu gerente está preocupado que, depois de implantar o novo servidor, alguns usuários não percebam a melhoria no desempenho. Eu fui encarregado de encontrar alguma maneira de medir a melhoria. Mas primeiro, alguns detalhes sobre a atualização:
O servidor antigo possui dois processadores single-core Intel Xeon 3.40GHz e 4 GB de RAM. Ele está executando o Windows 2000 Server Standard de 32 bits e o SQL Server 2000.
O novo servidor terá dois processadores quad-core Intel Xeon 2.4GHz e 18 GB de RAM. Ele estará executando o Windows 2008 Hyper-V bare-metal. Inicialmente, estaremos virtualizando o Windows Server 2003 Premium (até que possamos atualizar nosso software de ERP para a versão mais recente) e o SQL Server 2000 (ainda não há dinheiro suficiente no orçamento para atualizar o SQL Server).
Nunca tendo feito esse tipo de coisa antes, minha ideia era criar uma consulta SQL que atingisse algumas das tabelas de banco de dados realmente grandes, de modo que a consulta levasse um minuto ou dois para ser executada e medir quanto tempo leva para executar definindo duas variáveis de data / hora, uma antes da consulta grande e outra depois. Em seguida, eu armazenaria esses dois valores de data / hora em uma tabela e agendaria o trabalho para executar uma noite em que a atividade é mínima e equivalente a cada dia. Isso deve fatorar a variabilidade de carga durante o dia.
Ao comparar o tempo decorrido em nossa situação atual e o tempo decorrido após a atualização, isso deve dar uma ideia da economia de tempo, de modo que podemos dizer que a atualização resultou em uma melhoria de x%. O meu plano parece sólido, ou eu dou uma volta errada em Albuquerque ? Há algo que eu deveria estar medindo adicionalmente?