Este é um tópico muito importante, mas posso oferecer algumas dicas para ajudar você a começar. Em geral, acho que é seguro dizer que você precisará coletar informações mais precisas antes de decidir como atacar melhor seu problema. No final, provavelmente será um problema de memória ou de disco.
(Eu ignorarei a possibilidade de examinar as consultas que estão sendo executadas lentamente e tentar descobrir se há maneiras de melhorá-las. Este é um tópico enorme , mas usar o analisador de consulta pode ajudá-lo a determinar se você está faltando um índice ou de uma consulta deve ser completamente reescrito.)
Gostaria de começar usando a Ferramenta administrativa de desempenho para analisar algumas métricas principais. Os contadores de desempenho do SQL Server são um bom local para procurar. As estatísticas fila de disco também podem ser muito reveladoras. Os aplicativos (ou seja, o SQL Server) estão aguardando a E / S do disco para executar operações? Nesse caso, você sabe que precisará atualizar os discos (ou corrigir as consultas, possivelmente). A @Hutch está certa de que o RAID 10 oferecerá melhor desempenho do que o RAID 5 para um servidor de banco de dados, mas na verdade isso só vai entrar em jogo se você estiver esperando por gravações. 4 unidades de 15k RPM em um RAID 5 devem ser capazes de lidar com uma carga razoavelmente razoável com uma placa RAID decente (obviamente, o que é razoável e / ou decente é relativo).
Eu também gostaria de verificar a memória . O servidor está executando o SQL Server 2000, então vou assumir que é um sistema operacional de servidor de 32 bits. O SQL Server realmente é capaz de usar toda essa memória? Em um sistema de 32 bits, você precisará usar PAE para usar todos os 6 GB e, mesmo assim, acredito que o próprio processo do SQL Server só poderá aumentar para 4 GB. Você pode usar um programa como o explorador de processos sysinternals para ver quanta memória está realmente sendo usada. Você pode até ver a quantidade de memória que o SQL Server "quer" - confira os contadores do SQL Server: Gerenciador de memória (se eles estiverem disponíveis em 2000, não consigo me lembrar do topo da minha cabeça).
Você também menciona que o servidor está executando o IIS. Se você estiver executando o MS SQL Server em um servidor que também esteja executando outros serviços altamente carregados, convém examinar manualmente a quantidade de memória que deve ser usada. Por padrão, o SQL Server assume o seu em um servidor dedicado e tenta alocar dinamicamente a maior quantidade de memória possível; dependendo das necessidades de seus processos do IIS, isso pode não ser uma coisa boa. Em servidores que executam vários aplicativos, geralmente, gosto de configurar o SQL Server para usar exatamente uma certa quantidade de RAM, definindo o mínimo e o máximo para o mesmo valor (por exemplo, 4 GB, 10 GB, qualquer).
Por fim, você pode considerar a atualização do SQL Server. O SQL Server 2005 introduziu alguns aprimoramentos de grande velocidade em determinadas áreas que podem beneficiar você, dependendo da sua configuração. Sem mencionar o fato de que você pode obter uma versão de 64 bits do SQL Server 2005/2008 e executá-la em um sistema operacional de 64 bits para dar ainda mais memória, e a memória é de longe uma das coisas mais importantes para um SQL servidor.